Attachable Streams

Attachable streams provide a way to use out-of-band data transfer. The mechanics of the data transfer are defined by a separate network protocol, while REDHAWK provides connection management. The two supported attachable streams for Bulk Input/Output (BulkIO) are SDDS and VITA49. The BulkIO uses port passes a StreamDefinition object to the connected ports using the attach method. The connected input port provides the StreamDefinition object for the downstream resource to create a connection to the actual data source. The StreamDefinition objects passed are mapped to the underlying BulkIO data type. BulkIO SDDS ports pass SDDSStreamDefintion objects and BulkIO VITA49 ports pass VITA49StreamDefinition objects.

SDDS Stream Definition

The SDDS Stream Definition object defines a connection to a data source from a network interface. The methods for the SDDS Stream Definition Interface do not follow the normal BulkIO pushPacket() convention; instead, the interface defines attach() and detach() methods. The attach() and detach() methods are provided in the following code snippet.

/**
 *  SDDS Stream Definition Interface
 */

/**
  *  attach : request to an attachment to a specified network data source
  */
char  *attach( BULKIO::SDDSStreamDefinition stream, const char * userid );

/**
  * detach: unlatch from a network data source
  */
void  detach( const char* attachId );

The following tables describe the attach() and detach() methods and the SDDS Stream Definition Member.

char* attach()
Name Type Description
return value char* Attachment identifier assigned to this request.
stream SDDSStreamDefinition Stream definition object describing a multicast IP address (SDDS Stream Definition Member Descriptions).
userid const char* Identification for the request of the attach call.
void detach()
Name Type Description
attachId char* Attachment identifier returned from attach request.
SDDS Stream Definition Member Descriptions
Name Type Description
ID string Unique identifier for the source stream.
dataFormat SDDSDataDigraph Data format of the data stream samples.
multicastAddress string IPv4 network address in dot notation form.
vlan unsigned long Virtual lan identifier as defined by 802.11q.
port unsigned long IP port number associated with the network connection.
sampleRate unsigned long Expected sample rate for the data.
timeTagValid boolean Denotes if data stream can provide valid time stamp values.
privateInfo string Allows for user-defined values to be passed as a string.