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

LBM Hot-Failover Source class. More...

Inheritance diagram for com.latencybusters.lbm.LBMHotFailoverSource:
com.latencybusters.lbm.LBMSource

Public Member Functions

 LBMHotFailoverSource (LBMContext lbmctx, LBMTopic lbmtopic)
 Instantiate an LBM Hot-Failover Source object associated with a given context and topic. More...
 
 LBMHotFailoverSource (LBMContext lbmctx, LBMTopic lbmtopic, LBMSourceEventCallback cb, object cbArg)
 Instantiate an LBM Hot-Failover Source object associated with a given context and topic and initialize source event callback. More...
 
 LBMHotFailoverSource (LBMContext lbmctx, LBMTopic lbmtopic, LBMEventQueue lbmevq)
 Instantiate an LBM Hot-Failover Source object associated with a given context, topic, and event queue. More...
 
 LBMHotFailoverSource (LBMContext lbmctx, LBMTopic lbmtopic, LBMSourceEventCallback cb, object cbArg, LBMEventQueue lbmevq)
 Instantiate an LBM Hot-Failover Source object associated with a given context, topic, and event queue and initialize source event callback. More...
 
void send (byte[] message, int messageLength, long sqn, int flags)
 Send a message to the topic associated with the LBM source. More...
 
void send (byte[] message, int messageLength, long sqn, int flags, LBMSourceSendExInfo exinfo)
 Send a message to the topic associated with the LBM source. More...
 
void sendReceiverReset (int flags, LBMSourceSendExInfo exinfo)
 Send a message that instructs hot-failover receivers to reset their state. In, and only in, the case that hf receivers cannot be manually restarted, this function can be used to allow delivering of previously sent sequence numbers. The hot-failover receiver will deliver a message of type LBM.MSG_HF_RESET and will include the new expected sequence number. The sequence number contained with the reset will be used as the next expected sequence number to be sent. NOTE: The best way to reset a hot-failover receiver's state is to restart the receiver itself. This function should be used only when that is impossible. More...
 
void close ()
 Close and dispose of this source. More...
 
void umederegister ()
 Deregister the UME Source. More...
 
bool isClosed ()
 Check if a source has been closed. More...
 
LBMSourceChannelInfo createChannel (long channelNumber)
 Create a channel object to send messages with the given channel number. More...
 
void deleteChannel (LBMSourceChannelInfo channelInfo)
 Deletea channel object. More...
 
void addSourceCallback (LBMSourceEventCallback cb)
 Register a source event callback. More...
 
void addSourceCallback (LBMSourceEventCallback cb, object cbArg)
 Register a source event callback (and callback token) More...
 
void removeSourceCallback (LBMSourceEventCallback cb)
 Deregister a source event callback. More...
 
void removeSourceCallback (LBMSourceEventCallback cb, object cbArg)
 Deregister a source event callback. More...
 
unsafe List< LBMConfigOptiondumpAttributeList ()
 Dump source configuration options. More...
 
string getAttributeValue (string attributeName)
 Returns the value of a source-related attribute for this source. More...
 
void setAttributeValue (string attributeName, string attributeValue)
 Set the value of a source-related attribute for this source. More...
 
LBMSourceStatistics getStatistics ()
 Return the current set of source transport statistics for this source. More...
 
void resetStatistics ()
 This will reset the transport statistics for this source. More...
 
int getInflight (int type)
 Get the current inflight value for this source. More...
 
void getInflight (int type, out int messages, out ulong bytes)
 Get the current inflight values for message and bytes. More...
 
int setInflight (int type, LBMSetInflightCallback cb, object cbObj)
 Set the current inflight value for this source. More...
 
void setInflight (int type, out int messages, out ulong bytes, LBMSetInflightCallbackEx cb, object cbObj)
 Set the current inflight messages and bytes for this source. Note that increasing one value while decreasing the other is not allowed. If you need to do this, call setInflight twice using 0 as the value for the one you are not changing. More...
 
void setUMEMessageStable (long sqn)
 Mark a specific sqn as stable, triggering an event if configured to do so, and adjusting the inflight if necessary. More...
 
void send (byte[] message, int messageLength, int flags)
 Send a message to the topic associated with the LBM source. More...
 
void send (byte[] message, int messageLength, int flags, object cbArg)
 Send a message to the topic associated with the LBM source. More...
 
void send (byte[] message, int messageLength, int flags, LBMSourceSendExInfo exinfo)
 Send a message to the topic associated with the LBM source. More...
 
void send (LBMRequest lbmreq, int flags)
 Send a request message to the topic associated with the LBM source. More...
 
void send (LBMRequest lbmreq, LBMEventQueue lbmevq, int flags)
 Send a request message to the topic associated with the LBM source using a designated event queue for responses. More...
 
void send (LBMRequest lbmreq, int flags, LBMSourceSendExInfo exinfo)
 Send a request message to the topic associated with the LBM source using an designated event queue for responses. More...
 
void send (LBMRequest lbmreq, LBMEventQueue lbmevq, int flags, LBMSourceSendExInfo exinfo)
 Send a request message to the topic associated with the LBM source using an designated event queue for responses. More...
 
void flush ()
 Send messages from both the explicit and implicit batches ASAP. More...
 
int buffAcquire (out IntPtr bufp, uint len, int flags)
 Acquire a pointer to a buffer of the specified length, to be filled in and sent later. Warning: this API is NOT thread safe between sources on the same transport session. For thread safety, use the send api. More...
 
void buffsComplete ()
 Sends all buffers on a transport session that had ben previously acquired. Warning: this API is NOT thread safe between sources on the same transport session.
 
int buffsCompleteAndAcquire (out IntPtr bufp, uint len, int flags)
 First sends all buffers on a transport session that had ben previously acquired, and then acquires a pointer to a buffer of the specified length, to be filled in and sent later. Warning: this API is NOT thread safe between sources on the same transport session. More...
 
void buffsCancel ()
 Cancels all outstanding (not yet completed) buffers previously acquired using buffAcquire or buffsCompleteAndAcquire. All such acquired but not completed buffers for this source (only) will no longer be received by any receives.
 
void Dispose ()
 Same as close. More...
 

Detailed Description

LBM Hot-Failover Source class.

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

Constructor & Destructor Documentation

com.latencybusters.lbm.LBMHotFailoverSource.LBMHotFailoverSource ( LBMContext  lbmctx,
LBMTopic  lbmtopic 
)

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

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

Parameters
lbmctxContext with which to associate the source
lbmtopicLBMTopic used to initialize the source

References com.latencybusters.lbm.LBMSourceEventCallback().

com.latencybusters.lbm.LBMHotFailoverSource.LBMHotFailoverSource ( LBMContext  lbmctx,
LBMTopic  lbmtopic,
LBMSourceEventCallback  cb,
object  cbArg 
)

Instantiate an LBM Hot-Failover Source object associated with a given context and topic and initialize source event callback.

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

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

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

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

Parameters
lbmctxContext with which to associate the source
lbmtopicLBMTopic used to initialize the source
lbmevqEvent queue with which to associate the source (all source events will be posted to this event queue)

References com.latencybusters.lbm.LBMSourceEventCallback().

com.latencybusters.lbm.LBMHotFailoverSource.LBMHotFailoverSource ( LBMContext  lbmctx,
LBMTopic  lbmtopic,
LBMSourceEventCallback  cb,
object  cbArg,
LBMEventQueue  lbmevq 
)

Instantiate an LBM Hot-Failover Source object associated with a given context, topic, and event queue and initialize source event callback.

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

Parameters
lbmctxContext with which to associate the source
lbmtopicLBMTopic used to initialize the source
cbCallback implementing the LBMSourceEventCallback delegate interface
cbArgCallback token object
lbmevqEvent queue with which to associate the source
Exceptions
com.latencybusters.lbm.LBMEInvalExceptionTopic is not a source topic
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(), and com.latencybusters.lbm.LBM.SRC_TOPIC_ATTR_UMQ_ULB_EVENT_MSG_COMPLETE.

Member Function Documentation

void com.latencybusters.lbm.LBMSource.addSourceCallback ( LBMSourceEventCallback  cb)
inherited

Register a source event callback.

See also
LBMSourceEventCallback
removeSourceCallback
Parameters
cbCallback implementing the LBMSourceEventCallback delegate interface
void com.latencybusters.lbm.LBMSource.addSourceCallback ( LBMSourceEventCallback  cb,
object  cbArg 
)
inherited

Register a source event callback (and callback token)

See also
LBMSourceEventCallback
removeSourceCallback
Parameters
cbCallback implementing the LBMSourceEventCallback delegate interface
cbArgCallback token object
int com.latencybusters.lbm.LBMSource.buffAcquire ( out IntPtr  bufp,
uint  len,
int  flags 
)
inherited

Acquire a pointer to a buffer of the specified length, to be filled in and sent later. Warning: this API is NOT thread safe between sources on the same transport session. For thread safety, use the send api.

Parameters
bufpA pointer to the location in memory availble for writing to.
lenThe request length of the buffer in bytes
flagsSet to LBM.SRC_NONBLOCK for non-blocking behavior. Default is blocking.
Returns
0 if successful, -1 if send would block and non-blocking sends were requested.

References com.latencybusters.lbm.LBM.EINVAL.

int com.latencybusters.lbm.LBMSource.buffsCompleteAndAcquire ( out IntPtr  bufp,
uint  len,
int  flags 
)
inherited

First sends all buffers on a transport session that had ben previously acquired, and then acquires a pointer to a buffer of the specified length, to be filled in and sent later. Warning: this API is NOT thread safe between sources on the same transport session.

Parameters
bufpA pointer to the location in memory availble for writing to.
lenThe request length of the buffer in bytes
flagsSet to LBM.SRC_NONBLOCK for non-blocking behavior. Default is blocking.
Returns
0 if successful, -1 if send would block and non-blocking sends were requested.

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

void com.latencybusters.lbm.LBMSource.close ( )
inherited

Close and dispose of this source.

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

LBMSourceChannelInfo com.latencybusters.lbm.LBMSource.createChannel ( long  channelNumber)
inherited

Create a channel object to send messages with the given channel number.

Parameters
channelNumberChannel number in the range 0-4294967295
Returns
A new LBMSourceChannelInfo object
void com.latencybusters.lbm.LBMSource.deleteChannel ( LBMSourceChannelInfo  channelInfo)
inherited

Deletea channel object.

Parameters
channelInfoA channelInfo object

References com.latencybusters.lbm.LBMSourceChannelInfo.close().

void com.latencybusters.lbm.LBMSource.Dispose ( )
inherited

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.LBMSource.dumpAttributeList ( )
inherited

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.

void com.latencybusters.lbm.LBMSource.flush ( )
inherited

Send messages from both the explicit and implicit batches ASAP.

Note
calling lbm_src_flush() for a given source effectively flushes the implicit batcher for all sources on the same transport session.
Warning
Do not call this function from a context thread callback. It can result in deadlock.
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.LBMSource.getAttributeValue ( string  attributeName)
inherited

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

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

int com.latencybusters.lbm.LBMSource.getInflight ( int  type)
inherited

Get the current inflight value for this source.

Parameters
typeThe type of flight size
Exceptions
com.latencybusters.lbm.LBMExceptionif an error occurs while retrieving the inflight value
Returns
the inflight value
void com.latencybusters.lbm.LBMSource.getInflight ( int  type,
out int  messages,
out ulong  bytes 
)
inherited

Get the current inflight values for message and bytes.

Parameters
typeThe type of flight size
messagesThis reference will be set to the current number of inflight messages.
bytesThis reference will be set to the current number of inflight bytes.
LBMSourceStatistics com.latencybusters.lbm.LBMSource.getStatistics ( )
inherited

Return the current set of source transport statistics for this source.

Returns
LBMSourceStatistics object containing the statistics corresponding to this source

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

bool com.latencybusters.lbm.LBMSource.isClosed ( )
inherited

Check if a source has been closed.

Returns
A bool that is true if the source no longer points to a valid C reference
void com.latencybusters.lbm.LBMSource.removeSourceCallback ( LBMSourceEventCallback  cb)
inherited

Deregister a source event callback.

See also
LBMSourceEventCallback
addSourceCallback
Parameters
cbPreviously registered callback implementing the LBMSourceEventCallback delegate interface
void com.latencybusters.lbm.LBMSource.removeSourceCallback ( LBMSourceEventCallback  cb,
object  cbArg 
)
inherited

Deregister a source event callback.

See also
LBMSourceEventCallback
addSourceCallback
Parameters
cbPreviously registered callback implementing the LBMSourceEventCallback delegate interface
cbArgCallback token object

References com.latencybusters.lbm.LBMSourceEventCallback(), and com.latencybusters.lbm.LBMObjectRecyclerBase.retrieveSourceEvent().

void com.latencybusters.lbm.LBMSource.resetStatistics ( )
inherited

This will reset the transport statistics for this source.

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.LBMHotFailoverSource.send ( byte []  message,
int  messageLength,
long  sqn,
int  flags 
)

Send a message to the topic associated with the LBM source.

Possible OR'd set of flag value include:

LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, 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
messageData to send in this message
messageLengthNumber of bytes of data to send in this message
sqnThe application sequence number to associate with 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.LBMHotFailoverSource.send ( byte[]  message,
int  messageLength,
long  sqn,
int  flags,
LBMSourceSendExInfo  exinfo 
)

Send a message to the topic associated with the LBM source.

Possible OR'd set of flag value include:

LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, and LBM.MSG_FLUSH LBM.SRC_EVENT_UME_MESSAGE_STABLE LBM.SRC_EVENT_UME_MESSAGE_STABLE_EX LBM.SRC_EVENT_UME_DELIVERY_CONFIRMATION LBM.SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX

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
messageData to send in this message
messageLengthNumber of bytes of data to send in this message
sqnThe application sequence number to associate with this message
flagsFlags indicating various conditions
exinfoLBMSourceSendExInfo object, which includes flags to change callback behavior and a client-supplied object to be passed back. (UME only)
Exceptions
com.latencybusters.lbm.LBMEInvalExceptionConfirmed delivery or message stability notifications are not enabled
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBMSourceSendExInfo.clientObject(), com.latencybusters.lbm.LBM.EINVAL, com.latencybusters.lbm.LBM.errorMessage(), com.latencybusters.lbm.LBM.errorNumber(), com.latencybusters.lbm.LBMSourceSendExInfo.flags(), com.latencybusters.lbm.LBMSourceSendExInfo.getHfSequenceNumber32(), com.latencybusters.lbm.LBMSourceSendExInfo.getHfSequenceNumber64(), com.latencybusters.lbm.LBM.SRC_SEND_EX_FLAG_HF_32, and com.latencybusters.lbm.LBM.SRC_SEND_EX_FLAG_HF_64.

void com.latencybusters.lbm.LBMSource.send ( byte[]  message,
int  messageLength,
int  flags 
)
inherited

Send a message to the topic associated with the LBM source.

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.

Possible OR'd set of flag value include:

LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, and LBM.MSG_FLUSH LBM.SRC_EVENT_UME_MESSAGE_STABLE LBM.SRC_EVENT_UME_DELIVERY_CONFIRMATION

Parameters
messageData to send in this message
messageLengthNumber of bytes of 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(), com.latencybusters.lbm.LBM.errorNumber(), com.latencybusters.lbm.LBM.EWOULDBLOCK, and com.latencybusters.lbm.LBM.SRC_NONBLOCK.

void com.latencybusters.lbm.LBMSource.send ( byte[]  message,
int  messageLength,
int  flags,
object  cbArg 
)
inherited

Send a message to the topic associated with the LBM source.

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.

Possible OR'd set of flag value include:

LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, and LBM.MSG_FLUSH LBM.SRC_EVENT_UME_MESSAGE_STABLE LBM.SRC_EVENT_UME_DELIVERY_CONFIRMATION

Parameters
messageData to send in this message
messageLengthNumber of bytes of data to send in this message
flagsFlags indicating various conditions
cbArgClient object to be passed back in stability or confirmation events related to this message (UME only)
Exceptions
com.latencybusters.lbm.LBMEInvalExceptionCertified delivery notification is not enabled
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().

void com.latencybusters.lbm.LBMSource.send ( byte[]  message,
int  messageLength,
int  flags,
LBMSourceSendExInfo  exinfo 
)
inherited

Send a message to the topic associated with the LBM source.

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.

Possible OR'd set of flag value include:

LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, and LBM.MSG_FLUSH LBM.SRC_EVENT_UME_MESSAGE_STABLE LBM.SRC_EVENT_UME_MESSAGE_STABLE_EX LBM.SRC_EVENT_UME_DELIVERY_CONFIRMATION LBM.SRC_EVENT_UME_DELIVERY_CONFIRMATION_EX

Parameters
messageData to send in this message
messageLengthNumber of bytes of 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. (UME only)
Exceptions
com.latencybusters.lbm.LBMEInvalExceptionConfirmed delivery or message stability notifications are not enabled
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBMSourceSendExInfo.channelInfo(), com.latencybusters.lbm.LBMSourceSendExInfo.clientObject(), com.latencybusters.lbm.LBM.EINVAL, 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.LBMSourceSendExInfo.properties(), com.latencybusters.lbm.UMQMessageTotalLifetimeInfo.totalLifetime(), and com.latencybusters.lbm.LBM.UMQ_INDEX_FLAG_NUMERIC.

void com.latencybusters.lbm.LBMSource.send ( LBMRequest  lbmreq,
int  flags 
)
inherited

Send a request message to the topic associated with the LBM source.

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.

Possible OR'd set of flag value include:

LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, and LBM.MSG_FLUSH

Parameters
lbmreqLBMRequest object
flagsFlags indicating various conditions
void com.latencybusters.lbm.LBMSource.send ( LBMRequest  lbmreq,
LBMEventQueue  lbmevq,
int  flags 
)
inherited

Send a request message to the topic associated with the LBM source using a designated event queue for responses.

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.

Possible OR'd set of flag value include:

LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, and LBM.MSG_FLUSH

Parameters
lbmreqLBMRequest object
lbmevqLBMEventQueue used to handle response messages
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.EINVAL, com.latencybusters.lbm.LBM.errorMessage(), and com.latencybusters.lbm.LBM.errorNumber().

void com.latencybusters.lbm.LBMSource.send ( LBMRequest  lbmreq,
int  flags,
LBMSourceSendExInfo  exinfo 
)
inherited

Send a request message to the topic associated with the LBM source using an designated event queue for responses.

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.

Possible OR'd set of flag value include:

LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, and LBM.MSG_FLUSH

Parameters
lbmreqLBMRequest object
flagsFlags indicating various conditions
exinfoLBMSourceSendExInfo object, which includes flags to change callback behavior and a client-supplied object to be passed back. (UME only)
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.
void com.latencybusters.lbm.LBMSource.send ( LBMRequest  lbmreq,
LBMEventQueue  lbmevq,
int  flags,
LBMSourceSendExInfo  exinfo 
)
inherited

Send a request message to the topic associated with the LBM source using an designated event queue for responses.

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.

Possible OR'd set of flag value include:

LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, and LBM.MSG_FLUSH

Parameters
lbmreqLBMRequest object
lbmevqLBMEventQueue used to handle response messages
flagsFlags indicating various conditions
exinfoLBMSourceSendExInfo object, which includes flags to change callback behavior and a client-supplied object to be passed back. (UME only)
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBMSourceSendExInfo.channelInfo(), com.latencybusters.lbm.LBMSourceSendExInfo.clientObject(), com.latencybusters.lbm.LBMRequest.data(), com.latencybusters.lbm.LBMRequest.dataLength(), com.latencybusters.lbm.LBM.EINVAL, 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.LBMHotFailoverSource.sendReceiverReset ( int  flags,
LBMSourceSendExInfo  exinfo 
)

Send a message that instructs hot-failover receivers to reset their state. In, and only in, the case that hf receivers cannot be manually restarted, this function can be used to allow delivering of previously sent sequence numbers. The hot-failover receiver will deliver a message of type LBM.MSG_HF_RESET and will include the new expected sequence number. The sequence number contained with the reset will be used as the next expected sequence number to be sent. NOTE: The best way to reset a hot-failover receiver's state is to restart the receiver itself. This function should be used only when that is impossible.

Hot failover send flags on the exinfo parameter LBM.SRC_SEND_EX_FLAG_HF_32, or LBM.SRC_SEND_EX_FLAG_HF_64

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
flagsFlags indicating various send conditions
exinfoSend ex info containing hf reset sequence number
Exceptions
com.latencybusters.lbm.LBMEInvalExceptionExinfo was null, Confirmed delivery or message stability notifications are not enabled
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged LBM C layer function.

References com.latencybusters.lbm.LBMSourceSendExInfo.clientObject(), com.latencybusters.lbm.LBM.EINVAL, com.latencybusters.lbm.LBM.errorMessage(), com.latencybusters.lbm.LBM.errorNumber(), com.latencybusters.lbm.LBMSourceSendExInfo.flags(), com.latencybusters.lbm.LBMSourceSendExInfo.getHfSequenceNumber32(), com.latencybusters.lbm.LBMSourceSendExInfo.getHfSequenceNumber64(), com.latencybusters.lbm.LBM.SRC_SEND_EX_FLAG_HF_32, and com.latencybusters.lbm.LBM.SRC_SEND_EX_FLAG_HF_64.

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

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

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.LBMSource.setInflight ( int  type,
LBMSetInflightCallback  cb,
object  cbObj 
)
inherited

Set the current inflight value for this source.

Parameters
typeThe type of flight size
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.LBMSource.setInflight ( int  type,
out int  messages,
out ulong  bytes,
LBMSetInflightCallbackEx  cb,
object  cbObj 
)
inherited

Set the current inflight messages and bytes for this source. Note that increasing one value while decreasing the other is not allowed. If you need to do this, call setInflight twice using 0 as the value for the one you are not changing.

Parameters
typeThe type of flight size
messagesThis reference will be set to the new number of inflight messages
bytesThis reference will be set to the new number of inflight bytes
cbDelegate called when appropriate locking is held to let the application safely set set values
cbObjClient object passed into the callback

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

void com.latencybusters.lbm.LBMSource.setUMEMessageStable ( long  sqn)
inherited

Mark a specific sqn as stable, triggering an event if configured to do so, and adjusting the inflight if necessary.

Parameters
sqnSqn of the fragment to mark stable
Exceptions
com.latencybusters.lbm.LBMExceptionif an error occurs while marking the fragment stable

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

void com.latencybusters.lbm.LBMSource.umederegister ( )
inherited

Deregister the UME Source.

Returns
Void

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


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