Classes Files

Wombat::MamaTransport

The underpinning object in any MAMA application More…

Inherits from Wombat.MamaWrapper, IDisposable

Public Types

  Name
enum class MamaThrottleInstance { MAMA_THROTTLE_DEFAULT = 0, MAMA_THROTTLE_INITIAL = 1, MAMA_THROTTLE_RECAP = 2}
Enum to determine to which throttle a call applies. Currently, the the default throttle, used by the publisher, and the initial value request throttle are the same. Mama sends recap requests on a separate throttle.
enum class int MamaQuality { MAMA_QUALITY_OK = 0, MAMA_QUALITY_MAYBE_STALE = 1, MAMA_QUALITY_STALE = 2, MAMA_QUALITY_PARTIAL_STALE = 3, MAMA_QUALITY_FORCED_STALE = 4, MAMA_QUALITY_DUPLICATE = 5, MAMA_QUALITY_UNKNOWN = 99}
Enum to specify the Quality value supplied by the onQuality callback.

Public Functions

  Name
  MamaTransport()
Allocate a transport structure. You need to call destroy() when the class is no more needed The transport is not created until create() is called. Any transport properties should be set prior to calling create()
IntPtr getNativeTransport()
void create(string name, MamaBridge bridgeImpl)
Create a previously allocated transport. Platform specific parameters are read from the properties file mama.properties. The properties file is located in the WOMBAT_PATH directory. The parameters are dependent on the underlying messaging transport. TIBRV transports support the following: mama.tibrv.transport.name.service, mama.tibrv.transport.name.network, and mama.tibrv.transport.name.daemon. These correspond to the parameters for tibrvTransport_Create(). LBM: See the example mama.properties supplied with the release.
double getOutboundThrottle(MamaThrottleInstance instance)
Get the outbound throttle rate. This the rate at which the transport sends outbound messages to the feed handlers. It is also the rate at which new subscriptions are created. Its purpose is to avoid flooding the network with requests.
void setOutboundThrottle(MamaThrottleInstance instance, double outboundThrottle)
Set the throttle rate.
void setSymbolMapFunc(MamaSymbolMapCallback callback, object closure)
Set the symbol mapping function for a MamaTransport.
MamaSymbolMapCallback getSymbolMapFunc()
Return the symbol mapping function for a MamaTransport.
object getSymbolMapFuncClosure()
Return the symbol mapping function closure for a MamaTransport.
void requestConflation()
Request conflation for a MamaTransport. Currently only available for WMW.
void requestEndConflation()
Request an end to conflation for a MamaTransport. Currently only available for WMW.
void destroy()
void setTransportCallback(MamaTransportCallback callback)
Set the transport callback. It receives advisories when a transport disconnects or reconnects. Passing NULL removes the callback.
void setTransportTopicCallback(MamaTransportTopicCallback callback)
Set the transport topic callback. It receives advisories when subjects sub or unsub, or when publisher events occur. Passing NULL removes the callback.
string getName()
Get the name of the transport.
void setTransportCallbackQueue(MamaQueue queue)
Set a queue for transport callbacks (transport and topic). If this is not set the default queue will be used.
MamaQueue getTransportCallbackQueue()
Set a queue for transport callbacks (transport and topic). If this is not set the default queue will be used.

Protected Functions

  Name
virtual override void OnDispose()
virtual override MamaStatus.mamaStatus DestroyNativePeer()
Implements the destruction of the underlying peer object MamaWrapper.DestroyNativePeer

Public Properties

  Name
MamaQuality Quality
Accessor methods for the quality associated with a MamaTransport.

Additional inherited members

Public Functions inherited from Wombat.MamaWrapper

  Name
void Dispose()
Destroys the underlying peer object and unbinds the wrapper from it.
void setNativeHandle(IntPtr nHandle)
Sets the native handle of the native peer object. Should only be used by subclasses and in the same assembly.

Protected Functions inherited from Wombat.MamaWrapper

  Name
  MamaWrapper()
Constructs a new wrapper object but doesn’t create it. If the object is not explicitly disposed it will remain registered for finalization and will attempt the destroy the native peer object when finalized.
  MamaWrapper(IntPtr nativeHandle)
Constructs a managed wrapper from an existing native peer. The peer object will not be automatically finalized
virtual void Dispose(bool disposing, bool destroyNativeHandle =true)
The actual implementation of Dispose - called by both the Dispose method and the finalizer.

Protected Attributes inherited from Wombat.MamaWrapper

  Name
IntPtr nativeHandle
the handle to the native peer object

Detailed Description

class Wombat::MamaTransport;

The underpinning object in any MAMA application

The mamaTransport defines the network protocol level parameters over which MAMA distributes data. Transports effectively provide scope for data identifying the underlying protocols and their values for data delivery. It is an isolated communication channel for data traffic. Transports specify the communication channels to use for making subscriptions and publishing data through the API.

Public Types Documentation

enum MamaThrottleInstance

Enumerator Value Description
MAMA_THROTTLE_DEFAULT 0  
MAMA_THROTTLE_INITIAL 1  
MAMA_THROTTLE_RECAP 2  

Enum to determine to which throttle a call applies. Currently, the the default throttle, used by the publisher, and the initial value request throttle are the same. Mama sends recap requests on a separate throttle.

enum MamaQuality

Enumerator Value Description
MAMA_QUALITY_OK 0  
MAMA_QUALITY_MAYBE_STALE 1  
MAMA_QUALITY_STALE 2  
MAMA_QUALITY_PARTIAL_STALE 3  
MAMA_QUALITY_FORCED_STALE 4  
MAMA_QUALITY_DUPLICATE 5  
MAMA_QUALITY_UNKNOWN 99  

Enum to specify the Quality value supplied by the onQuality callback.

Public Functions Documentation

function MamaTransport

MamaTransport()

Allocate a transport structure. You need to call destroy() when the class is no more needed The transport is not created until create() is called. Any transport properties should be set prior to calling create()

function getNativeTransport

IntPtr getNativeTransport()

function create

void create(
    string name,
    MamaBridge bridgeImpl
)

Create a previously allocated transport. Platform specific parameters are read from the properties file mama.properties. The properties file is located in the WOMBAT_PATH directory. The parameters are dependent on the underlying messaging transport. TIBRV transports support the following: mama.tibrv.transport.name.service, mama.tibrv.transport.name.network, and mama.tibrv.transport.name.daemon. These correspond to the parameters for tibrvTransport_Create(). LBM: See the example mama.properties supplied with the release.

Parameters:

  • name
  • bridgeImpl

function getOutboundThrottle

double getOutboundThrottle(
    MamaThrottleInstance instance
)

Get the outbound throttle rate. This the rate at which the transport sends outbound messages to the feed handlers. It is also the rate at which new subscriptions are created. Its purpose is to avoid flooding the network with requests.

function setOutboundThrottle

void setOutboundThrottle(
    MamaThrottleInstance instance,
    double outboundThrottle
)

Set the throttle rate.

function setSymbolMapFunc

void setSymbolMapFunc(
    MamaSymbolMapCallback callback,
    object closure
)

Set the symbol mapping function for a MamaTransport.

Parameters:

  • callback
  • closure

function getSymbolMapFunc

MamaSymbolMapCallback getSymbolMapFunc()

Return the symbol mapping function for a MamaTransport.

function getSymbolMapFuncClosure

object getSymbolMapFuncClosure()

Return the symbol mapping function closure for a MamaTransport.

function requestConflation

void requestConflation()

Request conflation for a MamaTransport. Currently only available for WMW.

function requestEndConflation

void requestEndConflation()

Request an end to conflation for a MamaTransport. Currently only available for WMW.

function destroy

void destroy()

function setTransportCallback

void setTransportCallback(
    MamaTransportCallback callback
)

Set the transport callback. It receives advisories when a transport disconnects or reconnects. Passing NULL removes the callback.

Parameters:

  • callback

function setTransportTopicCallback

void setTransportTopicCallback(
    MamaTransportTopicCallback callback
)

Set the transport topic callback. It receives advisories when subjects sub or unsub, or when publisher events occur. Passing NULL removes the callback.

Parameters:

  • callback

function getName

string getName()

Get the name of the transport.

function setTransportCallbackQueue

void setTransportCallbackQueue(
    MamaQueue queue
)

Set a queue for transport callbacks (transport and topic). If this is not set the default queue will be used.

function getTransportCallbackQueue

MamaQueue getTransportCallbackQueue()

Set a queue for transport callbacks (transport and topic). If this is not set the default queue will be used.

Protected Functions Documentation

function OnDispose

virtual override void OnDispose()

Reimplements: Wombat::MamaWrapper::OnDispose

function DestroyNativePeer

virtual override MamaStatus.mamaStatus DestroyNativePeer()

Implements the destruction of the underlying peer object MamaWrapper.DestroyNativePeer

Return: MAMA Status code

Reimplements: Wombat::MamaWrapper::DestroyNativePeer

Public Property Documentation

property Quality

MamaQuality Quality;

Accessor methods for the quality associated with a MamaTransport.


Updated on 2023-03-31 at 15:29:33 +0100