UniPRT SDK  v1.0.0.0
UniPRT.Sdk.Comm.IComm Interface Reference

Interface to a communication connection. More...

Inheritance diagram for UniPRT.Sdk.Comm.IComm:
UniPRT.Sdk.Comm.AComm UniPRT.Sdk.Comm.TcpConnection

Public Member Functions

void Close ()
 Closes a connection.
 
void Open ()
 Opens a connection.
 
byte[] Read ()
 Read all bytes available.
 
void Read (BinaryWriter binDataIn)
 Reads all bytes available into the stream passed in.
 
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.
 
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.

TODO Raul: 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

◆ WaitForData()

void UniPRT.Sdk.Comm.IComm.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 UniPRT.Sdk.Comm.AComm.

◆ Write()

void UniPRT.Sdk.Comm.IComm.Write ( BinaryReader  binReader)

Write from input stream to output stream

Parameters
[in]binReaderSource data to send

Implemented in UniPRT.Sdk.Comm.AComm.

◆ WriteAndWaitForResponse() [1/2]

void UniPRT.Sdk.Comm.IComm.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, milliseconds, to wait for first data to be received. Time to first byte.
[in]responseEndTimeOutTimeout, milliseconds, 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 writing data to connection.

Implemented in UniPRT.Sdk.Comm.AComm.

◆ WriteAndWaitForResponse() [2/2]

byte [] UniPRT.Sdk.Comm.IComm.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, milliseconds, to wait for first data to be received. Time to first byte.
[in]responseEndTimeOutTimeout, milliseconds, 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 writing data to connection.

Implemented in UniPRT.Sdk.Comm.AComm.