UM .NET API  6.16.1
com.latencybusters.lbm.LBMWildcardReceiver Class Reference

LBM Wildcard Receiver class. More...

Inheritance diagram for com.latencybusters.lbm.LBMWildcardReceiver:

Classes

struct  lbm_event_queue_cancel_cb_info_t
 
struct  lbmtmgr_channel_wrcv_cb_clientd_t
 

Public Member Functions

 LBMWildcardReceiver (LBMContext lbmctx, string pattern, LBMReceiverAttributes lbmrcvattr, LBMWildcardReceiverAttributes lbmwrcvattr)
 Instantiate an LBM Wildcard Receiver object that will receive messages sent to any topic matching the given pattern. More...
 
 LBMWildcardReceiver (LBMContext lbmctx, string pattern, LBMReceiverAttributes lbmrcvattr, LBMWildcardReceiverAttributes lbmwrcvattr, LBMEventQueue lbmevq)
 Instantiate an LBM Wildcard Receiver object (associated with a specified event queue) that will receive messages sent to any topic matching the given pattern. More...
 
 LBMWildcardReceiver (LBMContext lbmctx, String pattern, LBMReceiverAttributes lbmrcvattr, LBMWildcardReceiverAttributes lbmwrcvattr, LBMReceiverCallback cb, object cbArg)
 Instantiate an LBM Wildcard Receiver object that will receive messages sent to any topic matching the given pattern, with an initial callback and callback object set. More...
 
 LBMWildcardReceiver (LBMContext lbmctx, String pattern, LBMReceiverAttributes lbmrcvattr, LBMWildcardReceiverAttributes lbmwrcvattr, LBMReceiverCallback cb, object cbArg, LBMEventQueue lbmevq)
 Instantiate an LBM Wildcard Receiver object (associated with a specified event queue) that will receive messages sent to any topic matching the given pattern, with an initial callback and callback object set. More...
 
unsafe List< LBMConfigOptiondumpAttributeList ()
 Dump source configuration options. More...
 
string getAttributeValue (string attributeName)
 Returns the value of a wildcard receiver-related attribute for this wildcard receiver. More...
 
void setAttributeValue (string attributeName, string attributeValue)
 Set the value of a wildcard receiver-related attribute for this wildcard receiver. More...
 
void umederegister ()
 Deregister this wildcard receiver.
 
int receiverCount ()
 Returns the number of receiver callbacks registered to this receiver. More...
 
void addReceiver (LBMReceiverCallback cb)
 Register a receiver callback. More...
 
void addReceiver (LBMReceiverCallback cb, Object cbArg)
 Register a receiver callback (and callback token) More...
 
void removeReceiver (LBMReceiverCallback cb)
 Deregister a receiver callback. More...
 
void removeReceiver (LBMReceiverCallback cb, object cbArg)
 Deregister a receiver callback (and callback token) More...
 
virtual void subscribeChannel (long channelNumber, LBMReceiverCallback cb, Object cbArg)
 Subscribe to the given channel, with an optional callback and token object. The specified callback will be called to deliver messages sent with the specified channel number. If null is specified for the callback, messages sent with the specified channel number will be delivered to the receiver's normal callback. Only one callback may be registered for a given channel. If this method is called twice with the same channel number, an error will result. More...
 
virtual void unsubscribeChannel (long channelNumber)
 Discontinue an existing channel subscription. More...
 
void indexStopAssignment (String queue)
 Stops this wildcard receiver's eligibility for new index assignments from a queue. More...
 
void indexStartAssignment (String queue)
 Starts this wildcard receiver's eligibility for new index assignments from a queue. More...
 
void indexRelease (String queue, UMQIndexInfo index)
 Instruct the given UMQ queue(s) to release the given UMQ index that is assigned to the given wildcard receiver. More...
 
void deregister ()
 Deregister from all queues. More...
 
void deregister (String queue)
 Deregister from a single queue, specified by name. More...
 
void close ()
 Close and dispose of this receiver. More...
 
void Dispose ()
 Same as close. More...
 

Detailed Description

LBM Wildcard Receiver class.

Warning: It is not safe to instantiate this class from a context thread callback.

Constructor & Destructor Documentation

com.latencybusters.lbm.LBMWildcardReceiver.LBMWildcardReceiver ( LBMContext  lbmctx,
string  pattern,
LBMReceiverAttributes  lbmrcvattr,
LBMWildcardReceiverAttributes  lbmwrcvattr 
)

Instantiate an LBM Wildcard Receiver object that will receive messages sent to any topic matching the given pattern.

ATTENTION: An application should have at least one receiver callback registered per receiver object. Use of this constructor creates a window after receiver creation and before adding a callback in which messages may be lost; therefore, its using this constructor is not recommended. Use a constructor that specifies at least one initial callback instead.

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

Parameters
lbmctxContext with which to associate the wildcard receiver
patternPattern used to match topic strings
lbmrcvattrLBMReceiverAttributes to be associated with this wildcard receiver
lbmwrcvattrLBMWildcardReceiverAttributes to be associated with this wildcard receiver
com.latencybusters.lbm.LBMWildcardReceiver.LBMWildcardReceiver ( LBMContext  lbmctx,
string  pattern,
LBMReceiverAttributes  lbmrcvattr,
LBMWildcardReceiverAttributes  lbmwrcvattr,
LBMEventQueue  lbmevq 
)

Instantiate an LBM Wildcard Receiver object (associated with a specified event queue) that will receive messages sent to any topic matching the given pattern.

ATTENTION: An application should have at least one receiver callback registered per receiver object. Use of this constructor creates a window after receiver creation and before adding a callback in which messages may be lost; therefore, its using this constructor is not recommended. Use a constructor that specifies at least one initial callback instead.

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

Parameters
lbmctxContext with which to associate the wildcard receiver
patternPattern used to match topic strings
lbmrcvattrLBMReceiverAttributes to be associated with this wildcard receiver
lbmwrcvattrLBMWildcardReceiverAttributes to be associated with this wildcard receiver
lbmevqEvent queue with which to associate the receiver (all receiver events will be posted to this event queue)
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.
com.latencybusters.lbm.LBMWildcardReceiver.LBMWildcardReceiver ( LBMContext  lbmctx,
String  pattern,
LBMReceiverAttributes  lbmrcvattr,
LBMWildcardReceiverAttributes  lbmwrcvattr,
LBMReceiverCallback  cb,
object  cbArg 
)

Instantiate an LBM Wildcard Receiver object that will receive messages sent to any topic matching the given pattern, with an initial callback and callback object set.

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

Parameters
lbmctxContext with which to associate the receiver
patternPattern used to match topic strings
lbmrcvattrLBMReceiverAttributes to be associated with this wildcard receiver
lbmwrcvattrLBMWildcardReceiverAttributes to be associated with this wildcard receiver
cbCallback implementing the LBMReceiverCallback delegate interface
cbArgCallback object passed as token to callback interface
com.latencybusters.lbm.LBMWildcardReceiver.LBMWildcardReceiver ( LBMContext  lbmctx,
String  pattern,
LBMReceiverAttributes  lbmrcvattr,
LBMWildcardReceiverAttributes  lbmwrcvattr,
LBMReceiverCallback  cb,
object  cbArg,
LBMEventQueue  lbmevq 
)

Instantiate an LBM Wildcard Receiver object (associated with a specified event queue) that will receive messages sent to any topic matching the given pattern, with an initial callback and callback object set.

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

Parameters
lbmctxContext with which to associate the receiver
patternPattern used to match topic strings
lbmrcvattrLBMReceiverAttributes to be associated with this wildcard receiver
lbmwrcvattrLBMWildcardReceiverAttributes to be associated with this wildcard 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)
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(), and com.latencybusters.lbm.LBM.errorNumber().

Member Function Documentation

void com.latencybusters.lbm.LBMWildcardReceiver.addReceiver ( LBMReceiverCallback  cb)

Register a receiver callback.

See also
LBMReceiverCallback
removeReceiver
Parameters
cbCallback implementing the LBMReceiverCallback delegate interface
void com.latencybusters.lbm.LBMWildcardReceiver.addReceiver ( LBMReceiverCallback  cb,
Object  cbArg 
)

Register a receiver callback (and callback token)

See also
LBMReceiverCallback
removeReceiver
Parameters
cbCallback implementing the LBMReceiverCallback delegate interface
cbArgCallback object token

References com.latencybusters.lbm.LBM.LOG_WARNING.

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

Close and dispose of this receiver.

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

void com.latencybusters.lbm.LBMWildcardReceiver.deregister ( )

Deregister from all queues.

Exceptions
com.latencybusters.lbm.LBMExceptionAn error occurred while attempting to deregister

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

void com.latencybusters.lbm.LBMWildcardReceiver.deregister ( String  queue)

Deregister from a single queue, specified by name.

Parameters
queueThe queue to deregister from
Exceptions
com.latencybusters.lbm.LBMExceptionAn error occurred while attempting to deregister

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

void com.latencybusters.lbm.LBMWildcardReceiver.Dispose ( )

Same as close.

See also
close
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().

unsafe List<LBMConfigOption> com.latencybusters.lbm.LBMWildcardReceiver.dumpAttributeList ( )

Dump source configuration options.

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

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.

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

Returns the value of a wildcard receiver-related attribute for this wildcard receiver.

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().

void com.latencybusters.lbm.LBMWildcardReceiver.indexRelease ( String  queue,
UMQIndexInfo  index 
)

Instruct the given UMQ queue(s) to release the given UMQ index that is assigned to the given wildcard receiver.

Parameters
queueName of the queue at which to release the index, or null for all queues.
indexThe index to release, or null for all indices.

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

void com.latencybusters.lbm.LBMWildcardReceiver.indexStartAssignment ( String  queue)

Starts this wildcard receiver's eligibility for new index assignments from a queue.

Parameters
queueThe name of the queue to start new index assignment from, or null for all queues.

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

void com.latencybusters.lbm.LBMWildcardReceiver.indexStopAssignment ( String  queue)

Stops this wildcard receiver's eligibility for new index assignments from a queue.

Parameters
queueThe name of the queue to stop new index assignment from, or null for all queues.

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

int com.latencybusters.lbm.LBMWildcardReceiver.receiverCount ( )

Returns the number of receiver callbacks registered to this receiver.

Returns
The number of receiver callbacks registered to this receiver
void com.latencybusters.lbm.LBMWildcardReceiver.removeReceiver ( LBMReceiverCallback  cb)

Deregister a receiver callback.

See also
LBMReceiverCallback
addReceiver
Parameters
cbPreviously registered callback implementing the LBMReceiverCallback delegate interface
void com.latencybusters.lbm.LBMWildcardReceiver.removeReceiver ( LBMReceiverCallback  cb,
object  cbArg 
)

Deregister a receiver callback (and callback token)

See also
LBMReceiverCallback
addReceiver
Parameters
cbPreviously registered callback implementing the LBMReceiverCallback delegate interface
cbArgToken for previously registered callback

References com.latencybusters.lbm.LBMMessage.Dispose(), com.latencybusters.lbm.LBMReceiverCallback(), com.latencybusters.lbm.LBM.LOG_WARNING, and com.latencybusters.lbm.LBMObjectRecyclerBase.retrieveMessage().

void com.latencybusters.lbm.LBMWildcardReceiver.setAttributeValue ( string  attributeName,
string  attributeValue 
)

Set the value of a wildcard receiver-related attribute for this wildcard receiver.

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().

virtual void com.latencybusters.lbm.LBMWildcardReceiver.subscribeChannel ( long  channelNumber,
LBMReceiverCallback  cb,
Object  cbArg 
)
virtual

Subscribe to the given channel, with an optional callback and token object. The specified callback will be called to deliver messages sent with the specified channel number. If null is specified for the callback, messages sent with the specified channel number will be delivered to the receiver's normal callback. Only one callback may be registered for a given channel. If this method is called twice with the same channel number, an error will result.

Parameters
channelNumberA positive integer indicating the channel to subscribe to
cbAn option callback to be called for messages on the specified channel
cbArgA token to be passed to the specified callback. If null is specified for the cb argument, this argument will be ignored.
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function. Most likely due to attempting to subscribe to a channel for which a subscription already exists.

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

virtual void com.latencybusters.lbm.LBMWildcardReceiver.unsubscribeChannel ( long  channelNumber)
virtual

Discontinue an existing channel subscription.

Parameters
channelNumberA positive integer indicating that channel to unsubscribe from
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function. Most likely due to attempting to unsubscribe from a channel that was not previously subscribed to

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


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