UM .NET API  6.16
com.latencybusters.lbm.LBMContext Class Reference

Creates an LBM context. More...

Inheritance diagram for com.latencybusters.lbm.LBMContext:

Classes

struct  lbm_umq_msgid_t
 
struct  ume_liveness_receiving_context_t
 

Public Member Functions

 LBMContext ()
 Instantiate an LBMContext object using default attributes. More...
 
 LBMContext (LBMContextAttributes lbmcattr)
 Instantiate an LBMContext object using given attributes. More...
 
void close ()
 Close and dispose of this context. More...
 
unsafe List< LBMConfigOptiondumpAttributeList ()
 Returns an array of context attributes in LBConfigOption. More...
 
string getAttributeValue (string attributeName)
 Returns the value of a context-related attribute for this context. More...
 
void setAttributeValue (string attributeName, string attributeValue)
 Set the value of a context-related attribute for this context. More...
 
void processEvents (long msec)
 Process internal events in the given LBM context object. More...
 
void processEvents (long msec, int flags)
 Process internal events in the given LBM context object. More...
 
void processEvents (long msec, int flags, UInt32 tv_sec, UInt32 tv_usec)
 Process internal events in the given LBM context object. More...
 
void unblockProcessEvents ()
 Unblock processEvents call. More...
 
LBMTopic lookupTopic (string symbol)
 Create an LBMTopic object (useable for an LBM receiver) for a given topic name. Topic strings should be limited in length to 246 characters (not including the final null). More...
 
LBMTopic lookupTopic (string symbol, LBMReceiverAttributes lbmrattr)
 Create an LBMTopic object (useable for an LBM receiver) for given topic name and attributes. Topic strings should be limited in length to 246 characters (not including the final null). More...
 
LBMTopic allocTopic (string symbol)
 Create an LBMTopic object (useable for an LBM source) for given topic name and attributes. Topic strings should be limited in length to 246 characters (not including the final null). More...
 
LBMTopic allocTopic (string symbol, LBMSourceAttributes lbmsattr)
 Create an LBMTopic object (useable for an LBM source) for given topic name and attributes. Topic strings should be limited in length to 246 characters (not including the final null). More...
 
void enableImmediateMessageReceiver ()
 Enable LBM to receive non-topic immediate messages. More...
 
void enableImmediateMessageReceiver (LBMEventQueue lbmevq)
 Enable LBM to receive non-topic immediate messages (using an event queue). More...
 
void addImmediateMessageReceiver (LBMImmediateMessageCallback cb)
 Register a callback for handling of non-topic immediate messages. More...
 
void addImmediateMessageReceiver (LBMImmediateMessageCallback cb, object cbArg)
 Register a callback for handling of non-topic immediate messages. More...
 
void removeImmediateMessageReceiver (LBMImmediateMessageCallback cb)
 Deregister a non-topic, immediate message callback. More...
 
void removeImmediateMessageReceiver (LBMImmediateMessageCallback cb, object cbArg)
 Deregister a non-topic, immediate message callback. More...
 
void send (string target, string topic, byte[] data, int dataLength, int flags)
 Send a unicast immediate message to the target and topic. More...
 
void sendTopicless (string target, byte[] data, int dataLength, int flags)
 Send a topicless unicast immediate message to the target. More...
 
void sendc (char[] target, char[] topic, byte[] data, int dataLength, int flags)
 Send a unicast immediate message to the target and topic. More...
 
void sendTopicless (char[] target, byte[] data, int dataLength, int flags)
 Send a topicless unicast immediate message to the target. More...
 
void send (string target, string topic, LBMRequest lbmreq, LBMEventQueue lbmevq, int flags)
 Send a unicast immediate request message to the target and topic. More...
 
void send (string target, string topic, LBMRequest lbmreq, int flags)
 Send a unicast immediate request message to the target and topic. More...
 
void send (string topic, byte[] data, int dataLength, int flags)
 Send a multicast immediate message to a specific topic. More...
 
void sendc (char[] topic, byte[] data, int dataLength, int flags)
 Send a multicast immediate message to a specific topic. More...
 
void sendTopicless (byte[] data, int dataLength, int flags)
 Send a topicless multicast immediate message. More...
 
void send (string topic, LBMRequest lbmreq, LBMEventQueue lbmevq, int flags)
 Send a multicast immediate request to a specific topic (specifying an Event Queue for processing of the response(s)) More...
 
void send (string topic, LBMRequest lbmreq, int flags)
 Send a multicast immediate request to a specific topic. More...
 
void send (string queue, string topic, byte[] data, int dataLength, int flags, LBMSourceSendExInfo exinfo)
 Send a multicast immediate message on a specific topic to a queue. (UMQ only) More...
 
LBMTimer createTimer (long milliseconds)
 Create an LBM Timer object. More...
 
LBMTimer createTimer (long milliseconds, LBMEventQueue lbmevq)
 Creates a timer associated with this context and a specified event queue that expires with a specified delay. More...
 
LBMTimer createTimer (long milliseconds, LBMTimerCallback cb, Object cbArg)
 Creates a timer associated with this context that expires with specified delay. More...
 
LBMTimer createTimer (long milliseconds, LBMTimerCallback cb, object cbArg, LBMEventQueue lbmevq)
 Creates a timer associated with this context and a specified event queue that expires with a specified delay. More...
 
LBMTimer scheduleTimer (long milliseconds)
 Create an LBM Timer object and retains an internal reference to it. This prevents the timer from being reclaimed by the garbage collector before it expires. More...
 
LBMTimer scheduleTimer (long milliseconds, LBMEventQueue lbmevq)
 Creates a timer associated with this context and a specified event queue that expires with a specified delay, and retains an internal reference to it. This prevents the timer from being reclaimed by the garbage collector before it expires. More...
 
LBMTimer scheduleTimer (long milliseconds, LBMTimerCallback cb, Object cbArg)
 Creates a timer associated with this context that expires with specified delay, and retains an internal reference to it. This prevents the timer from being reclaimed by the garbage collector before it expires. More...
 
LBMTimer scheduleTimer (long milliseconds, LBMTimerCallback cb, Object cbArg, LBMEventQueue lbmevq)
 Creates a timer associated with this context and a specified event queue that expires with a specified delay. This prevents the timer from being reclaimed by the garbage collector before it expires. More...
 
LBMSource createSource (LBMTopic lbmtopic)
 Create an LBM Source object associated with this context and a given topic. More...
 
LBMSource createSource (LBMTopic lbmtopic, LBMSourceEventCallback cb, object cbArg)
 Create an LBM Source object associated with this context and a given topic. More...
 
LBMSource createSource (LBMTopic lbmtopic, LBMEventQueue lbmevq)
 Create an LBM Source object associated with this given context and a given topic and event queue. More...
 
LBMSource createSource (LBMTopic lbmtopic, LBMSourceEventCallback cb, object cbArg, LBMEventQueue lbmevq)
 Create an LBM Source object associated with this context and a given topic and event queue. More...
 
LBMHotFailoverSource createHotFailoverSource (LBMTopic lbmtopic)
 Create an LBM Hot-Failover Source object associated with this context and a given topic. More...
 
LBMHotFailoverSource createHotFailoverSource (LBMTopic lbmtopic, LBMSourceEventCallback cb, object cbArg)
 Create an LBM Hot-Failover Source object associated with this context and a given topic. More...
 
LBMHotFailoverSource createHotFailoverSource (LBMTopic lbmtopic, LBMEventQueue lbmevq)
 Create an LBM Hot-Failover Source object associated with this given context and a given topic and event queue. More...
 
LBMHotFailoverSource createHotFailoverSource (LBMTopic lbmtopic, LBMSourceEventCallback cb, object cbArg, LBMEventQueue lbmevq)
 Create an LBM Hot-Failover Source object associated with this context and a given topic and event queue. More...
 
LBMReceiver createReceiver (LBMTopic lbmtopic)
 Create an LBM Receiver object associated with this context and a given topic. More...
 
LBMReceiver createReceiver (LBMTopic lbmtopic, LBMEventQueue lbmevq)
 Create an LBM Receiver object associated with this context and a given topic and event queue. More...
 
LBMReceiver createReceiver (LBMTopic lbmtopic, LBMReceiverCallback cb, object cbArg)
 Create an LBM Receiver object associated with this context and a given topic. More...
 
LBMReceiver createReceiver (LBMTopic lbmtopic, LBMReceiverCallback cb, object cbArg, LBMEventQueue lbmevq)
 Create an LBM Receiver object associated with this context and a given topic and event queue. More...
 
LBMHotFailoverReceiver createHotFailoverReceiver (LBMTopic lbmtopic)
 Create an LBM Hot-Failover Receiver object associated with this context and a given topic. More...
 
LBMHotFailoverReceiver createHotFailoverReceiver (LBMTopic lbmtopic, LBMEventQueue lbmevq)
 Create an LBM Hot-Failover Receiver object associated with this context and a given topic and event queue. More...
 
LBMHotFailoverReceiver createHotFailoverReceiver (LBMTopic lbmtopic, LBMReceiverCallback cb, object cbArg)
 Create an LBM Hot-Failover Receiver object associated with this context and a given topic. More...
 
LBMHotFailoverReceiver createHotFailoverReceiver (LBMTopic lbmtopic, LBMReceiverCallback cb, object cbArg, LBMEventQueue lbmevq)
 Create an LBM Hot-Failover Receiver object associated with this context and a given topic and event queue. More...
 
void addSourceNotifyCallback (LBMSourceNotification cb)
 Register a callback interface to be called when a new source is seen for any topic. More...
 
void addSourceNotifyCallback (LBMSourceNotification cb, object cbArg)
 Register a callback interface (and a callback handle argument) to be called when a new source is seen for any topic. More...
 
void removeSourceNotifyCallback (LBMSourceNotification cb)
 Deregister a source notification callback. More...
 
LBMContextStatistics getStatistics ()
 Return the current set of statistics for this context. More...
 
void resetStatistics ()
 This will reset the statistics for this context at the c layer. Invalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.
 
LBMSourceStatistics getSourceStatistics (int maxStats)
 Return the aggregate set of source transport statistics for this context. More...
 
void resetSourceStatistics ()
 This will reset the transport statistics for all sources in this context. More...
 
LBMReceiverStatistics getReceiverStatistics (int maxStats)
 Return the aggregate set of receiver transport statistics for this context. More...
 
void resetReceiverStatistics ()
 This will reset the transport stats for all receivers in this context. More...
 
LBMImmediateMessageSourceStatistics getImmediateMessageSourceStatistics (int maxStats)
 Return the immediate message source statistics for this context. More...
 
void resetImmediateMessageSourceStatistics ()
 This will reset the immediate message source transport statistics for this context. More...
 
LBMImmediateMessageReceiverStatistics getImmediateMessageReceiverStatistics (int maxStats)
 Return the immediate message source statistics for this context. More...
 
void resetImmediateMessageReceiverStatistics ()
 Reset the immediate message receiver transport statistics for this context.
 
int getUMQInflight (string queue)
 Get the current UMQ inflight value for this context. More...
 
int setUMQInflight (string queue, LBMSetInflightCallback cb, object cbObj)
 Set the current UMQ inflight value for this context. This function is deprecated. More...
 
void setUMQMessageStable (string queue, UMQMessageId msg_id)
 Mark a specific msg_id as stable, triggering an event if configured to do so, and adjusting the inflight if necessary. This function is deprecated. More...
 
void requestTopicResolution (ushort flags, uint interval_msec, uint duration_sec)
 Request Topic Advertisements (sources), Topic Queries (receivers), and/or Wildcard Topic Queries (wildcard receivers) in the configured topic resolution address domain. More...
 
void removeSourceNotifyCallback (LBMSourceNotification cb, object cbArg)
 Deregister a source notification callback. More...
 
void Dispose ()
 Same as close. More...
 

Detailed Description

Creates an LBM context.

This creates an instance of the LBM main processing element, an LBM context. Sources and Receivers are created from an LBM context and work within that context. For the Embedded operational mode, a thread is spawned to handle message processing.

Constructor & Destructor Documentation

com.latencybusters.lbm.LBMContext.LBMContext ( )

Instantiate an LBMContext object using default attributes.

Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.
com.latencybusters.lbm.LBMContext.LBMContext ( LBMContextAttributes  lbmcattr)

Instantiate an LBMContext object using given attributes.

Parameters
lbmcattrLBMContextAttributes used to initialize the context
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBM.errorMessage(), com.latencybusters.lbm.LBM.errorNumber(), com.latencybusters.lbm.LBM.LBM_RESOLVER_EVENT_ADVERTISEMENT_TYPE, and com.latencybusters.lbm.LBMSourceNotification().

Member Function Documentation

void com.latencybusters.lbm.LBMContext.addImmediateMessageReceiver ( LBMImmediateMessageCallback  cb)

Register a callback for handling of non-topic immediate messages.

Note
Reception of non-topic immediate messages is disabled by default and may be enabled only by calling enableImmediateMessageReceiver.
See also
enableImmediateMessageReceiver
LBMImmediateMessageCallback
removeImmediateMessageReceiver
Parameters
cbObject implementing the LBMImmediateMessageCallback delegate interface
void com.latencybusters.lbm.LBMContext.addImmediateMessageReceiver ( LBMImmediateMessageCallback  cb,
object  cbArg 
)

Register a callback for handling of non-topic immediate messages.

Note
Reception of non-topic immediate messages is disabled by default and may be enabled only by calling enableImmediateMessageReceiver
See also
LBMImmediateMessageCallback
removeImmediateMessageReceiver
Parameters
cbCallback implementing the LBMImmediateMessageCallback delegate interface
cbArgCallback token object
void com.latencybusters.lbm.LBMContext.addSourceNotifyCallback ( LBMSourceNotification  cb)

Register a callback interface to be called when a new source is seen for any topic.

This callback is called directly in line and does not use the event queue; therefore, the callback function used should not block or it will block the context thread processing. This facility is disabled by default and may be enabled by calling the LBMContextAttributes.enableSourceNotification method prior to instantiation of LBMContext.

See also
LBMSourceNotification
removeSourceNotifyCallback
Parameters
cbCallback implementing the LBMSourceNotification delegate interface
void com.latencybusters.lbm.LBMContext.addSourceNotifyCallback ( LBMSourceNotification  cb,
object  cbArg 
)

Register a callback interface (and a callback handle argument) to be called when a new source is seen for any topic.

This callback is called directly in line and does not use the event queue; therefore, the callback function used should not block or it will block the context thread processing. This facility is disabled by default and may be enabled by calling the LBMContextAttributes.enableSourceNotification method prior to instantiation of LBMContext.

See also
LBMSourceNotification
removeSourceNotifyCallback
Parameters
cbCallback implementing the LBMSourceNotification delegate interface
cbArgCallback object passed as a token to the callback interface
LBMTopic com.latencybusters.lbm.LBMContext.allocTopic ( string  symbol)

Create an LBMTopic object (useable for an LBM source) for given topic name and attributes. Topic strings should be limited in length to 246 characters (not including the final null).

Parameters
symbolTopic name string
Returns
LBMTopic object for specified topic name and attributes
LBMTopic com.latencybusters.lbm.LBMContext.allocTopic ( string  symbol,
LBMSourceAttributes  lbmsattr 
)

Create an LBMTopic object (useable for an LBM source) for given topic name and attributes. Topic strings should be limited in length to 246 characters (not including the final null).

Warning: It is not safe to call this method from a context thread callback.

Parameters
symbolTopic name string
lbmsattrLBMSourceAttributes object
Returns
LBMTopic object for specified topic name and attributes

References com.latencybusters.lbm.LBMImmediateMessageCallback(), and com.latencybusters.lbm.LBMObjectRecyclerBase.retrieveMessage().

void com.latencybusters.lbm.LBMContext.close ( )

Close and dispose of this context.

Warning: It is not safe to call this method from a context thread callback.

Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.
LBMHotFailoverReceiver com.latencybusters.lbm.LBMContext.createHotFailoverReceiver ( LBMTopic  lbmtopic)

Create an LBM Hot-Failover Receiver object associated with this context and a given topic.

Warning: It is not safe to call this method from a context thread callback.

Parameters
lbmtopicLBMTopic used to initialize the receiver
Returns
LBMHotFailoverReceiver object
LBMHotFailoverReceiver com.latencybusters.lbm.LBMContext.createHotFailoverReceiver ( LBMTopic  lbmtopic,
LBMEventQueue  lbmevq 
)

Create an LBM Hot-Failover Receiver object associated with this context and a given topic and event queue.

Warning: It is not safe to call this method from a context thread callback.

Parameters
lbmtopicLBMTopic used to initialize the receiver
lbmevqEvent queue with which to associate the receiver (all receiver events will be posted to this event queue)
Returns
LBMReceiver object
LBMHotFailoverReceiver com.latencybusters.lbm.LBMContext.createHotFailoverReceiver ( LBMTopic  lbmtopic,
LBMReceiverCallback  cb,
object  cbArg 
)

Create an LBM Hot-Failover Receiver object associated with this context and a given topic.

Warning: It is not safe to call this method from a context thread callback.

Parameters
lbmtopicLBMTopic used to initialize the receiver
cbCallback implementing the LBMReceiverCallback delegate interface
cbArgCallback object passed as token to callback interface
Returns
LBMHotFailoverReceiver object
LBMHotFailoverReceiver com.latencybusters.lbm.LBMContext.createHotFailoverReceiver ( LBMTopic  lbmtopic,
LBMReceiverCallback  cb,
object  cbArg,
LBMEventQueue  lbmevq 
)

Create an LBM Hot-Failover Receiver object associated with this context and a given topic and event queue.

Warning: It is not safe to call this method from a context thread callback.

Parameters
lbmtopicLBMTopic used to initialize the receiver
cbCallback implementing the LBMReceiverCallback delegate interface
cbArgCallback object passed as token to callback interface
lbmevqEvent queue with which to associate the receiver (all receiver events will be posted to this event queue)
Returns
LBMReceiver object
LBMHotFailoverSource com.latencybusters.lbm.LBMContext.createHotFailoverSource ( LBMTopic  lbmtopic)

Create an LBM Hot-Failover Source object associated with this context and a given topic.

Warning: It is not safe to call this method from a context thread callback.

Parameters
lbmtopicLBMTopic used to initialize the source.
Returns
LBMHotFailoverSource object
LBMHotFailoverSource com.latencybusters.lbm.LBMContext.createHotFailoverSource ( LBMTopic  lbmtopic,
LBMSourceEventCallback  cb,
object  cbArg 
)

Create an LBM Hot-Failover Source object associated with this context and a given topic.

Warning: It is not safe to call this method from a context thread callback.

Parameters
lbmtopicLBMTopic used to initialize the source
cbCallback implementing the LBMSourceEventCallback delegate interface
cbArgCallback token object
Returns
LBMHotFailoverSource object
LBMHotFailoverSource com.latencybusters.lbm.LBMContext.createHotFailoverSource ( LBMTopic  lbmtopic,
LBMEventQueue  lbmevq 
)

Create an LBM Hot-Failover Source object associated with this given context and a given topic and event queue.

Warning: It is not safe to call this method from a context thread callback.

Parameters
lbmtopicLBMTopic used to initialize the source
lbmevqvent queue with which to associate the source (all source events will be posted to this event queue)
Returns
LBMHotFailoverSource object
LBMHotFailoverSource com.latencybusters.lbm.LBMContext.createHotFailoverSource ( LBMTopic  lbmtopic,
LBMSourceEventCallback  cb,
object  cbArg,
LBMEventQueue  lbmevq 
)

Create an LBM Hot-Failover Source object associated with this context and a given topic and event queue.

Warning: It is not safe to call this method from a context thread callback.

Parameters
lbmtopicLBMTopic used to initialize the source
cbCallback implementing the LBMSourceEventCallback delegate interface
cbArgCallback token object
lbmevqEvent queue with which to associate the source (all source events will be posted to this event queue)
Returns
LBMHotFailoverSource object
LBMReceiver com.latencybusters.lbm.LBMContext.createReceiver ( LBMTopic  lbmtopic)

Create an LBM Receiver object associated with this context and a given topic.

Warning: It is not safe to call this method from a context thread callback.

Parameters
lbmtopicLBMTopic used to initialize the receiver
Returns
LBMReceiver object
LBMReceiver com.latencybusters.lbm.LBMContext.createReceiver ( LBMTopic  lbmtopic,
LBMEventQueue  lbmevq 
)

Create an LBM Receiver object associated with this context and a given topic and event queue.

Warning: It is not safe to call this method from a context thread callback.

Parameters
lbmtopicLBMTopic used to initialize the receiver
lbmevqEvent queue with which to associate the receiver (all receiver events will be posted to this event queue)
Returns
LBMReceiver object
LBMReceiver com.latencybusters.lbm.LBMContext.createReceiver ( LBMTopic  lbmtopic,
LBMReceiverCallback  cb,
object  cbArg 
)

Create an LBM Receiver object associated with this context and a given topic.

Warning: It is not safe to call this method from a context thread callback.

Parameters
lbmtopicLBMTopic used to initialize the receiver
cbCallback implementing the LBMReceiverCallback delegate interface
cbArgCallback object passed as token to callback interface
Returns
LBMReceiver object
LBMReceiver com.latencybusters.lbm.LBMContext.createReceiver ( LBMTopic  lbmtopic,
LBMReceiverCallback  cb,
object  cbArg,
LBMEventQueue  lbmevq 
)

Create an LBM Receiver object associated with this context and a given topic and event queue.

Warning: It is not safe to call this method from a context thread callback.

Parameters
lbmtopicLBMTopic used to initialize the receiver
cbCallback implementing the LBMReceiverCallback delegate interface
cbArgCallback object passed as token to callback interface
lbmevqEvent queue with which to associate the receiver (all receiver events will be posted to this event queue)
Returns
LBMReceiver object
LBMSource com.latencybusters.lbm.LBMContext.createSource ( LBMTopic  lbmtopic)

Create an LBM Source object associated with this context and a given topic.

Warning: It is not safe to call this method from a context thread callback.

Parameters
lbmtopicLBMTopic used to initialize the source.
Returns
LBMSource object
LBMSource com.latencybusters.lbm.LBMContext.createSource ( LBMTopic  lbmtopic,
LBMSourceEventCallback  cb,
object  cbArg 
)

Create an LBM Source object associated with this context and a given topic.

Warning: It is not safe to call this method from a context thread callback.

Parameters
lbmtopicLBMTopic used to initialize the source
cbCallback implementing the LBMSourceEventCallback delegate interface
cbArgCallback token object
Returns
LBMSource object
LBMSource com.latencybusters.lbm.LBMContext.createSource ( LBMTopic  lbmtopic,
LBMEventQueue  lbmevq 
)

Create an LBM Source object associated with this given context and a given topic and event queue.

Warning: It is not safe to call this method from a context thread callback.

Parameters
lbmtopicLBMTopic used to initialize the source
lbmevqvent queue with which to associate the source (all source events will be posted to this event queue)
Returns
LBMSource object
LBMSource com.latencybusters.lbm.LBMContext.createSource ( LBMTopic  lbmtopic,
LBMSourceEventCallback  cb,
object  cbArg,
LBMEventQueue  lbmevq 
)

Create an LBM Source object associated with this context and a given topic and event queue.

Warning: It is not safe to call this method from a context thread callback.

Parameters
lbmtopicLBMTopic used to initialize the source
cbCallback implementing the LBMSourceEventCallback delegate interface
cbArgCallback token object
lbmevqEvent queue with which to associate the source (all source events will be posted to this event queue)
Returns
LBMSource object
LBMTimer com.latencybusters.lbm.LBMContext.createTimer ( long  milliseconds)

Create an LBM Timer object.

References to timers created using this method are not maintained internally. If the timer returned by this method goes out of scope and is reclaimed by the garbage collector, callbacks registered for this timer will not execute. To create a timer with an internally maintained reference, see the scheduleTimer method.

Parameters
millisecondsNumber of milliseconds until the timer expires
Returns
LBMTimer object
LBMTimer com.latencybusters.lbm.LBMContext.createTimer ( long  milliseconds,
LBMEventQueue  lbmevq 
)

Creates a timer associated with this context and a specified event queue that expires with a specified delay.

References to timers created using this method are not maintained internally. If the timer returned by this method goes out of scope and is reclaimed by the garbage collector, callbacks registered for this timer will not execute. To create a timer with an internally maintained reference, see the scheduleTimer method.

Parameters
millisecondsNumber of milliseconds until the timer expires
lbmevqEvent queue with with which to associate this timer (the timer events will be posted to this event queue)
Returns
LBMTimer object
LBMTimer com.latencybusters.lbm.LBMContext.createTimer ( long  milliseconds,
LBMTimerCallback  cb,
Object  cbArg 
)

Creates a timer associated with this context that expires with specified delay.

References to timers created using this method are not maintained internally. If the timer returned by this method goes out of scope and is reclaimed by the garbage collector, callbacks registered for this timer will not execute. To create a timer with an internally maintained reference, see the scheduleTimer method.

Parameters
millisecondsNumber of milliseconds until the timer expires
cbCallback implementing the LBMTimerCallback delegate interface
cbArgCallback object passed as token to callback interface
Returns
LBMTimer object
LBMTimer com.latencybusters.lbm.LBMContext.createTimer ( long  milliseconds,
LBMTimerCallback  cb,
object  cbArg,
LBMEventQueue  lbmevq 
)

Creates a timer associated with this context and a specified event queue that expires with a specified delay.

References to timers created using this method are not maintained internally. If the timer returned by this method goes out of scope and is reclaimed by the garbage collector, callbacks registered for this timer will not execute. To create a timer with an internally maintained reference, see the scheduleTimer method.

Parameters
millisecondsNumber of milliseconds until the timer expires
cbCallback implementing the LBMTimerCallback delegate interface
cbArgCallback object passed as token to callback interface
lbmevqEvent queue with with which to associate this timer (the timer events will be posted to this event queue)
Returns
LBMTimer object
void com.latencybusters.lbm.LBMContext.Dispose ( )
unsafe List<LBMConfigOption> com.latencybusters.lbm.LBMContext.dumpAttributeList ( )

Returns an array of context attributes in LBConfigOption.

Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.
Returns
Returns an array of context attributes in LBConfigOption

References com.latencybusters.lbm.LBM.errorMessage(), com.latencybusters.lbm.LBM.errorNumber(), com.latencybusters.lbm.LBMConfigOption.OptionName, com.latencybusters.lbm.LBMConfigOption.Type, and com.latencybusters.lbm.LBMConfigOption.Value.

void com.latencybusters.lbm.LBMContext.enableImmediateMessageReceiver ( )

Enable LBM to receive non-topic immediate messages.

This method does not establish a callback handler. The callback to handle immediate messages should be established using addImmediateMessageReceiver.

See also
addImmediateMessageReceiver
void com.latencybusters.lbm.LBMContext.enableImmediateMessageReceiver ( LBMEventQueue  lbmevq)

Enable LBM to receive non-topic immediate messages (using an event queue).

This method does not establish a callback handler. The callback to handle immediate messages should be established using addImmediateMessageReceiver.

See also
addImmediateMessageReceiver
Parameters
lbmevqLBMEventQueue on which to process responses (may be null if not using an event queue)
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBM.errorMessage(), and com.latencybusters.lbm.LBM.errorNumber().

string com.latencybusters.lbm.LBMContext.getAttributeValue ( string  attributeName)

Returns the value of a context-related attribute for this context.

Parameters
attributeNameName of the attribute to retrieve
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.
Returns
Value corresponding to the specified attribute name

References com.latencybusters.lbm.LBM.errorMessage(), and com.latencybusters.lbm.LBM.errorNumber().

LBMImmediateMessageReceiverStatistics com.latencybusters.lbm.LBMContext.getImmediateMessageReceiverStatistics ( int  maxStats)

Return the immediate message source statistics for this context.

Parameters
maxStatsMaximum number of sources
Returns
LBMImmediateMessageSourceStatistics object containing the statistics corresponding to this context

References com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.refresh(), and com.latencybusters.lbm.LBMObjectRecyclerBase.retrieveImmediateMessageReceiverStatistics().

LBMImmediateMessageSourceStatistics com.latencybusters.lbm.LBMContext.getImmediateMessageSourceStatistics ( int  maxStats)

Return the immediate message source statistics for this context.

Parameters
maxStatsMaximum number of sources
Returns
LBMImmediateMessageSourceStatistics object containing the statistics corresponding to this context

References com.latencybusters.lbm.LBMImmediateMessageSourceStatistics.refresh(), and com.latencybusters.lbm.LBMObjectRecyclerBase.retrieveImmediateMessageSourceStatistics().

LBMReceiverStatistics com.latencybusters.lbm.LBMContext.getReceiverStatistics ( int  maxStats)

Return the aggregate set of receiver transport statistics for this context.

Parameters
maxStatsMaximum number of sources
Returns
LBMReceiverStatistics object containing the statistics corresponding to the specified number of sources

References com.latencybusters.lbm.LBMReceiverStatistics.refresh(), and com.latencybusters.lbm.LBMObjectRecyclerBase.retrieveReceiverStatistics().

LBMSourceStatistics com.latencybusters.lbm.LBMContext.getSourceStatistics ( int  maxStats)

Return the aggregate set of source transport statistics for this context.

Parameters
maxStatsMaximum number of sources
Returns
LBMReceiverStatistics object containing the statistics corresponding to the specified number of sources

References com.latencybusters.lbm.LBMSourceStatistics.refresh(), and com.latencybusters.lbm.LBMObjectRecyclerBase.retrieveSourceStatistics().

LBMContextStatistics com.latencybusters.lbm.LBMContext.getStatistics ( )

Return the current set of statistics for this context.

Returns
LBMContextStatistics object containing the statistics corresponding to this context

References com.latencybusters.lbm.LBMContextStatistics.refresh(), and com.latencybusters.lbm.LBMObjectRecyclerBase.retrieveContextStatistics().

int com.latencybusters.lbm.LBMContext.getUMQInflight ( string  queue)

Get the current UMQ inflight value for this context.

Parameters
queueName of the queue
Exceptions
com.latencybusters.lbm.LBMExceptionif an error occurs while retrieving the inflight value
Returns
the inflight value
LBMTopic com.latencybusters.lbm.LBMContext.lookupTopic ( string  symbol)

Create an LBMTopic object (useable for an LBM receiver) for a given topic name. Topic strings should be limited in length to 246 characters (not including the final null).

Warning: It is not safe to call this method from a context thread callback.

Parameters
symbolTopic name string
Returns
LBMTopic object for specified topic name
LBMTopic com.latencybusters.lbm.LBMContext.lookupTopic ( string  symbol,
LBMReceiverAttributes  lbmrattr 
)

Create an LBMTopic object (useable for an LBM receiver) for given topic name and attributes. Topic strings should be limited in length to 246 characters (not including the final null).

Warning: It is not safe to call this method from a context thread callback.

Parameters
symbolTopic name string
lbmrattrlbmrattr LBMReceiverAttributes object
Returns
LBMTopic object for specified topic name and attributes
void com.latencybusters.lbm.LBMContext.processEvents ( long  msec)

Process internal events in the given LBM context object.

When the operational mode is set to "sequential", it is the responsibility of the application to explicitly process events for the LBM context. This method will process timers and API timer and file descriptor/socket events.

Warning: It is not safe to call this method from a context thread callback.

Parameters
msecContinue event processing loop for at least msec milliseconds before returning.
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBM.errorMessage(), and com.latencybusters.lbm.LBM.errorNumber().

void com.latencybusters.lbm.LBMContext.processEvents ( long  msec,
int  flags 
)

Process internal events in the given LBM context object.

When the operational mode is set to "sequential", it is the responsibility of the application to explicitly process events for the LBM context. This method will process timers and API timer and file descriptor/socket events.

Warning: It is not safe to call this method from a context thread callback.

LBM.PROC_EVENT_EX_FLAG_NO_MAIN_LOOP_MUTEX

Parameters
msecContinue event processing loop for at least msec milliseconds before returning.
flagsFlags to select various features.
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBM.EINVAL, com.latencybusters.lbm.LBM.errorMessage(), com.latencybusters.lbm.LBM.errorNumber(), com.latencybusters.lbm.LBM.PROC_EVENT_EX_FLAG_NO_MAIN_LOOP_MUTEX, and com.latencybusters.lbm.LBM.PROC_EVENT_EX_FLAG_USER_TIME.

void com.latencybusters.lbm.LBMContext.processEvents ( long  msec,
int  flags,
UInt32  tv_sec,
UInt32  tv_usec 
)

Process internal events in the given LBM context object.

When the operational mode is set to "sequential", it is the responsibility of the application to explicitly process events for the LBM context. This method will process timers and API timer and file descriptor/socket events.

Warning: It is not safe to call this method from a context thread callback.

LBM.PROC_EVENT_EX_FLAG_NO_MAIN_LOOP_MUTEX LBM.PROC_EVENT_EX_FLAG_USER_TIME

Parameters
msecContinue event processing loop for at least msec milliseconds before returning.
flagsFlags to select various features.
tv_secUser supplies time when the LBM.PROC_EVENT_EX_FLAG_USER_TIME flag is set.
tv_usecUser supplies time when the LBM.PROC_EVENT_EX_FLAG_USER_TIME flag is set.
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBM.errorMessage(), com.latencybusters.lbm.LBM.errorNumber(), com.latencybusters.lbm.LBM.PROC_EVENT_EX_FLAG_NO_MAIN_LOOP_MUTEX, and com.latencybusters.lbm.LBM.PROC_EVENT_EX_FLAG_USER_TIME.

void com.latencybusters.lbm.LBMContext.removeImmediateMessageReceiver ( LBMImmediateMessageCallback  cb)

Deregister a non-topic, immediate message callback.

See also
enableImmediateMessageReceiver
addImmediateMessageReceiver
LBMImmediateMessageCallback
Parameters
cbCallback implementing the LBMImmediateMessageCallback delegate interface
void com.latencybusters.lbm.LBMContext.removeImmediateMessageReceiver ( LBMImmediateMessageCallback  cb,
object  cbArg 
)

Deregister a non-topic, immediate message callback.

See also
enableImmediateMessageReceiver
addImmediateMessageReceiver
LBMImmediateMessageCallback
Parameters
cbCallback implementing the LBMImmediateMessageCallback delegate interface
cbArgCallback token for previously registered callback

References com.latencybusters.lbm.LBMImmediateMessageCallback().

void com.latencybusters.lbm.LBMContext.removeSourceNotifyCallback ( LBMSourceNotification  cb)

Deregister a source notification callback.

See also
LBMSourceNotification
addSourceNotifyCallback
Parameters
cbPreviously registered callback implementing the LBMSourceNotification delegate interface
void com.latencybusters.lbm.LBMContext.requestTopicResolution ( ushort  flags,
uint  interval_msec,
uint  duration_sec 
)

Request Topic Advertisements (sources), Topic Queries (receivers), and/or Wildcard Topic Queries (wildcard receivers) in the configured topic resolution address domain.

Since Advertisements and Queries can become quiescent after a period defined by the Topic Resolution configuration attributes, this function will schedule Topic Resolution Requests at the given interval and duration. Contexts that receive these requests will respond with one advertisement per source and/or one query per receiver as appropriate. These requests will be ignored for topics that are not quiescent. Note that requests are only sent on the outgoing address and are only received on the incoming address. Responses to the request will similarly be sent only on the outgoing address. LBM.TOPIC_RES_REQUEST_CONTEXT_ADVERTISEMENT - Request context advertisements from quiescent contexts. LBM.TOPIC_RES_REQUEST_CONTEXT_QUERY - Request context queries from quiescent contexts.

Parameters
flagsFlags indicating desired requests. ORed set of values. LBM.TOPIC_RES_REQUEST_ADVERTISEMENT - Request advertisements from quiescent sources. LBM.TOPIC_RES_REQUEST_QUERY - Request queries from quiescent receivers. LBM.TOPIC_RES_REQUEST_WILDCARD_QUERY - Request queries from quiescent wildcard receivers.
interval_msecInterval between requests in milliseconds. Less than 10 should be used with caution. Less than 5 is not recommended.
duration_secMinimum duration of requests in seconds. Actual duration can be longer depending on the interval. A value of zero will result in 1 request and the interval will be meaningless.

References com.latencybusters.lbm.LBM.errorMessage(), and com.latencybusters.lbm.LBM.errorNumber().

void com.latencybusters.lbm.LBMContext.resetImmediateMessageSourceStatistics ( )

This will reset the immediate message source transport statistics for this context.

Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBM.errorMessage(), and com.latencybusters.lbm.LBM.errorNumber().

void com.latencybusters.lbm.LBMContext.resetReceiverStatistics ( )

This will reset the transport stats for all receivers in this context.

Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBM.errorMessage(), and com.latencybusters.lbm.LBM.errorNumber().

void com.latencybusters.lbm.LBMContext.resetSourceStatistics ( )

This will reset the transport statistics for all sources in this context.

Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBM.errorMessage(), and com.latencybusters.lbm.LBM.errorNumber().

LBMTimer com.latencybusters.lbm.LBMContext.scheduleTimer ( long  milliseconds)

Create an LBM Timer object and retains an internal reference to it. This prevents the timer from being reclaimed by the garbage collector before it expires.

See createTimer to create a timer that will be reclaimed by the garbage collector in the normal manner once it goes out of scope.

Parameters
millisecondsNumber of milliseconds until the timer expires
Returns
LBMTimer object
LBMTimer com.latencybusters.lbm.LBMContext.scheduleTimer ( long  milliseconds,
LBMEventQueue  lbmevq 
)

Creates a timer associated with this context and a specified event queue that expires with a specified delay, and retains an internal reference to it. This prevents the timer from being reclaimed by the garbage collector before it expires.

See createTimer to create a timer that will be reclaimed by the garbage collector in the normal manner once it goes out of scope.

Parameters
millisecondsNumber of milliseconds until the timer expires
lbmevqEvent queue with with which to associate this timer (the timer events will be posted to this event queue)
Returns
LBMTimer object
LBMTimer com.latencybusters.lbm.LBMContext.scheduleTimer ( long  milliseconds,
LBMTimerCallback  cb,
Object  cbArg 
)

Creates a timer associated with this context that expires with specified delay, and retains an internal reference to it. This prevents the timer from being reclaimed by the garbage collector before it expires.

See createTimer to create a timer that will be reclaimed by the garbage collector in the normal manner once it goes out of scope.

Parameters
millisecondsNumber of milliseconds until the timer expires
cbCallback implementing the LBMTimerCallback delegate interface
cbArgCallback object passed as token to callback interface
Returns
LBMTimer object
LBMTimer com.latencybusters.lbm.LBMContext.scheduleTimer ( long  milliseconds,
LBMTimerCallback  cb,
Object  cbArg,
LBMEventQueue  lbmevq 
)

Creates a timer associated with this context and a specified event queue that expires with a specified delay. This prevents the timer from being reclaimed by the garbage collector before it expires.

See createTimer to create a timer that will be reclaimed by the garbage collector in the normal manner once it goes out of scope.

Parameters
millisecondsNumber of milliseconds until the timer expires
cbCallback implementing the LBMTimerCallback delegate interface
cbArgCallback object passed as token to callback interface
lbmevqEvent queue with with which to associate this timer (the timer events will be posted to this event queue)
Returns
LBMTimer object

References com.latencybusters.lbm.LBMTimer.addTimerCallback(), and com.latencybusters.lbm.LBMTimer.reschedule().

void com.latencybusters.lbm.LBMContext.send ( string  target,
string  topic,
byte []  data,
int  dataLength,
int  flags 
)

Send a unicast immediate message to the target and topic.

The target is a string of one of the following forms:

  • "TCP:domain:ip:port" - where domain is the ID of the destination topic resolution domain, ip is the IP address of the destination host, and port is the request port for the context of the destination application.
  • "TCP:ip:port" - where ip is the IP address of the destination host and port is the request port for the context of the destination application. This usage assumes the destination is in the same topic resolution domain as the sender.
  • "SOURCE:source-string" - where source-string is the string associated with a source's transport session. This allows a subscriber to send a unicast immediate message directly to a publishing application. See Sending to Sources for details.
Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock. Note that immediate messages are processed somewhat less efficiently than source-based messages.
Parameters
targetDestination address string.
topicTopic name to send message to or null for non-topic
dataData to send in this message
dataLengthLength (in bytes) of the data to send in this message
flagsFlags indicating various conditions.
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBM.errorMessage(), and com.latencybusters.lbm.LBM.errorNumber().

void com.latencybusters.lbm.LBMContext.send ( string  target,
string  topic,
LBMRequest  lbmreq,
LBMEventQueue  lbmevq,
int  flags 
)

Send a unicast immediate request message to the target and topic.

The target is a string of one of the following forms:

  • "TCP:domain:ip:port" - where domain is the ID of the destination topic resolution domain, ip is the IP address of the destination host, and port is the request port for the context of the destination application.
  • "TCP:ip:port" - where ip is the IP address of the destination host and port is the request port for the context of the destination application. This usage assumes the destination is in the same topic resolution domain as the sender.
  • "SOURCE:source-string" - where source-string is the string associated with a source's transport session. This allows a subscriber to send a unicast immediate message directly to a publishing application. See Sending to Sources for details.
Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock. Note that immediate messages are processed somewhat less efficiently than source-based messages.
Parameters
targetDestination address string.
topicTopic name to send message to or null for non-topic
lbmreqLBMRequest object
lbmevqLBMEventQueue on which to process responses (may be null if not using an event queue)
flagsFlags indicating various conditions
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBMRequest.data(), com.latencybusters.lbm.LBMRequest.dataLength(), com.latencybusters.lbm.LBM.errorMessage(), and com.latencybusters.lbm.LBM.errorNumber().

void com.latencybusters.lbm.LBMContext.send ( string  target,
string  topic,
LBMRequest  lbmreq,
int  flags 
)

Send a unicast immediate request message to the target and topic.

The target is a string of one of the following forms:

  • "TCP:domain:ip:port" - where domain is the ID of the destination topic resolution domain, ip is the IP address of the destination host, and port is the request port for the context of the destination application.
  • "TCP:ip:port" - where ip is the IP address of the destination host and port is the request port for the context of the destination application. This usage assumes the destination is in the same topic resolution domain as the sender.
  • "SOURCE:source-string" - where source-string is the string associated with a source's transport session. This allows a subscriber to send a unicast immediate message directly to a publishing application. See Sending to Sources for details.
Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.

Note that immediate messages are processed somewhat less efficiently than source-based messages.

Parameters
targetDestination address string.
topicTopic name to send message to or null for non-topic
lbmreqLBMRequest object
flagsFlags indicating various conditions
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.
void com.latencybusters.lbm.LBMContext.send ( string  topic,
byte []  data,
int  dataLength,
int  flags 
)

Send a multicast immediate message to a specific topic.

Possible OR'd set of flag value include: LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, and LBM.MSG_FLUSH

Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
Parameters
topicTopic name to send message to or null for non-topic
dataData to send in this message
dataLengthLength (in bytes) of the data to send in this message
flagsFlags indicating various conditions
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBM.errorMessage(), and com.latencybusters.lbm.LBM.errorNumber().

void com.latencybusters.lbm.LBMContext.send ( string  topic,
LBMRequest  lbmreq,
LBMEventQueue  lbmevq,
int  flags 
)

Send a multicast immediate request to a specific topic (specifying an Event Queue for processing of the response(s))

Possible OR'd set of flag value include: LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, and LBM.MSG_FLUSH

Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
Parameters
topicTopic name to send message to or null for non-topic
lbmreqLBMRequest object
lbmevqLBMEventQueue on which to process responses (may be null if not using an event queue)
flagsFlags indicating various conditions
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBMRequest.data(), com.latencybusters.lbm.LBMRequest.dataLength(), com.latencybusters.lbm.LBM.errorMessage(), and com.latencybusters.lbm.LBM.errorNumber().

void com.latencybusters.lbm.LBMContext.send ( string  topic,
LBMRequest  lbmreq,
int  flags 
)

Send a multicast immediate request to a specific topic.

Possible OR'd set of flag value include: LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, and LBM.MSG_FLUSH

Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
Parameters
topicTopic name to send message to or null for non-topic
lbmreqLBMRequest object
flagsFlags indicating various conditions
void com.latencybusters.lbm.LBMContext.send ( string  queue,
string  topic,
byte []  data,
int  dataLength,
int  flags,
LBMSourceSendExInfo  exinfo 
)

Send a multicast immediate message on a specific topic to a queue. (UMQ only)

Possible OR'd set of flag value include: LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, and LBM.MSG_FLUSH

Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
Parameters
queueQueue to submit message to
topicTopic name to send message to or null for non-topic
dataData to send in this message
dataLengthLength (in bytes) of the data to send in this message
flagsFlags indicating various conditions
exinfoLBMSourceSendExInfo object, which includes flags to change callback behavior and a client-supplied object to be passed back.

References com.latencybusters.lbm.LBMSourceSendExInfo.clientObject(), com.latencybusters.lbm.LBM.errorMessage(), com.latencybusters.lbm.LBM.errorNumber(), com.latencybusters.lbm.UMQIndexInfo.flags(), com.latencybusters.lbm.LBMSourceSendExInfo.flags(), com.latencybusters.lbm.UMQIndexInfo.index(), com.latencybusters.lbm.UMQIndexInfo.indexLength(), com.latencybusters.lbm.UMQIndexInfo.numericIndex(), com.latencybusters.lbm.UMQMessageTotalLifetimeInfo.totalLifetime(), and com.latencybusters.lbm.LBM.UMQ_INDEX_FLAG_NUMERIC.

void com.latencybusters.lbm.LBMContext.sendc ( char []  target,
char []  topic,
byte[]  data,
int  dataLength,
int  flags 
)

Send a unicast immediate message to the target and topic.

The target is a string of one of the following forms:

  • "TCP:domain:ip:port" - where domain is the ID of the destination topic resolution domain, ip is the IP address of the destination host, and port is the request port for the context of the destination application.
  • "TCP:ip:port" - where ip is the IP address of the destination host and port is the request port for the context of the destination application. This usage assumes the destination is in the same topic resolution domain as the sender.
  • "SOURCE:source-string" - where source-string is the string associated with a source's transport session. This allows a subscriber to send a unicast immediate message directly to a publishing application. See Sending to Sources for details.
Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock. Note that immediate messages are processed somewhat less efficiently than source-based messages.
Parameters
targetDestination address string.
topicTopic name to send message to or null for non-topic
dataData to send in this message
dataLengthLength (in bytes) of the data to send in this message
flagsFlags indicating various conditions.
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBM.errorMessage(), and com.latencybusters.lbm.LBM.errorNumber().

void com.latencybusters.lbm.LBMContext.sendc ( char []  topic,
byte[]  data,
int  dataLength,
int  flags 
)

Send a multicast immediate message to a specific topic.

Possible OR'd set of flag value include: LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, and LBM.MSG_FLUSH

Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
Parameters
topicTopic name to send message to or null for non-topic
dataData to send in this message
dataLengthLength (in bytes) of the data to send in this message
flagsFlags indicating various conditions
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBM.errorMessage(), and com.latencybusters.lbm.LBM.errorNumber().

void com.latencybusters.lbm.LBMContext.sendTopicless ( string  target,
byte[]  data,
int  dataLength,
int  flags 
)

Send a topicless unicast immediate message to the target.

The target is a string of one of the following forms:

  • "TCP:domain:ip:port" - where domain is the ID of the destination topic resolution domain, ip is the IP address of the destination host, and port is the request port for the context of the destination application.
  • "TCP:ip:port" - where ip is the IP address of the destination host and port is the request port for the context of the destination application. This usage assumes the destination is in the same topic resolution domain as the sender.
  • "SOURCE:source-string" - where source-string is the string associated with a source's transport session. This allows a subscriber to send a unicast immediate message directly to a publishing application. See Sending to Sources for details.
Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock. Note that immediate messages are processed somewhat less efficiently than source-based messages.
Parameters
targetDestination address string.
dataData to send in this message
dataLengthLength (in bytes) of the data to send in this message
flagsFlags indicating various conditions.
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.
void com.latencybusters.lbm.LBMContext.sendTopicless ( char[]  target,
byte[]  data,
int  dataLength,
int  flags 
)

Send a topicless unicast immediate message to the target.

The target is a string of one of the following forms:

  • "TCP:domain:ip:port" - where domain is the ID of the destination topic resolution domain, ip is the IP address of the destination host, and port is the request port for the context of the destination application.
  • "TCP:ip:port" - where ip is the IP address of the destination host and port is the request port for the context of the destination application. This usage assumes the destination is in the same topic resolution domain as the sender.
  • "SOURCE:source-string" - where source-string is the string associated with a source's transport session. This allows a subscriber to send a unicast immediate message directly to a publishing application. See Sending to Sources for details.
Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock. Note that immediate messages are processed somewhat less efficiently than source-based messages.
Parameters
targetDestination address string.
dataData to send in this message
dataLengthLength (in bytes) of the data to send in this message
flagsFlags indicating various conditions.
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.
void com.latencybusters.lbm.LBMContext.sendTopicless ( byte[]  data,
int  dataLength,
int  flags 
)

Send a topicless multicast immediate message.

Possible OR'd set of flag value include: LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, and LBM.MSG_FLUSH

Note
If called from a context thread callback, use the LBM_SRC_NONBLOCK flag and handle any LBM_EWOULDBLOCK errors internally.
Warning
Do not call this function from a context thread callback for persistence stability or persistence confirmation events. It can result in deadlock.
Parameters
dataData to send in this message
dataLengthLength (in bytes) of the data to send in this message
flagsFlags indicating various conditions
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.
void com.latencybusters.lbm.LBMContext.setAttributeValue ( string  attributeName,
string  attributeValue 
)

Set the value of a context-related attribute for this context.

Note that this method bypasses the property list. As such no attributes configured using this method will appear in the property list.

Parameters
attributeNameName of the attribute to set
attributeValueNew attribute value
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBM.errorMessage(), and com.latencybusters.lbm.LBM.errorNumber().

int com.latencybusters.lbm.LBMContext.setUMQInflight ( string  queue,
LBMSetInflightCallback  cb,
object  cbObj 
)

Set the current UMQ inflight value for this context. This function is deprecated.

Parameters
queueName of the queue
cbLBMSetInflightCallback delegate
cbObjClient object passed into callback
Exceptions
com.latencybusters.lbm.LBMExceptionif an error occurs while setting the inflight value
Returns
the new inflight value

References com.latencybusters.lbm.LBM.errorMessage(), and com.latencybusters.lbm.LBM.errorNumber().

void com.latencybusters.lbm.LBMContext.setUMQMessageStable ( string  queue,
UMQMessageId  msg_id 
)

Mark a specific msg_id as stable, triggering an event if configured to do so, and adjusting the inflight if necessary. This function is deprecated.

Parameters
queueName of the queue
msg_idMessageId of the message to mark stable
Exceptions
com.latencybusters.lbm.LBMExceptionif an error occurs while marking the message stable

References com.latencybusters.lbm.LBM.errorMessage(), com.latencybusters.lbm.LBM.errorNumber(), com.latencybusters.lbm.UMQMessageId.msgStamp(), and com.latencybusters.lbm.UMQMessageId.registrationId().

void com.latencybusters.lbm.LBMContext.unblockProcessEvents ( )

Unblock processEvents call.

When the operational mode is set to "sequential", this API forces a call to processEvents to return immediately after completing the current set of I/O operations instead of waiting.

Exceptions
com.latencybusters.lbm.LBMExceptionif any error occurs.

References com.latencybusters.lbm.LBM.errorMessage(), and com.latencybusters.lbm.LBM.errorNumber().


The documentation for this class was generated from the following file: