pulsarNetworkProcess

class pulsarNetworkProcess : public kotekan::Stage

pulsarNetworkProcess Network transmission stage for Pulsar obs

This is an Kotekan stage that collects packetized data from the pulsarPostProcess and transmits 10 beams from pulsarPostProcess to 10 links of pulsar backend. pulsarNetworkProcess distributes the out going traffic to two VLANS (10.15 & 10.16 ) of single 1 Gig port. The total pulsar data rate is ~0.26 gbps. The node IP address is derived by parsing the hostname.

Todo:

Resolve the issue of NTP clock vs Monotonic clock.

Should run further tests

Buffers

  • in_buf The kotkean buffer to hold the packets to be transmitted to pulsar nodes

    • Format: Array of unsigned char.

    • Metadata: none

Author

Arun Naidu

Param udp_pulsar_packet_size:

Int (default 6288). packet size including header

Param udp_pulsar_port_number:

Int (default 1414). udp Port number for pulsar streams

Param number_of_nodes:

Int (default 256). Number of L0 nodes

Param number_of_subnets:

Int (default 2). Number of subnets or VLANS used for transmission of PULSAR data

Param my_node_id:

Int (parsed from the hostname) esimated from the location of node from node location.

Public Functions

pulsarNetworkProcess(kotekan::Config &config, const std::string &unique_name, kotekan::bufferContainer &buffer_container)

Constructor, also initializes internal variables from config.

virtual ~pulsarNetworkProcess()

Destructor , cleaning local allocations.

virtual void main_thread() override

main thread