nscldatarouter

Name

nscldatarouter -- Receive and dispose of GET data.

Synopsis

nscldatarouter [options...]

DESCRIPTION

In the GET software architecture, data routers are connected to data sources. They then receive data when data taking is active and dispose of them in some way. nscldatarouter is an extension of the standard GET data router which defines, as an additional disposal method, sending data to an NSCL ring buffer..

nscldatarouter knows how to pull either the timestamp or the event ID (trigger number) from the CoBo frames it receives and insert them along with a specific source id in the event body headers.

Again I want to stress that this is an extension of the GET data router and therefore can still do anything that data router can do.

OPTIONS

-h, --help

Outputs program help text and exits.

-V, --version

Outputs the program version and exits.

-c, --controlservice=STRING

The value of this option specifies a control service name. This defaults to accepting connections from any network interface (subnet) to port 46003.

The service string should be of the form: ip-address:port-num.

-d, --dataservice=STRING

The value of this option specifies the data transfer service in the form ip-address:port-num. Normally this defaults to the same IP address as the control service with a port number of 46005

-p, --protocol=STRING

Specifies the type of application protocol to be used to transfer data from the CoBo to the router. This can be one of the values: ICE, TCP, or FDT. The default value is TCP which just uses raw TCP/IP socket stream to transfer data.

The ICE protocol is a remote procedure call protocol mediated by the Internet Communications Engine (ICE) library.

The FDT protocol refers to the CERN Fast Data transfer protocol.

-i, --icearg=STRING

Each occurance of this option provides an option used to set up transfers using ICE. These options are ignored if the --protocol is not ICE.

-o, --outputtype=STRING

This option specifies how the data router will dispose of its data. The legal values are ByteCounter, ByteStorage, FrameCounter, and FrameStorage which all have the original meanings from the GET data router. This version introduces an additional output type; RingBuffer which outputs data to an NSCL Ring buffer.

Note that the default value for this option is FrameStorage which produces GET Raw (graw) data files.

If --outputtype=RingBuffer, three additional options are available for use that otherwise trigger error messages:

-r, --ring=STRING

The value of this option specifies the ring buffer to which frames will be written as PHYSICS_EVENT ring items. Since the default value is an empty string, which while a legal ring name is not very usable, this option should be specified whenever the output type is RingBuffer

-s, --id=INT

Specifies the source id that will be put in body headers of ring items generated by the data router. This value defaults to zero which, while legal is unusual.

-t, --timestamp=STRING

Specifies the source of the timestamp placed in the body headers. This option can take one of the values timestamp or trigger_number. The latter can be used when there's no good mechanism to synchronize the CoBos with the timestamping mechanism of another data acquisition system.

The default value is, therefore timestamp.