C# 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.
Inheritance: MamaWrapper
Show file Open project: OpenMAMA/OpenMAMA Class Usage Examples

Public Methods

Method Description
MamaTransport ( ) : System

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

create ( string name, Wombat.MamaBridge bridgeImpl ) : void

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.

destroy ( ) : void

getName ( ) : string

Get the name of the transport.

getNativeTransport ( ) : IntPtr
getOutboundThrottle ( MamaThrottleInstance instance ) : double

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.

getSymbolMapFunc ( ) : MamaSymbolMapCallback

Return the symbol mapping function for a MamaTransport.

getSymbolMapFuncClosure ( ) : object

Return the symbol mapping function closure for a MamaTransport.

getTransportCallbackQueue ( ) : Wombat.MamaQueue

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

requestConflation ( ) : void

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

requestEndConflation ( ) : void

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

setOutboundThrottle ( MamaThrottleInstance instance, double outboundThrottle ) : void

Set the throttle rate.

setSymbolMapFunc ( MamaSymbolMapCallback callback, object closure ) : void

Set the symbol mapping function for a MamaTransport.

setTransportCallback ( MamaTransportCallback callback ) : void

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

setTransportCallbackQueue ( Wombat.MamaQueue queue ) : void

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

setTransportTopicCallback ( MamaTransportTopicCallback callback ) : void

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

Protected Methods

Method Description
DestroyNativePeer ( ) : MamaStatus.mamaStatus

Implements the destruction of the underlying peer object MamaWrapper.DestroyNativePeer

OnDispose ( ) : void

Private Methods

Method Description
MamaTransport ( IntPtr transport ) : System

Method Details

DestroyNativePeer() protected method

Implements the destruction of the underlying peer object MamaWrapper.DestroyNativePeer
protected DestroyNativePeer ( ) : MamaStatus.mamaStatus
return MamaStatus.mamaStatus

MamaTransport() public method

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()
public MamaTransport ( ) : System
return System

OnDispose() protected method

protected OnDispose ( ) : void
return void

create() public method

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.
public create ( string name, Wombat.MamaBridge bridgeImpl ) : void
name string
bridgeImpl Wombat.MamaBridge
return void

destroy() public method

public destroy ( ) : void
return void

getName() public method

Get the name of the transport.
public getName ( ) : string
return string

getNativeTransport() public method

public getNativeTransport ( ) : IntPtr
return System.IntPtr

getOutboundThrottle() public method

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.
public getOutboundThrottle ( MamaThrottleInstance instance ) : double
instance MamaThrottleInstance
return double

getSymbolMapFunc() public method

Return the symbol mapping function for a MamaTransport.
public getSymbolMapFunc ( ) : MamaSymbolMapCallback
return MamaSymbolMapCallback

getSymbolMapFuncClosure() public method

Return the symbol mapping function closure for a MamaTransport.
public getSymbolMapFuncClosure ( ) : object
return object

getTransportCallbackQueue() public method

Set a queue for transport callbacks (transport and topic). If this is not set the default queue will be used.
public getTransportCallbackQueue ( ) : Wombat.MamaQueue
return Wombat.MamaQueue

requestConflation() public method

Request conflation for a MamaTransport. Currently only available for WMW.
public requestConflation ( ) : void
return void

requestEndConflation() public method

Request an end to conflation for a MamaTransport. Currently only available for WMW.
public requestEndConflation ( ) : void
return void

setOutboundThrottle() public method

Set the throttle rate.
public setOutboundThrottle ( MamaThrottleInstance instance, double outboundThrottle ) : void
instance MamaThrottleInstance
outboundThrottle double
return void

setSymbolMapFunc() public method

Set the symbol mapping function for a MamaTransport.
public setSymbolMapFunc ( MamaSymbolMapCallback callback, object closure ) : void
callback MamaSymbolMapCallback
closure object
return void

setTransportCallback() public method

Set the transport callback. It receives advisories when a transport disconnects or reconnects. Passing NULL removes the callback.
public setTransportCallback ( MamaTransportCallback callback ) : void
callback MamaTransportCallback
return void

setTransportCallbackQueue() public method

Set a queue for transport callbacks (transport and topic). If this is not set the default queue will be used.
public setTransportCallbackQueue ( Wombat.MamaQueue queue ) : void
queue Wombat.MamaQueue
return void

setTransportTopicCallback() public method

Set the transport topic callback. It receives advisories when subjects sub or unsub, or when publisher events occur. Passing NULL removes the callback.
public setTransportTopicCallback ( MamaTransportTopicCallback callback ) : void
callback MamaTransportTopicCallback
return void