41class Gr_Complex_Ip_Packet_Source :
virtual public gr::sync_block
44 using sptr = gnss_shared_ptr<Gr_Complex_Ip_Packet_Source>;
45 static sptr make(std::string src_device,
46 const std::string &origin_address,
49 int n_baseband_channels,
50 const std::string &wire_sample_type,
53 Gr_Complex_Ip_Packet_Source(std::string src_device,
54 const std::string &origin_address,
57 int n_baseband_channels,
58 const std::string &wire_sample_type,
61 ~Gr_Complex_Ip_Packet_Source();
70 int work(
int noutput_items,
71 gr_vector_const_void_star &input_items,
72 gr_vector_void_star &output_items);
75 void demux_samples(
const gr_vector_void_star &output_items,
int num_samples_readed);
76 void my_pcap_loop_thread(pcap_t *pcap_handle);
77 void pcap_callback(u_char *args,
const struct pcap_pkthdr *pkthdr,
const u_char *packet);
78 static void static_pcap_callback(u_char *args,
const struct pcap_pkthdr *pkthdr,
const u_char *packet);
85 boost::thread *d_pcap_thread;
87 struct sockaddr_in si_me{};
88 std::string d_src_device;
89 std::string d_origin_address;
97 int d_n_baseband_channels;
98 int d_wire_sample_type;
99 float d_bytes_per_sample;