com.latencybusters.lbm
Class LBMSource

java.lang.Object
  extended by java.util.Dictionary<K,V>
      extended by java.util.Hashtable<java.lang.Object,java.lang.Object>
          extended by java.util.Properties
              extended by com.latencybusters.lbm.LBMSource
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.Object,java.lang.Object>
Direct Known Subclasses:
LBMHotFailoverSource

public class LBMSource
extends java.util.Properties

LBM Source class.

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

See Also:
Serialized Form

Field Summary
 
Fields inherited from class java.util.Properties
defaults
 
Constructor Summary
LBMSource(LBMContext lbmctx, LBMTopic lbmtopic)
          Instantiate an LBM Source object associated with a given context and topic.
LBMSource(LBMContext lbmctx, LBMTopic lbmtopic, LBMEventQueue lbmevq)
          Instantiate an LBM Source object associated with a given context, topic, and event queue.
LBMSource(LBMContext lbmctx, LBMTopic lbmtopic, LBMSourceEventCallback cb, java.lang.Object cbArg)
          Instantiate an LBM Source object associated with a given context and topic and initialize source event callback.
LBMSource(LBMContext lbmctx, LBMTopic lbmtopic, LBMSourceEventCallback cb, java.lang.Object cbArg, LBMEventQueue lbmevq)
          Instantiate an LBM Source object associated with a given context, topic, and event queue and initialize source event callback.
 
Method Summary
 void addSourceCallback(LBMSourceEventCallback cb)
          Register a source event callback
 void addSourceCallback(LBMSourceEventCallback cb, java.lang.Object cbArg)
          Register a source event callback (and callback token)
 void close()
          Close this source
 LBMSourceChannelInfo createChannel(long channelNumber)
          Create a channel object to send messages with the given channel number.
 void deleteChannel(LBMSourceChannelInfo channelInfo)
          Delete a channel object
 LBMConfigOption[] dumpAttributeList()
          Returns an array of LBMConfigOptions
protected  void finalize()
           
 void flush()
          Send messages from both the explicit and implicit batches ASAP.
 java.lang.String getAttributeValue(java.lang.String attributeName)
          Returns the value of a source-related attribute for this source.
 int getInflight(int type)
          Get the current inflight value for this source
 LBMFlightSizeInflightInfo getInflightEx(int type)
          Get the current inflight values of messages and bytes for this source
 LBMSourceStatistics getStatistics()
          Return the current set of source transport statistics for this source.
 boolean isClosed()
          Returns boolean describing whether this instance has a reference to a valid C source
 void load(java.io.InputStream inStream)
          Reads a property (attribute) list (key and element pairs) from the input stream.
protected  int onResponse(LBMRequest lbmreq, LBMMessage lbmmsg)
          Default response message callback, which calls the interface specified when the request was sent.
protected  int onSourceEvent(LBMSourceEvent sourceEvent)
          Default source event callback.
 void removeSourceCallback(LBMSourceEventCallback cb)
          Deregister a source event callback
 void removeSourceCallback(LBMSourceEventCallback cb, java.lang.Object cbArg)
          Deregister a source event callback (and callback token)
 void resetStatistics()
          Reset the transport statistics for this source.
 void send(byte[] message, int messageLength, int flags)
          Send a message to the topic associated with the LBM source.
 void send(byte[] message, int messageLength, int flags, LBMSourceSendExInfo exinfo)
          Send a message to the topic associated with the LBM source.
 void send(byte[] message, int messageLength, int flags, java.lang.Object cbArg)
          Send a message to the topic associated with the LBM source.
 void send(java.nio.ByteBuffer message, int startPosition, int messageLength, int flags)
          Send a message to the topic associated with the LBM source.
 void send(java.nio.ByteBuffer message, int startPosition, int messageLength, int flags, LBMSourceSendExInfo exinfo)
          Send a message to the topic associated with the LBM source.
 void send(java.nio.ByteBuffer message, int startPosition, int messageLength, int flags, java.lang.Object cbArg)
          Send a message to the topic associated with the LBM source.
 void send(LBMRequest lbmreq, int flags)
          Send a request message to the topic associated with the LBM source.
 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.
 void send(LBMRequest lbmreq, LBMEventQueue lbmevq, int flags)
          Send a request message to the topic associated with the LBM source using an designated event queue for responses.
 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.
 void setAttributeValue(java.lang.String attributeName, java.lang.String attributeValue)
          Set the value of a source-related attribute for this source.
 int setInflight(int type, LBMSetInflightCallback setInflightCb, java.lang.Object clientd)
          Set the current inflight value for this source.
 LBMFlightSizeInflightInfo setInflightEx(int type, LBMSetInflightCallback setInflightCb, java.lang.Object clientd)
          Set the current inflight messages and bytes value for this source.
 java.lang.Object setProperty(java.lang.String attributeName, java.lang.String attributeValue)
          Set the value of a source-related attribute for this source.
 void setUMEMessageStable(long sqn)
          Mark a specific sqn as stable, triggering an event if configured to do so, and adjusting the inflight if necessary.
 void umederegister()
          Deregister this source
 
Methods inherited from class java.util.Properties
getProperty, getProperty, list, list, load, loadFromXML, propertyNames, save, store, store, storeToXML, storeToXML, stringPropertyNames
 
Methods inherited from class java.util.Hashtable
clear, clone, contains, containsKey, containsValue, elements, entrySet, equals, get, hashCode, isEmpty, keys, keySet, put, putAll, rehash, remove, size, toString, values
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LBMSource

public LBMSource(LBMContext lbmctx,
                 LBMTopic lbmtopic)
          throws LBMException
Instantiate an LBM Source object associated with a given context and topic.

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

Parameters:
lbmctx - Context with which to associate the source.
lbmtopic - LBMTopic used to initialize the source.
Throws:
LBMException - if any error occurred during source creation.

LBMSource

public LBMSource(LBMContext lbmctx,
                 LBMTopic lbmtopic,
                 LBMSourceEventCallback cb,
                 java.lang.Object cbArg)
          throws LBMException
Instantiate an LBM 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:
lbmctx - Context with which to associate the source.
lbmtopic - LBMTopic used to initialize the source.
cb - An object implementing the LBMSourceEventCallback interface
cbArg - Callback token object
Throws:
LBMException - if any error occurred during source creation.

LBMSource

public LBMSource(LBMContext lbmctx,
                 LBMTopic lbmtopic,
                 LBMEventQueue lbmevq)
          throws LBMException
Instantiate an LBM 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:
lbmctx - Context with which to associate the source.
lbmtopic - LBMTopic used to initialize the source.
lbmevq - Event queue with which to associate the source (all source events will be posted to this event queue).
Throws:
LBMException - if any error occurred during source creation.

LBMSource

public LBMSource(LBMContext lbmctx,
                 LBMTopic lbmtopic,
                 LBMSourceEventCallback cb,
                 java.lang.Object cbArg,
                 LBMEventQueue lbmevq)
          throws LBMException
Instantiate an LBM 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:
lbmctx - Context with which to associate the source.
lbmtopic - LBMTopic used to initialize the source.
cb - An object implementing the LBMSourceEventCallback interface
cbArg - Callback token object
lbmevq - Event queue with which to associate the source (all source events will be posted to this event queue).
Throws:
LBMException - if any error occurred during source creation.
Method Detail

finalize

protected void finalize()
                 throws LBMException
Overrides:
finalize in class java.lang.Object
Throws:
LBMException

umederegister

public void umederegister()
                   throws LBMException
Deregister this source

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

Throws:
LBMException - if any error occurred during source deletion.

close

public void close()
           throws LBMException
Close this source

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

Throws:
LBMException - if any error occurred during source deletion.

isClosed

public boolean isClosed()
Returns boolean describing whether this instance has a reference to a valid C source

Returns:
boolean describing whether this instance has a reference to a valid C source

dumpAttributeList

public LBMConfigOption[] dumpAttributeList()
Returns an array of LBMConfigOptions

Returns:
Array of LBMConfigOption

createChannel

public LBMSourceChannelInfo createChannel(long channelNumber)
                                   throws LBMException
Create a channel object to send messages with the given channel number. The application is responsible for calling close() or LBMSource.deleteChannel() on any LBMSourceChannelInfo object allocated via the LBMSourceChannelInfo constructor or the LBMSource.createChannel method once it is no longer being used. Failure to do so will result in unmanaged resources not being reclaimed.

Parameters:
channelNumber - Channel number in the range 0-4294967295
Returns:
A new LBMSourceChannelInfo object
Throws:
LBMException
See Also:
LBMSourceChannelInfo, deleteChannel(com.latencybusters.lbm.LBMSourceChannelInfo)

deleteChannel

public void deleteChannel(LBMSourceChannelInfo channelInfo)
                   throws LBMException
Delete a channel object

Parameters:
channelInfo - A channelInfo object
Throws:
LBMException
See Also:
LBMSourceChannelInfo, createChannel(long)

addSourceCallback

public void addSourceCallback(LBMSourceEventCallback cb)
Register a source event callback

Parameters:
cb - Object implementing the LBMSourceEventCallback interface
See Also:
LBMSourceEventCallback, removeSourceCallback(com.latencybusters.lbm.LBMSourceEventCallback)

addSourceCallback

public void addSourceCallback(LBMSourceEventCallback cb,
                              java.lang.Object cbArg)
Register a source event callback (and callback token)

Parameters:
cb - Object implementing the LBMSourceEventCallback interface
cbArg - Callback token object
See Also:
LBMSourceEventCallback, removeSourceCallback(com.latencybusters.lbm.LBMSourceEventCallback)

removeSourceCallback

public void removeSourceCallback(LBMSourceEventCallback cb)
Deregister a source event callback

Parameters:
cb - Previously registered object implementing the LBMSourceEventCallback interface
See Also:
LBMSourceEventCallback, addSourceCallback(com.latencybusters.lbm.LBMSourceEventCallback)

removeSourceCallback

public void removeSourceCallback(LBMSourceEventCallback cb,
                                 java.lang.Object cbArg)
Deregister a source event callback (and callback token)

Parameters:
cb - Previously registered object implementing the LBMSourceEventCallback interface
cbArg - Callback token object
See Also:
LBMSourceEventCallback, addSourceCallback(com.latencybusters.lbm.LBMSourceEventCallback)

onSourceEvent

protected int onSourceEvent(LBMSourceEvent sourceEvent)
Default source event callback. Although possible, it is not recommended that this function be overridden by subclassing the LBMSource class. Instead, the source may be initialized using a constructor that specifies an LBMSourceEventCallback interface or by registering (deregistering) the callback using addSourceCallback() (removeSourceCallback()).

Parameters:
sourceEvent - LBMSourceEvent object containing information about the posted source-related event.
Returns:
an int, which is always 0.
See Also:
LBMSourceEvent, addSourceCallback(com.latencybusters.lbm.LBMSourceEventCallback), removeSourceCallback(com.latencybusters.lbm.LBMSourceEventCallback)

getAttributeValue

public java.lang.String getAttributeValue(java.lang.String attributeName)
                                   throws LBMException
Returns the value of a source-related attribute for this source.

Parameters:
attributeName - Name of the attribute to retrieve
Returns:
Value corresponding to the specified attribute name
Throws:
LBMException - if attributeName is not a valid attribute.

setAttributeValue

public void setAttributeValue(java.lang.String attributeName,
                              java.lang.String attributeValue)
                       throws LBMException
Set the value of a source-related attribute for this source. Note that this method bypasses the property list. As such no attributes configured using this method will appear in the property list.

Parameters:
attributeName - Name of the attribute to set
attributeValue - New attribute value
Throws:
LBMException - if attributeName is not a valid attribute, or attributeValue is not a valid value for attributeName.
See Also:
setProperty(java.lang.String, java.lang.String)

setProperty

public java.lang.Object setProperty(java.lang.String attributeName,
                                    java.lang.String attributeValue)
Set the value of a source-related attribute for this source.

Overrides:
setProperty in class java.util.Properties
Parameters:
attributeName - Name of the attribute to set
attributeValue - New attribute value
Throws:
LBMRuntimeException - if attributeName is not a valid attribute, or attributeValue is not a valid value for attributeName.

load

public void load(java.io.InputStream inStream)
          throws java.io.IOException
Reads a property (attribute) list (key and element pairs) from the input stream.

Overrides:
load in class java.util.Properties
Parameters:
inStream - Input stream of bytes
Throws:
java.io.IOException - if any I/O error occurs.
LBMRuntimeException - if any invalid attribute is detected in inStream.

getStatistics

public LBMSourceStatistics getStatistics()
                                  throws LBMException
Return the current set of source transport statistics for this source.

Returns:
LBMSourceStatistics object containing the statistics corresponding to this source.
Throws:
LBMException - if any error occurred retrieving source statistics.

resetStatistics

public void resetStatistics()
                     throws LBMException
Reset the transport statistics for this source.

Throws:
LBMException - if any error occurred resetting source statistics.

send

public void send(byte[] message,
                 int messageLength,
                 int flags)
          throws LBMException
Send a message to the topic associated with the LBM source.

Caution: It is not recommended to call this method from a context thread callback.

Warning (UME only): Calling this method from a context thread callback for stability and confirmation events could cause a deadlock.

Parameters:
message - Data to send in this message
messageLength - Number of bytes of data to send in this message
flags - Flags indicating various conditions. See next section for possible OR'd set of values.
Throws:
LBMException - if any error occurred during sending.
See Also:
LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, LBM.MSG_FLUSH, LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, LBM.SRC_EVENT_UME_MESSAGE_STABLE, LBM.SRC_EVENT_UME_DELIVERY_CONFIRMATION

send

public void send(byte[] message,
                 int messageLength,
                 int flags,
                 java.lang.Object cbArg)
          throws LBMException
Send a message to the topic associated with the LBM source.

Caution: It is not recommended to call this method from a context thread callback.

Warning (UME only): Calling this method from a context thread callback for stability and confirmation events could cause a deadlock.

Parameters:
message - Data to send in this message
messageLength - Number of bytes of data to send in this message
flags - Flags indicating various conditions. See next section for possible OR'd set of values.
cbArg - Client object to be passed back in stability or confirmation events related to this message (UME only)
Throws:
LBMException - if any error occurred during sending.
See Also:
LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, LBM.MSG_FLUSH, LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, LBM.SRC_EVENT_UME_MESSAGE_STABLE, LBM.SRC_EVENT_UME_DELIVERY_CONFIRMATION

send

public void send(byte[] message,
                 int messageLength,
                 int flags,
                 LBMSourceSendExInfo exinfo)
          throws LBMException
Send a message to the topic associated with the LBM source.

Caution: It is not recommended to call this method from a context thread callback.

Warning (UME only): Calling this method from a context thread callback for stability and confirmation events could cause a deadlock.

Parameters:
message - Data to send in this message
messageLength - Number of bytes of data to send in this message
flags - Flags indicating various conditions. See next section for possible OR'd set of values.
exinfo - LBMSourceSendExInfo object; used to set callback behavior flags and to pass back a user-supplied object.
Throws:
LBMException - if any error occurred during sending.
Since:
UME 2.0
See Also:
LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, LBM.MSG_FLUSH, LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, LBM.SRC_EVENT_UME_MESSAGE_STABLE, LBM.SRC_EVENT_UME_DELIVERY_CONFIRMATION, LBMSourceSendExInfo

send

public void send(java.nio.ByteBuffer message,
                 int startPosition,
                 int messageLength,
                 int flags)
          throws LBMException
Send a message to the topic associated with the LBM source.

Caution: It is not recommended to call this method from a context thread callback.

Warning (UME only): Calling this method from a context thread callback for stability and confirmation events could cause a deadlock.

Parameters:
message - Data to send in this message
startPosition - Starting position within the buffer to send from
messageLength - Number of bytes of data to send in this message
flags - Flags indicating various conditions. See next section for possible OR'd set of values.
Throws:
LBMException - if any error occurred during sending.
See Also:
LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, LBM.MSG_FLUSH, LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, LBM.SRC_EVENT_UME_MESSAGE_STABLE, LBM.SRC_EVENT_UME_DELIVERY_CONFIRMATION

send

public void send(java.nio.ByteBuffer message,
                 int startPosition,
                 int messageLength,
                 int flags,
                 java.lang.Object cbArg)
          throws LBMException
Send a message to the topic associated with the LBM source.

Caution: It is not recommended to call this method from a context thread callback.

Warning (UME only): Calling this method from a context thread callback for stability and confirmation events could cause a deadlock.

Parameters:
message - Data to send in this message
startPosition - Starting position within the buffer to send from
messageLength - Number of bytes of data to send in this message
flags - Flags indicating various conditions. See next section for possible OR'd set of values.
cbArg - Client object to be passed back in stability or confirmation events related to this message (UME only)
Throws:
LBMException - if any error occurred during sending.
See Also:
LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, LBM.MSG_FLUSH, LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, LBM.SRC_EVENT_UME_MESSAGE_STABLE, LBM.SRC_EVENT_UME_DELIVERY_CONFIRMATION

send

public void send(java.nio.ByteBuffer message,
                 int startPosition,
                 int messageLength,
                 int flags,
                 LBMSourceSendExInfo exinfo)
          throws LBMException
Send a message to the topic associated with the LBM source.

Caution: It is not recommended to call this method from a context thread callback.

Warning (UME only): Calling this method from a context thread callback for stability and confirmation events could cause a deadlock.

Parameters:
message - Data to send in this message
startPosition - Starting position within the buffer to send from
messageLength - Number of bytes of data to send in this message
flags - Flags indicating various conditions. See next section for possible OR'd set of values.
exinfo - LBMSourceSendExInfo object; used to set callback behavior flags and to pass back a user-supplied object. (UME only)
Throws:
LBMException - if any error occurred during sending.
Since:
UME 2.0
See Also:
LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, LBM.MSG_FLUSH, LBM.SRC_NONBLOCK, LBM.SRC_BLOCK, LBM.SRC_EVENT_UME_MESSAGE_STABLE, LBM.SRC_EVENT_UME_DELIVERY_CONFIRMATION, LBMSourceSendExInfo

send

public void send(LBMRequest lbmreq,
                 int flags)
          throws LBMException
Send a request message to the topic associated with the LBM source.

Caution: It is not recommended to call this method from a context thread callback.

Parameters:
lbmreq - LBMRequest object
flags - Flags indicating various conditions. See next section for possible OR'd set of values.
Throws:
LBMException - if any error occurred during sending.
See Also:
LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, LBM.MSG_FLUSH, LBM.SRC_NONBLOCK, LBM.SRC_BLOCK

send

public void send(LBMRequest lbmreq,
                 LBMEventQueue lbmevq,
                 int flags)
          throws LBMException
Send a request message to the topic associated with the LBM source using an designated event queue for responses.

Caution: It is not recommended to call this method from a context thread callback.

Parameters:
lbmreq - LBMRequest object
lbmevq - LBMEventQueue used to handle response messages
flags - Flags indicating various conditions. See next section for possible OR'd set of values.
Throws:
LBMException - if any error occurred during sending.
See Also:
LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, LBM.MSG_FLUSH, LBM.SRC_NONBLOCK, LBM.SRC_BLOCK

send

public void send(LBMRequest lbmreq,
                 LBMEventQueue lbmevq,
                 int flags,
                 LBMSourceSendExInfo exinfo)
          throws LBMException
Send a request message to the topic associated with the LBM source using an designated event queue for responses.

Caution: It is not recommended to call this method from a context thread callback.

Parameters:
lbmreq - LBMRequest object
lbmevq - LBMEventQueue used to handle response messages
flags - Flags indicating various conditions. See next section for possible OR'd set of values.
exinfo - LBMSourceSendExInfo object; used to set callback behavior flags and to pass back a user-supplied object. (UME only)
Throws:
LBMException - if any error occurred during sending.
See Also:
LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, LBM.MSG_FLUSH, LBM.SRC_NONBLOCK, LBM.SRC_BLOCK

send

public void send(LBMRequest lbmreq,
                 int flags,
                 LBMSourceSendExInfo exinfo)
          throws LBMException
Send a request message to the topic associated with the LBM source using an designated event queue for responses.

Caution: It is not recommended to call this method from a context thread callback.

Parameters:
lbmreq - LBMRequest object
flags - Flags indicating various conditions. See next section for possible OR'd set of values.
exinfo - LBMSourceSendExInfo object; used to set callback behavior flags and to pass back a user-supplied object. (UME only)
Throws:
LBMException - if any error occurred during sending.
See Also:
LBM.MSG_START_BATCH, LBM.MSG_END_BATCH, LBM.MSG_COMPLETE_BATCH, LBM.MSG_FLUSH, LBM.SRC_NONBLOCK, LBM.SRC_BLOCK

flush

public void flush()
           throws LBMException
Send messages from both the explicit and implicit batches ASAP.

Warning (UME only): Calling this method from a context thread callback for stability and confirmation events could cause a deadlock.

Throws:
LBMException - if any error occurred during sending.

onResponse

protected int onResponse(LBMRequest lbmreq,
                         LBMMessage lbmmsg)
Default response message callback, which calls the interface specified when the request was sent. This method may be overridden by subclassing the LBMSource class.

Parameters:
lbmreq - LBMRequest object returned by corresponding send call
lbmmsg - LBMMessage object containing the response data
Returns:
an int, which should always be 0.
See Also:
send(LBMRequest, int), send(LBMRequest, LBMEventQueue, int)

getInflight

public int getInflight(int type)
                throws LBMException
Get the current inflight value for this source

Parameters:
type - The type of flight size
Returns:
the inflight value
Throws:
LBMException - if an error occurs while retrieving the inflight value
See Also:
LBM.FLIGHT_SIZE_TYPE_UME, LBM.FLIGHT_SIZE_TYPE_ULB, LBM.FLIGHT_SIZE_TYPE_UMQ

getInflightEx

public LBMFlightSizeInflightInfo getInflightEx(int type)
                                        throws LBMException
Get the current inflight values of messages and bytes for this source

Parameters:
type - The type of flight size
Returns:
the inflight value
Throws:
LBMException - if an error occurs while retrieving the inflight value
See Also:
LBM.FLIGHT_SIZE_TYPE_UME, LBM.FLIGHT_SIZE_TYPE_ULB, LBM.FLIGHT_SIZE_TYPE_UMQ

setInflight

public int setInflight(int type,
                       LBMSetInflightCallback setInflightCb,
                       java.lang.Object clientd)
                throws LBMException
Set the current inflight value for this source.

Parameters:
type - The type of flight size
setInflightCb - Object that implements the LBMSetInflightCallback interface
clientd - Clientd object passed into the setInflight callback
Returns:
the new inflight value
Throws:
LBMException - if an error occurs while setting the inflight value
See Also:
LBM.FLIGHT_SIZE_TYPE_UME, LBM.FLIGHT_SIZE_TYPE_ULB, LBM.FLIGHT_SIZE_TYPE_UMQ

setInflightEx

public LBMFlightSizeInflightInfo setInflightEx(int type,
                                               LBMSetInflightCallback setInflightCb,
                                               java.lang.Object clientd)
                                        throws LBMException
Set the current inflight messages and bytes value for this source. The values are set from within the provided set inflight callback with appropriate locking held.

Parameters:
type - The type of flight size
setInflightCb - Object that implements the LBMSetInflightCallback interface
clientd - Clientd object passed into the setInflight callback
Returns:
the new inflight values
Throws:
LBMException - if an error occurs while setting the inflight value
See Also:
LBM.FLIGHT_SIZE_TYPE_UME, LBM.FLIGHT_SIZE_TYPE_ULB, LBM.FLIGHT_SIZE_TYPE_UMQ

setUMEMessageStable

public void setUMEMessageStable(long sqn)
                         throws LBMException
Mark a specific sqn as stable, triggering an event if configured to do so, and adjusting the inflight if necessary.

Parameters:
sqn - Sqn of the fragment to mark stable
Throws:
LBMException - if an error occurs while marking the fragment stable


All of the documentation and software included in this and any other Informatica Inc "Ultra Messaging" Release is Copyright (C) 2004-2014, Informatica Corporation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted only as covered by the terms of a valid software license agreement with 29West Inc. Copyright © 2004-2014, Informatica, Inc. All Rights Reserved.