Auto ID SDK v1.00 (beta) 5/15/2022
IComm Interface Reference

Interface to a communication connection. More...

Inheritance diagram for IComm:
AComm TcpConnection

Public Member Functions

void Close ()
 Closes a connection. More...
 
void Open ()
 Opens a connection. More...
 
byte[] Read ()
 Read all bytes available. More...
 
void Read (BinaryWriter binDataIn)
 Reads all bytes available into the stream passed in. More...
 
void WaitForData (int msTimeOut)
 Waits until data available BytesAvailable in current thread. Current thread sleeps until data received or timeout reached. Blocking call.
More...
 
void Write (BinaryReader binReader)
 Write from input stream to output stream
More...
 
void Write (byte[] dataOut)
 Writes all bytes from the array passed in. More...
 
void WriteAndWaitForResponse (BinaryWriter binDataIn, BinaryReader binDataOut, int responseStartTimeOut, int responseEndTimeOut, string completetionToken)
 Write binDataOut stream data to output stream and return data received in binDataIn stream. Data returned is any data received or up to completion token if received. Wait for response timeout before returning. More...
 
byte[] WriteAndWaitForResponse (byte[] dataOut, int responseStartTimeOut, int responseEndTimeOut, string completetionToken)
 Write byte data to output stream and return data received. Data returned is any data received or up to completion token if received. Wait for response timeout before returning. More...
 

Properties

int BytesAvailable [get]
 Number of bytes available to read. This is estimate and number can change as data is received.
 
bool Connected [get]
 true if connection is established
 
string Descriptor [get]
 string descriptor of the connection.
 

Detailed Description

Interface to a communication connection.

Should add use of "Pipes" for more efficient I/O operations. e.g. "demultiplexer" (single input to multiple outputs) for input to have multiple "listeners" to data received.

Member Function Documentation

◆ Close()

void Close ( )

Closes a connection.

Implemented in AComm, and TcpConnection.

◆ Open()

void Open ( )

Opens a connection.

Implemented in AComm, and TcpConnection.

◆ Read() [1/2]

byte[] Read ( )

Read all bytes available.

Implemented in AComm, and TcpConnection.

◆ Read() [2/2]

void Read ( BinaryWriter  binDataIn)

Reads all bytes available into the stream passed in.

Implemented in AComm.

◆ WaitForData()

void WaitForData ( int  msTimeOut)

Waits until data available BytesAvailable in current thread. Current thread sleeps until data received or timeout reached. Blocking call.

Parameters
[in]msTimeOutMillisecond timeout before return if no data received.

Implemented in AComm.

◆ Write() [1/2]

void Write ( BinaryReader  binReader)

Write from input stream to output stream

Parameters
[in]binReaderSource data to send

Implemented in AComm.

◆ Write() [2/2]

void Write ( byte[]  dataOut)

Writes all bytes from the array passed in.

Implemented in AComm, and TcpConnection.

◆ WriteAndWaitForResponse() [1/2]

void WriteAndWaitForResponse ( BinaryWriter  binDataIn,
BinaryReader  binDataOut,
int  responseStartTimeOut,
int  responseEndTimeOut,
string  completetionToken 
)

Write binDataOut stream data to output stream and return data received in binDataIn stream. Data returned is any data received or up to completion token if received. Wait for response timeout before returning.

Parameters
[out]binDataInDestination stream to store response received from connection.
[in]binDataOut
Source stream data to write to connection.
[in]responseStartTimeOutTimeout to wait for first data to be received. Time to first byte.
[in]responseEndTimeOutTimeout of no new data received. Time after last byte.
[in]completetionTokenString token denoting the end of the response expected. This can be empty string if simply want to wait for response after writng data to connection.

Implemented in AComm.

◆ WriteAndWaitForResponse() [2/2]

byte[] WriteAndWaitForResponse ( byte[]  dataOut,
int  responseStartTimeOut,
int  responseEndTimeOut,
string  completetionToken 
)

Write byte data to output stream and return data received. Data returned is any data received or up to completion token if received. Wait for response timeout before returning.

Return values
byte[]Array of bytes received from connection.
Data returned is any data received or up to completetionToken if token received
Parameters
[in]dataOut
Source byte array to write to connection.
[in]responseStartTimeOutTimeout to wait for first data to be received. Time to first byte.
[in]responseEndTimeOutTimeout of no new data received. Time after last byte.
[in]completetionTokenString token denoting the end of the response expected. This can be empty string if simply want to wait for response after writng data to connection.

Implemented in AComm.