UMDS .NET API
6.14
|
class UMDSServerConnection is the main class for UMDS clients. Applications are expected to derive from this class. It has several inner classes to simplify the applications need to derive many classes. An application may want to derive from this class in the following scenarios: 1) To implement their own notification handler 2) To implement their own logging functions 3) To implement their own exception handlers 4) Any combination of the above (probably all) More...
Public Types | |
enum | COMPR_TYPE { NONE, LZ4 } |
Public Member Functions | |
bool | isAuthenticated () |
Determine if the connection is authenticated. More... | |
bool | isConnected () |
Determine if the connection is connected. More... | |
UMDSServerConnection (System.String ApplicationName) | |
Create a UMDSServerConnection object. After creating the connection object, Configuration parameters can be set before starting the connection. More... | |
UMDSServerConnection (UMDS b, System.String ApplicationName) | |
Create a UMDSServerConnection object based on a UMDS object. After creating the connection object, Configuration parameters can be set before starting the connection. More... | |
virtual void | start () |
Start the server connection. This will create the thread used to manage the connection and therefore all connection related configuration must occur before start() is called. A random server will be chosen from the configured list. More... | |
void | setProperty (System.String name, System.String strvalue) |
Set an individual configuration setting. More... | |
System.String | getProperty (System.String name) |
Get an individual configuration setting. More... | |
void | setProperty (System.String[] s) |
Set configuration setting from array of strings. The array should contain alternating name value pairs: { "name1", "value", "name2", "value2", ... Where a name has no value, a null should be provided. More... | |
void | setCapabilities (int capabilities) |
void | addCapability (int capability) |
virtual void | send (System.String TopicName, byte[] appdata) |
Send an application data buffer on a given topic. More... | |
byte[] | compressBuffer (byte[] input) |
byte[] | decompressMsg (UMDSMessage input) |
virtual void | onEvent (UMDSMessage msg) |
Event Notification function. This function is called when non-data events occur, E.G. Disconnection reported by the server. Messages passed to this callback may used cached objects. Applications must copy the content if they require processing the data on other threads. This should be overridden by applications. Expected message Types: LOSS DISCONNECT LOGIN_DENIED SERVER_STOPPED SOURCE_CREATE RECEIVER_CREATE SOURCE_DELETE RECEIVER_DELETE CONNECT LOGIN_COMPLETE LOGOUT_COMPLETE. More... | |
void | onRequest (UMDSMessage msg) |
Connection Level Request function. This function is called when a connection level (MIM) Request is sent. This functionality is currently unsupported. More... | |
virtual void | onResponse (UMDSMessage msg) |
Connection Level Response function. This function is called when a connection level (MIM) response is received, Applications must copy the content if they require processing the data on other threads. / This functionality is currently unsupported. This should be overridden by applications. More... | |
void | close () |
Close the server connection. This is a graceful close operation. Sent messages will be flushed. If client-linger is set, flushing will timeout at client-linger ms. More... | |
UMDS | getUMDS () |
Get the registered UMDS base object. | |
Public Attributes | |
const int | CAPABILITIES_REQUEST_RESPONSE = 0x1 |
COMPR_TYPE | compressionType = COMPR_TYPE.NONE |
Properties | |
virtual long | Error [get] |
Get the current error status of this connection. More... | |
virtual System.String | ErrorStr [get] |
Get the current error status string of this connection. More... | |
virtual bool | Authenticated [get] |
Determine if the connection is authenticated. More... | |
virtual UMDS | UMDS [get] |
Get the registered UMDS base object. More... | |
class UMDSServerConnection is the main class for UMDS clients. Applications are expected to derive from this class. It has several inner classes to simplify the applications need to derive many classes. An application may want to derive from this class in the following scenarios: 1) To implement their own notification handler 2) To implement their own logging functions 3) To implement their own exception handlers 4) Any combination of the above (probably all)
com.latencybusters.umds.UMDSServerConnection.UMDSServerConnection | ( | System.String | ApplicationName | ) |
Create a UMDSServerConnection object. After creating the connection object, Configuration parameters can be set before starting the connection.
ApplicationName | The name of the application creating this connection |
com.latencybusters.umds.UMDSServerConnection.UMDSServerConnection | ( | UMDS | b, |
System.String | ApplicationName | ||
) |
Create a UMDSServerConnection object based on a UMDS object. After creating the connection object, Configuration parameters can be set before starting the connection.
b | The base UMDS object |
ApplicationName | The name of the application creating this connection |
void com.latencybusters.umds.UMDSServerConnection.close | ( | ) |
Close the server connection. This is a graceful close operation. Sent messages will be flushed. If client-linger is set, flushing will timeout at client-linger ms.
the UMDS exception
UMDSException |
References com.latencybusters.umds.UMDSMessage.MSG_TYPE.DISCONNECT.
System.String com.latencybusters.umds.UMDSServerConnection.getProperty | ( | System.String | name | ) |
Get an individual configuration setting.
the UMDS exception
UMDSException |
name | The name of the configuration parameter to be set |
bool com.latencybusters.umds.UMDSServerConnection.isAuthenticated | ( | ) |
Determine if the connection is authenticated.
bool com.latencybusters.umds.UMDSServerConnection.isConnected | ( | ) |
Determine if the connection is connected.
|
virtual |
Event Notification function. This function is called when non-data events occur, E.G. Disconnection reported by the server. Messages passed to this callback may used cached objects. Applications must copy the content if they require processing the data on other threads. This should be overridden by applications. Expected message Types: LOSS DISCONNECT LOGIN_DENIED SERVER_STOPPED SOURCE_CREATE RECEIVER_CREATE SOURCE_DELETE RECEIVER_DELETE CONNECT LOGIN_COMPLETE LOGOUT_COMPLETE.
msg | The message containing the event |
References com.latencybusters.umds.UMDSMessage.MSG_TYPE.CONNECT, com.latencybusters.umds.UMDSMessage.MSG_TYPE.DISCONNECT, com.latencybusters.umds.UMDSMessage.MSG_TYPE.LOGIN_COMPLETE, com.latencybusters.umds.UMDSMessage.MSG_TYPE.LOGIN_DENIED, com.latencybusters.umds.UMDSMessage.MSG_TYPE.LOGOUT_COMPLETE, com.latencybusters.umds.UMDSMessage.MSG_TYPE.LOSS, com.latencybusters.umds.UMDSMessage.MSG_TYPE.RECEIVER_CREATE, com.latencybusters.umds.UMDSMessage.MSG_TYPE.RECEIVER_DELETE, com.latencybusters.umds.UMDSMessage.seqnum, com.latencybusters.umds.UMDSMessage.MSG_TYPE.SERVER_STOPPED, com.latencybusters.umds.UMDSMessage.MSG_TYPE.SOURCE_CREATE, com.latencybusters.umds.UMDSMessage.MSG_TYPE.SOURCE_DELETE, com.latencybusters.umds.UMDSMessage.srcidx, com.latencybusters.umds.UMDSMessage.status, com.latencybusters.umds.UMDSMessage.status_str, and com.latencybusters.umds.UMDSMessage.type.
Referenced by com.latencybusters.umds.UMDSServerThread.UMDSServerThread().
void com.latencybusters.umds.UMDSServerConnection.onRequest | ( | UMDSMessage | msg | ) |
Connection Level Request function. This function is called when a connection level (MIM) Request is sent. This functionality is currently unsupported.
msg | The message containing the event |
Referenced by com.latencybusters.umds.UMDSServerThread.UMDSServerThread().
|
virtual |
Connection Level Response function. This function is called when a connection level (MIM) response is received, Applications must copy the content if they require processing the data on other threads. / This functionality is currently unsupported. This should be overridden by applications.
msg | The message containing the event |
Referenced by com.latencybusters.umds.UMDSServerThread.UMDSServerThread().
|
virtual |
Send an application data buffer on a given topic.
the UMDS exception
UMDSException |
TopicName | The topic name to be send on |
appdata | The application data payload |
References com.latencybusters.umds.UMDSMessage.appdata, com.latencybusters.umds.UMDSMessage.appmeta_data, com.latencybusters.umds.UMDSMessage.MSG_TYPE.DISCONNECT, com.latencybusters.umds.UMDSReceiverRecoveryInfo.getHighSequenceNumber(), com.latencybusters.umds.UMDSReceiverRecoveryInfo.getLowSequenceNumber(), com.latencybusters.umds.UMDSReceiverRecoveryInfo.getSrcSessionId(), com.latencybusters.umds.UMDSReceiverRecoveryInfo.getTopic(), com.latencybusters.umds.UMDSMessage.low_seqnum, com.latencybusters.umds.UMDSMessage.seqnum, com.latencybusters.umds.UMDSMessage.status, and com.latencybusters.umds.UMDSMessage.status_str.
void com.latencybusters.umds.UMDSServerConnection.setProperty | ( | System.String | name, |
System.String | strvalue | ||
) |
Set an individual configuration setting.
See Client Configuration Properties.
UMDSException | the UMDS exception |
name | The name of the configuration parameter to be set |
strvalue | The value of the configuration parameter as a string |
Referenced by com.latencybusters.umds.UMDSServerThread.UMDSServerThread().
void com.latencybusters.umds.UMDSServerConnection.setProperty | ( | System.String[] | s | ) |
Set configuration setting from array of strings. The array should contain alternating name value pairs: { "name1", "value", "name2", "value2", ... Where a name has no value, a null should be provided.
When the server is not initialised
UMDSException |
s | The string array containing the name, value pairs |
References com.latencybusters.umds.UMDSMessageOptions.app_meta_data.
|
virtual |
Start the server connection. This will create the thread used to manage the connection and therefore all connection related configuration must occur before start() is called. A random server will be chosen from the configured list.
UMDSException |
|
|
get |
Determine if the connection is authenticated.
Referenced by com.latencybusters.umds.UMDSServerThread.UMDSServerThread().
|
get |
Get the current error status of this connection.
|
get |
Get the current error status string of this connection.
|
get |
Get the registered UMDS base object.
Referenced by com.latencybusters.umds.UMDSReceiverBase.log(), com.latencybusters.umds.UMDSSourceBase.log(), com.latencybusters.umds.UMDSMessageFormatter.UMDSMessageFormatter(), and com.latencybusters.umds.UMDSServerThread.UMDSServerThread().