OpenMAMA
subscription.h File Reference
#include "mama/marketdata.h"
#include "mama/msg.h"
#include "mama/quality.h"
#include "mama/servicelevel.h"
#include "mama/status.h"
#include "mama/subscriptiontype.h"
#include "mama/transport.h"
#include "mama/types.h"

Go to the source code of this file.

Data Structures

struct  mamaMsgCallbacks_
 A convenience structure for passing the callbacks to the subscription factory methods. More...
 
struct  mamaWildCardMsgCallbacks_
 A convenience structure for passing the callbacks to wild card subscription factory methods. More...
 

Typedefs

typedef void(MAMACALLTYPE * wombat_subscriptionCreateCB) (mamaSubscription subscription, void *closure)
 Function invoked when subscription creation is complete, and before any calls to wombat_subscriptionOnMsgCB. More...
 
typedef void(MAMACALLTYPE * wombat_subscriptionDestroyCB) (mamaSubscription subscription, void *closure)
 Function invoked when a subscription has been completely destroyed, the client can have confidence that no further messages will be placed on the queue for this subscription. More...
 
typedef void(MAMACALLTYPE * wombat_subscriptionErrorCB) (mamaSubscription subscription, mama_status status, void *platformError, const char *subject, void *closure)
 Invoked if an error occurs during prior to subscription creation or if the subscription receives a message for an unentitled subject. More...
 
typedef void(MAMACALLTYPE * wombat_subscriptionGapCB) (mamaSubscription subscription, void *closure)
 Function invoked when a sequence number gap is detected. More...
 
typedef void(MAMACALLTYPE * wombat_subscriptionOnMsgCB) (mamaSubscription subscription, mamaMsg msg, void *closure, void *itemClosure)
 Invoked when a message arrives. More...
 
typedef void(MAMACALLTYPE * wombat_subscriptionQualityCB) (mamaSubscription subscription, mamaQuality quality, const char *symbol, short cause, const void *platformInfo, void *closure)
 Invoked to indicate a data quality event. More...
 
typedef void(MAMACALLTYPE * wombat_subscriptionRecapCB) (mamaSubscription subscription, void *closure)
 Function invoked when a recap is requested upon detecting a sequence number gap. More...
 
typedef void(MAMACALLTYPE * wombat_subscriptionWildCardOnMsgCB) (mamaSubscription subscription, mamaMsg msg, const char *topic, void *closure, void *itemClosure)
 Invoked when a message arrives for a wild card subscrption. More...
 
typedef struct mamaMsgCallbacks_ mamaMsgCallbacks
 A convenience structure for passing the callbacks to the subscription factory methods. More...
 
typedef struct mamaWildCardMsgCallbacks_ mamaWildCardMsgCallbacks
 A convenience structure for passing the callbacks to wild card subscription factory methods. More...
 

Enumerations

enum  preInitialScheme { PRE_INITIAL_SCHEME_ON_GAP, PRE_INITIAL_SCHEME_ON_INITIAL }
 MAMA can cache messages which arrive prior to an initial value. More...
 
enum  mamaSubscriptionState {
  MAMA_SUBSCRIPTION_UNKNOWN = 0, MAMA_SUBSCRIPTION_ALLOCATED = 1, MAMA_SUBSCRIPTION_SETUP = 2, MAMA_SUBSCRIPTION_ACTIVATING = 3,
  MAMA_SUBSCRIPTION_ACTIVATED = 4, MAMA_SUBSCRIPTION_DEACTIVATING = 5, MAMA_SUBSCRIPTION_DEACTIVATED = 6, MAMA_SUBSCRIPTION_DESTROYING = 7,
  MAMA_SUBSCRIPTION_DESTROYED = 8, MAMA_SUBSCRIPTION_DEALLOCATING = 9, MAMA_SUBSCRIPTION_DEALLOCATED = 10, MAMA_SUBSCRIPTION_REACTIVATING = 11
}
 The enumeration describes the state of the subsubscription at any time. More...
 
enum  dqStartegyScheme { DQ_SCHEME_DELIVER_ALL, DQ_SCHEME_INGORE_DUPS }
 
enum  dqftStrategyScheme { DQ_FT_DO_NOT_WAIT_FOR_RECAP, DQ_FT_WAIT_FOR_RECAP }
 

Functions

MAMAExpDLL mama_status mamaSubscription_activate (mamaSubscription subscription)
 Activate a subscription that has been set up by mamaSubscription_setup(). More...
 
MAMAExpDLL mama_status mamaSubscription_allocate (mamaSubscription *result)
 Allocate memory for a new subscription. More...
 
MAMAExpDLL int mamaSubscription_checkDebugLevel (mamaSubscription subscription, MamaLogLevel level)
 Return whether the debug level for this subscription equals or exceeds some level. More...
 
MAMAExpDLL mama_status mamaSubscription_create (mamaSubscription subscription, mamaQueue queue, const mamaMsgCallbacks *callbacks, mamaSource source, const char *symbol, void *closure)
 Create and activate subscription. More...
 
MAMAExpDLL mama_status mamaSubscription_createBasic (mamaSubscription subscription, mamaTransport transport, mamaQueue queue, const mamaMsgCallbacks *callbacks, const char *symbol, void *closure)
 Create a basic subscription without marketdata semantics. More...
 
MAMAExpDLL mama_status mamaSubscription_createBasicWildCard (mamaSubscription subscription, mamaTransport transport, mamaQueue queue, const mamaWildCardMsgCallbacks *callbacks, const char *source, const char *symbol, void *closure)
 Crate and activate a wildcard subscription that may be actually activated later. More...
 
MAMAExpDLL mama_status mamaSubscription_createSnapshot (mamaSubscription subscription, mamaQueue queue, const mamaMsgCallbacks *callbacks, mamaSource source, const char *symbol, void *closure)
 Create a snapshot subscription for initial value only (no updates). More...
 
MAMAExpDLL mama_status mamaSubscription_deactivate (mamaSubscription subscription)
 Deactivate a subscription. More...
 
MAMAExpDLL mama_status mamaSubscription_deallocate (mamaSubscription subscription)
 Free the memory for a mamaSubscription which was allocated via a call to mamaSubscription_allocate() This function will call mamaSubscription_destroy() if the subscription has not already been destroyed. More...
 
MAMAExpDLL mama_status mamaSubscription_destroy (mamaSubscription subscription)
 Destroy the subscription. More...
 
MAMAExpDLL mama_status mamaSubscription_destroyEx (mamaSubscription subscription)
 This function will destroy the subscription and can be called from any thread. More...
 
MAMAExpDLL mama_status mamaSubscription_getAppDataType (mamaSubscription subscription, uint8_t *appDataType)
 Retrieve the application-specific data type. More...
 
MAMAExpDLL mama_status mamaSubscription_getClosure (mamaSubscription subscription, void **closure)
 Return the closure. More...
 
MAMAExpDLL MamaLogLevel mamaSubscription_getDebugLevel (mamaSubscription subscription)
 Return the debug level for this subscription. More...
 
MAMAExpDLL mama_status mamaSubscription_getItemClosure (mamaSubscription subscription, void **closure)
 Return the item closure for the current message for the subscription. More...
 
MAMAExpDLL mama_status mamaSubscription_getMsgQualifierFilter (mamaSubscription subscription, int *ignoreDefinitelyDuplicate, int *ignorePossiblyDuplicate, int *ignoreDefinitelyDelayed, int *ignorePossiblyDelayed, int *ignoreOutOfSequence)
 Get the filters that discard message according to the message qualifier. More...
 
MAMAExpDLL mama_status mamaSubscription_getPlatformError (mamaSubscription subsc, void **error)
 Return the middleware-specific platform error. More...
 
MAMAExpDLL mama_status mamaSubscription_getPreIntitialCacheSize (mamaSubscription subscription, int *result)
 Return the initial value cache size. More...
 
MAMAExpDLL mama_status mamaSubscription_getQueue (mamaSubscription subscription, mamaQueue *queue)
 Return the mamaQueue for this subscription. More...
 
MAMAExpDLL mama_status mamaSubscription_getReceivedInitial (mamaSubscription subscription, int *receivedInitial)
 Returns a value of 1 or 0 indicating whether the subscription has received an initial. More...
 
MAMAExpDLL mama_status mamaSubscription_getRecoverGaps (mamaSubscription subscription, int *doesRecover)
 Whether the specified subscription will attempt to recover from sequence number gaps. More...
 
MAMAExpDLL mama_status mamaSubscription_getRequiresInitial (mamaSubscription subscription, int *requiresInitial)
 Returns a value of 1 or 0 indicating whether this subscription is interested in initial values. More...
 
MAMAExpDLL mama_status mamaSubscription_getRetries (mamaSubscription subscription, int *retries)
 Retrieve the retries. More...
 
MAMAExpDLL mama_status mamaSubscription_getServiceLevel (mamaSubscription subscription, mamaServiceLevel *serviceLevel)
 Get the service level for the specified subscription. More...
 
MAMAExpDLL mama_status mamaSubscription_getServiceLevelOpt (mamaSubscription subscription, long *serviceLevel)
 Get the service level options for the specified subscription. More...
 
MAMAExpDLL mama_status mamaSubscription_getSource (mamaSubscription subscription, const char **source)
 Return the source for the specified subscription. More...
 
MAMAExpDLL mama_status mamaSubscription_getState (mamaSubscription subscription, mamaSubscriptionState *state)
 This function will return the current state of the subscription, this function should be used in preference to the mamaSubscription_isActive or mamaSubscription_isValid functions. More...
 
MAMAExpDLL mama_status mamaSubscription_getSubscriptionType (mamaSubscription subscription, mamaSubscriptionType *type)
 Returns the underlying mamaSubscriptionType for the specified subscription. More...
 
MAMAExpDLL mama_status mamaSubscription_getSubscSymbol (mamaSubscription subscription, const char **symbol)
 Return the symbol as subscribed to (i.e., as mapped by the mapping function, if any, for the mamaTransport). More...
 
MAMAExpDLL mama_status mamaSubscription_getSymbol (mamaSubscription subscription, const char **symbol)
 Return the symbol as provided by the user (before any symbol mapping). More...
 
MAMAExpDLL mama_status mamaSubscription_getTimeout (mamaSubscription subscription, double *timeout)
 Retrieve the timeout. More...
 
MAMAExpDLL mama_status mamaSubscription_getTransport (mamaSubscription subscription, mamaTransport *transport)
 Return the mamaTransport for this subscription. More...
 
MAMAExpDLL mamaMsgCallbacksmamaSubscription_getUserCallbacks (mamaSubscription subscription)
 Returns a pointer to the mamaMsgCallbacks structure. More...
 
MAMAExpDLL int mamaSubscription_isActive (mamaSubscription subscription)
 Returns whether the subscription is active, note that this function has been deprecated, use mamaSubscription_getState instead. More...
 
MAMAExpDLL int mamaSubscription_isValid (mamaSubscription subscription)
 Return whether the subscription is valid, note that this function has been deprecated, use mamaSubscription_getState instead. More...
 
MAMAExpDLL mama_status mamaSubscription_muteCurrentTopic (mamaSubscription subscription)
 Mute the current topic for wildcard subscriptions. More...
 
MAMAExpDLL mama_status mamaSubscription_setAppDataType (mamaSubscription subscription, uint8_t appDataType)
 Set the application-specific data type. More...
 
MAMAExpDLL mama_status mamaSubscription_setDebugLevel (mamaSubscription subscription, MamaLogLevel level)
 Set the debug level for this subscription. More...
 
MAMAExpDLL mama_status mamaSubscription_setGroupSizeHint (mamaSubscription subscription, int groupSizeHint)
 A hint as to the expected size of size of groups when making group subscriptions. More...
 
MAMAExpDLL mama_status mamaSubscription_setItemClosure (mamaSubscription subscription, void *closure)
 Set the item closure for group subscriptions. More...
 
MAMAExpDLL mama_status mamaSubscription_setMsgQualifierFilter (mamaSubscription subscription, int ignoreDefinitelyDuplicate, int ignorePossiblyDuplicate, int ignoreDefinitelyDelayed, int ignorePossiblyDelayed, int ignoreOutOfSequence)
 Set a filter to discard messages. More...
 
MAMAExpDLL mama_status mamaSubscription_setPreIntitialCacheSize (mamaSubscription subscription, int cacheSize)
 Set the number of messages to cache for each symbol before the initial value arrives. More...
 
MAMAExpDLL mama_status mamaSubscription_setRecoverGaps (mamaSubscription subscription, int doesRecover)
 Whether a subscription should attempt to recover from sequence number gaps. More...
 
MAMAExpDLL mama_status mamaSubscription_setRequiresInitial (mamaSubscription subscription, int requiresInitial)
 Whether an initial value is required for the specified subscription. More...
 
MAMAExpDLL mama_status mamaSubscription_setServiceLevel (mamaSubscription subscription, mamaServiceLevel serviceLevel, long serviceLevelOpt)
 Set the service level. More...
 
MAMAExpDLL mama_status mamaSubscription_setRetries (mamaSubscription subscription, int retries)
 Set the number of retries when requesting recaps. More...
 
MAMAExpDLL mama_status mamaSubscription_setSubscriptionType (mamaSubscription subscription, mamaSubscriptionType type)
 Set the subscription type for the subscription being created. More...
 
MAMAExpDLL mama_status mamaSubscription_setSymbol (mamaSubscription subscription, const char *symbol)
 Set the symbol (e.g. More...
 
MAMAExpDLL mama_status mamaSubscription_setTimeout (mamaSubscription subscription, double timeout)
 Set the timeout for this subscription. More...
 
MAMAExpDLL mama_status mamaSubscription_setup (mamaSubscription subscription, mamaQueue queue, const mamaMsgCallbacks *callbacks, mamaSource source, const char *symbol, void *closure)
 Set the parameters for a subscription that may be actually activated later. More...
 
MAMAExpDLL mama_status mamaSubscription_setup2 (mamaSubscription subscription, mamaTransport transport, mamaQueue queue, const mamaMsgCallbacks *callbacks, const char *sourceName, const char *symbol, void *closure)
 Set the parameters for a subscription that may be actually activated later. More...
 
MAMAExpDLL mama_status mamaSubscription_setupBasicWildCard (mamaSubscription subscription, mamaTransport transport, mamaQueue queue, const mamaWildCardMsgCallbacks *callbacks, const char *source, const char *symbol, void *closure)
 Set the parameters for a wildcard subscription that may be actually activated later. More...
 
const MAMAExpDLL char * mamaSubscription_stringForState (mamaSubscriptionState state)
 This function will return the string representation of the subscription state. More...
 

Typedef Documentation

◆ wombat_subscriptionCreateCB

typedef void(MAMACALLTYPE * wombat_subscriptionCreateCB) (mamaSubscription subscription, void *closure)

Function invoked when subscription creation is complete, and before any calls to wombat_subscriptionOnMsgCB.

Parameters
subscriptionThe subscription.
closureThe closure passed to the mamaSubscription_create function.

◆ wombat_subscriptionDestroyCB

typedef void(MAMACALLTYPE * wombat_subscriptionDestroyCB) (mamaSubscription subscription, void *closure)

Function invoked when a subscription has been completely destroyed, the client can have confidence that no further messages will be placed on the queue for this subscription.

Parameters
subscriptionthe MamaSubscription.
closureThe closure passed to the mamaSubscription_create function.

◆ wombat_subscriptionErrorCB

typedef void(MAMACALLTYPE * wombat_subscriptionErrorCB) (mamaSubscription subscription, mama_status status, void *platformError, const char *subject, void *closure)

Invoked if an error occurs during prior to subscription creation or if the subscription receives a message for an unentitled subject.

If the status is MAMA_MSG_STATUS_NOT_ENTITTLED the subject parameter is the specific unentitled subject. If the subscription subject contains wildcards, the subscription may still receive messages for other entitled subjects. Note wildcard subscriptions are not supported on all platforms.

Parameters
subscriptionThe subscription.
statusThe error code.
platformErrorThird party, platform specific messaging error.
subjectThe subject for NOT_ENTITLED
closureThe closure passed to the mamaSubscription_create function.

◆ wombat_subscriptionGapCB

typedef void(MAMACALLTYPE * wombat_subscriptionGapCB) (mamaSubscription subscription, void *closure)

Function invoked when a sequence number gap is detected.

At this point the topic is considered stale and the subscription will not receive further messages until the feed handler satisfies a recap request.

Parameters
subscriptionthe MamaSubscription.
closureThe closure passed to the mamaSubscription_create function.

◆ wombat_subscriptionOnMsgCB

typedef void(MAMACALLTYPE * wombat_subscriptionOnMsgCB) (mamaSubscription subscription, mamaMsg msg, void *closure, void *itemClosure)

Invoked when a message arrives.

Parameters
subscriptionthe MamaSubscription.
msgThe mamaMsg.
closureThe closure passed to the mamaSubscription_create function.
itemClosureThe item closure for the subscription can be set with mamaSubscription_setItemClosure.

◆ wombat_subscriptionQualityCB

typedef void(MAMACALLTYPE * wombat_subscriptionQualityCB) (mamaSubscription subscription, mamaQuality quality, const char *symbol, short cause, const void *platformInfo, void *closure)

Invoked to indicate a data quality event.

Parameters
subscriptionthe MamaSubscription.
qualityThe new quality.
symbolThe symbol.
causeThe cause of the data quality event.
platformInfoInfo associated with the data quality event.
closureThe closure passed to the mamaSubscription_create function.

The cause and platformInfo are supplied only by some middlewares. The information provided by platformInfo is middleware specific. The following middlewares are supported:

tibrv: provides the char* version of the tibrv advisory message.

◆ wombat_subscriptionRecapCB

typedef void(MAMACALLTYPE * wombat_subscriptionRecapCB) (mamaSubscription subscription, void *closure)

Function invoked when a recap is requested upon detecting a sequence number gap.

Parameters
subscriptionthe MamaSubscription.
closureThe closure passed to the mamaSubscription_create function.

◆ wombat_subscriptionWildCardOnMsgCB

typedef void(MAMACALLTYPE * wombat_subscriptionWildCardOnMsgCB) (mamaSubscription subscription, mamaMsg msg, const char *topic, void *closure, void *itemClosure)

Invoked when a message arrives for a wild card subscrption.

Parameters
subscriptionthe MamaSubscription.
msgThe mamaMsg.
topicThe symbol.
closureThe closure passed to the mamaSubscription_create function.
itemClosureSymbol specific closure.

◆ mamaMsgCallbacks

A convenience structure for passing the callbacks to the subscription factory methods.

◆ mamaWildCardMsgCallbacks

A convenience structure for passing the callbacks to wild card subscription factory methods.

Enumeration Type Documentation

◆ preInitialScheme

MAMA can cache messages which arrive prior to an initial value.

There are two options in how and when these message are used.

PRE_INITIAL_SCHEME_ON_GAP (default) MAMA waits until the message after the initialvalue and only tries to use the cache if a gap is detected. This reduces the need to reap the subscription.

PRE_INITIAL_SCHEME_ON_INITIAL MAMA checks the pre-initial cache to see if there are any messages which sequentially follow the initial value and pass them to the application.

Enumerator
PRE_INITIAL_SCHEME_ON_GAP 
PRE_INITIAL_SCHEME_ON_INITIAL 

◆ mamaSubscriptionState

The enumeration describes the state of the subsubscription at any time.

The state can be obtained by calling the mamaSubscription_getState function. A string representation of this state can be obtained by calling the mamaSubscription_stringForState function.

Enumerator
MAMA_SUBSCRIPTION_UNKNOWN 
MAMA_SUBSCRIPTION_ALLOCATED 
MAMA_SUBSCRIPTION_SETUP 
MAMA_SUBSCRIPTION_ACTIVATING 
MAMA_SUBSCRIPTION_ACTIVATED 
MAMA_SUBSCRIPTION_DEACTIVATING 
MAMA_SUBSCRIPTION_DEACTIVATED 
MAMA_SUBSCRIPTION_DESTROYING 
MAMA_SUBSCRIPTION_DESTROYED 
MAMA_SUBSCRIPTION_DEALLOCATING 
MAMA_SUBSCRIPTION_DEALLOCATED 
MAMA_SUBSCRIPTION_REACTIVATING 
71 {
72  /* The state of the subscription is unknown. */
74 
75  /* The subscription has been allocated in memory. */
77 
78  /* Initial setup work has been done, mamaSubscription_activate must still be called. Note that this state is only valid
79  * for market data subscriptions.
80  */
82 
83  /* The subscription is now on the throttle queue waiting to be fully activated. */
85 
86  /* The subscription is now fully activated and is processing messages. */
88 
89  /* The subscription is being de-activated, it will not be fully deactivated until the middleware removal of the listener is complete */
91 
92  /* The subscription has been de-activated, messages are no longer being processed. */
94 
95  /* The subscription is being destroyed, but waiting on deactivation to complete*/
97 
98  /* The subscription has been fully destroyed. */
100 
101  /* The subscription is in the process of being de-allocated, but waiting on deactivation to complete*/
103 
104  /* The subscription has been de-allocated. This state is only temporary and exists until such point as the subscription's
105  * memory is freed. It is provided so that a log entry will be written out.
106  */
108 
109  /* The subscription is being re-activated, it will not be fully reactivated until deactivation complete */
111 

◆ dqStartegyScheme

Enumerator
DQ_SCHEME_DELIVER_ALL 
DQ_SCHEME_INGORE_DUPS 

◆ dqftStrategyScheme

Enumerator
DQ_FT_DO_NOT_WAIT_FOR_RECAP 
DQ_FT_WAIT_FOR_RECAP 

Function Documentation

◆ mamaSubscription_activate()

MAMAExpDLL mama_status mamaSubscription_activate ( mamaSubscription  subscription)

Activate a subscription that has been set up by mamaSubscription_setup().

Subscription creation actually occurs on the throttle queue. An individual subscription cannot be assumed to be fully created until its onCreate() callback has been successfully invoked. The subscription rate can be governed via the mamaTransport_setOutboundThrottle () function. Any subscription properties should be set prior to calling this function.

Parameters
[in]subscriptionThe subscription.
Returns
Mama status code can be one of: MAMA_STATUS_SUBSCRIPTION_INVALID_TYPE - the type of subscription does not support activation. This will be returned if activate is called for a basic subscription. MAMA_STATUS_SUBSCRIPTION_INVALID_STATE - the subscription cannot be activated as it is in the wrong state. MAMA_STATUS_OK.

◆ mamaSubscription_allocate()

MAMAExpDLL mama_status mamaSubscription_allocate ( mamaSubscription result)

Allocate memory for a new subscription.

The subscription is not actually created until a call to one of the create() functions is made. Memory must be freed using the mamaSubscription_deallocate() function.

Parameters
[out]resultWhere the address of the new subscription will be written.
Returns
mama_status value can be one of MAMA_STATUS_NOMEM MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_checkDebugLevel()

MAMAExpDLL int mamaSubscription_checkDebugLevel ( mamaSubscription  subscription,
MamaLogLevel  level 
)

Return whether the debug level for this subscription equals or exceeds some level.

Parameters
[in]subscriptionThe subscription.
[in]levelThe debug level to check.
Returns
whether the level equals or exceeds the set level for this subscription.

◆ mamaSubscription_create()

MAMAExpDLL mama_status mamaSubscription_create ( mamaSubscription  subscription,
mamaQueue  queue,
const mamaMsgCallbacks callbacks,
mamaSource  source,
const char *  symbol,
void *  closure 
)

Create and activate subscription.

This is effectively a pair of calls to mamaSubscription_setup() and mamaSubscription_activate().

Parameters
[in]subscriptionThe subscription.
[in]queueThe mama queue.
[in]callbacksThe mamaMsgCallbacks structure containing the callback functions.
[in]sourceThe mamaSource identifying the publisher for this symbol.
[in]symbolThe symbol name.
[in]closureThe closure will be passed to subsequent callback invocations for this subscription.
Returns
mama_status return code can be one of: MAMA_STATUS_INVALID_ARG MAMA_STATUS_INVALID_QUEUE MAMA_STATUS_SUBSCRIPTION_INVALID_STATE MAMA_STATUS_NO_BRIDGE_IMPL MAMA_STATUS_NOMEM MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_createBasic()

MAMAExpDLL mama_status mamaSubscription_createBasic ( mamaSubscription  subscription,
mamaTransport  transport,
mamaQueue  queue,
const mamaMsgCallbacks callbacks,
const char *  symbol,
void *  closure 
)

Create a basic subscription without marketdata semantics.

Parameters
[in]subscriptionThe subscription.
[in]transportThe transport to use. Must be a basic transport.
[in]queueThe mama queue.
[in]callbacksThe mamaMsgCallbacks structure containing the callback functions.
[in]symbolThe symbol on which message are being published.
[in]closureThe closure will be passed to subsequent callback invocations for this subscription.
Returns
mama_status return code can be one of: MAMA_STATUS_INVALID_ARG MAMA_STATUS_INVALID_QUEUE MAMA_STATUS_SUBSCRIPTION_INVALID_STATE MAMA_STATUS_NO_BRIDGE_IMPL MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_createBasicWildCard()

MAMAExpDLL mama_status mamaSubscription_createBasicWildCard ( mamaSubscription  subscription,
mamaTransport  transport,
mamaQueue  queue,
const mamaWildCardMsgCallbacks callbacks,
const char *  source,
const char *  symbol,
void *  closure 
)

Crate and activate a wildcard subscription that may be actually activated later.

Activate the subscription using mamaSubscription_activate().

The topic must be a valid wildcard topic for the underlying middleware.

Applications may set and retireve per-topic closures using mamaSubscription_setItemClosure() however this method is only guaranteed to set the correct closure if called while in the msg callback. It will be the topicClosure argument for subsequent callback invocations for the current topic. The topicClosure argument to the callback is NULL prior to an application setting the closure for the topic.

NOTE: For WMW a source with a NULL symbol parameter creates a "transport" subscription that receives all messages on the transport and bypasses the naming service. A publishing transport can be assigned a name with the publish_name property.

Parameters
[in]subscriptionThe subscription.
[in]transportThe transport to use.
[in]queueThe mama queue.
[in]callbacksThe mamaMsgCallbacks structure containing the callback functions.
[in]sourceThe source name of the feed handler to provide the subscription.
[in]symbolThe symbol name.
[in]closureThe closure will be passed to subsequent callback invocations for this subscription.
Returns
mama_status return code can be one of: MAMA_STATUS_INVALID_ARG MAMA_STATUS_INVALID_QUEUE MAMA_STATUS_SUBSCRIPTION_INVALID_STATE MAMA_STATUS_NO_BRIDGE_IMPL MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_createSnapshot()

MAMAExpDLL mama_status mamaSubscription_createSnapshot ( mamaSubscription  subscription,
mamaQueue  queue,
const mamaMsgCallbacks callbacks,
mamaSource  source,
const char *  symbol,
void *  closure 
)

Create a snapshot subscription for initial value only (no updates).

This function is equivalent to mamaSubscription_create () with svcLevel set to MAMA_SERVICE_LEVEL_SNAPSHOT and default arguments for type, svcLevelOpt, requiresInitial, retries, timeout.

Parameters
[in]subscriptionThe subscription.
[in]queueThe mama queue.
[in]callbacksThe mamaMsgCallbacks structure containing the callback functions.
[in]sourceThe mamaSource identifying the publisher of data for the specified symbol.
[in]symbolThe symbol name.
[in]closureThe closure will be passed to subsequent callback invocations for this subscription.
Returns
mama_status return code can be one of: MAMA_STATUS_INVALID_ARG MAMA_STATUS_INVALID_QUEUE MAMA_STATUS_SUBSCRIPTION_INVALID_STATE MAMA_STATUS_NO_BRIDGE_IMPL MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_deactivate()

MAMAExpDLL mama_status mamaSubscription_deactivate ( mamaSubscription  subscription)

Deactivate a subscription.

The subscription can be reactivated if desired using mamaSubscription_activate(). Note that the subscription will not be fully deactivated until the onDestroy callback is received.

Parameters
[in]subscriptionThe subscription.
Returns
mama status code can be one of: MAMA_STATUS_SUBSCRIPTION_INVALID_TYPE - the type of subscription does not support deactivation. This will be returned if deactivate is called for a basic subscription. MAMA_STATUS_SUBSCRIPTION_INVALID_STATE - the subscription cannot be deactivated as it is in the wrong state. MAMA_STATUS_OK.

◆ mamaSubscription_deallocate()

MAMAExpDLL mama_status mamaSubscription_deallocate ( mamaSubscription  subscription)

Free the memory for a mamaSubscription which was allocated via a call to mamaSubscription_allocate() This function will call mamaSubscription_destroy() if the subscription has not already been destroyed.

Parameters
[in]subscriptionThe subscription to be deallocated.
Returns
mama status code can be one of: MAMA_STATUS_SUBSCRIPTION_INVALID_STATE MAMA_STATS_NULL_ARG MAMA_STATUS_OK.

◆ mamaSubscription_destroy()

MAMAExpDLL mama_status mamaSubscription_destroy ( mamaSubscription  subscription)

Destroy the subscription.

This function must be called to destroy resources associated with the subscription. It sends an unsubscribe to the feed handler for subscription management. This function does not free the memory associated with the subscription. mamaSubscription_create() can be called again after this function has been called. This function must be called from the same thread dispatching on the associated event queue unless both the default queue and dispatch queue are not actively dispatching.

Parameters
[in]subscriptionThe subscription.
Returns
mama_status value can be one of MAMA_STATUS_NULL_ARG MAMA_STATUS_SUBSCRIPTION_INVALID_STATE MAMA_STATUS_OK

◆ mamaSubscription_destroyEx()

MAMAExpDLL mama_status mamaSubscription_destroyEx ( mamaSubscription  subscription)

This function will destroy the subscription and can be called from any thread.

Note that the subscription will not be fully destroyed until the onDestroy callback is received. To destroy from the dispatching thread the mamaSubscription_destroy function should be used in preference.

Parameters
[in]subscriptionThe subscription.
Returns
mama_status value can be one of MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getAppDataType()

MAMAExpDLL mama_status mamaSubscription_getAppDataType ( mamaSubscription  subscription,
uint8_t *  appDataType 
)

Retrieve the application-specific data type.

Parameters
[in]subscriptionThe subscription.
[out]appDataTypeA pointer to a uint8_t to hold the value.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getClosure()

MAMAExpDLL mama_status mamaSubscription_getClosure ( mamaSubscription  subscription,
void **  closure 
)

Return the closure.

Parameters
[in]subscriptionThe subscription.
[out]closureholds the result.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getDebugLevel()

MAMAExpDLL MamaLogLevel mamaSubscription_getDebugLevel ( mamaSubscription  subscription)

Return the debug level for this subscription.

Parameters
[in]subscriptionThe subscription.
Returns
the debug level for this subscription.

◆ mamaSubscription_getItemClosure()

MAMAExpDLL mama_status mamaSubscription_getItemClosure ( mamaSubscription  subscription,
void **  closure 
)

Return the item closure for the current message for the subscription.

See setItemClosure for more detail.

Parameters
[in]subscriptionThe subscription.
[out]closureThe address to where the closure should be written.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getMsgQualifierFilter()

MAMAExpDLL mama_status mamaSubscription_getMsgQualifierFilter ( mamaSubscription  subscription,
int *  ignoreDefinitelyDuplicate,
int *  ignorePossiblyDuplicate,
int *  ignoreDefinitelyDelayed,
int *  ignorePossiblyDelayed,
int *  ignoreOutOfSequence 
)

Get the filters that discard message according to the message qualifier.

Parameters
[in]subscriptionThe subscription from which the filer is being obtained.
[out]ignoreDefinitelyDuplicateIf true callbacks will not be invoked for messages where MamaMsg::getIsDefinitelyDuplicate returns true.
[out]ignorePossiblyDuplicateIf true callbacks will not be invoked for messages where MamaMsg::getIsPossiblyDuplicate returns true.
[out]ignoreDefinitelyDelayedIf true callbacks will not be invoked for messages where MamaMsg::getIsDefinitelyDelayed returns true.
[out]ignorePossiblyDelayedIf true callbacks will not be invoked for messages where MamaMsg::getIsPossiblyDelayed returns true.
[out]ignoreOutOfSequenceIf true callbacks will not be invoked for messages where MamaMsg::getIsOutOfSequence returns true.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getPlatformError()

MAMAExpDLL mama_status mamaSubscription_getPlatformError ( mamaSubscription  subsc,
void **  error 
)

Return the middleware-specific platform error.

When a mamaSubscription_ method return MAMA_STATUS_PLATFORM the error will be the result from the underlying platform.

Parameters
[in]subscThe subscription.
[out]errora pointer to a void pointer to hold the result.
Returns
mama_status return code can be one of: MAMA_STATUS_NO_BRIDGE_IMPL MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getPreIntitialCacheSize()

MAMAExpDLL mama_status mamaSubscription_getPreIntitialCacheSize ( mamaSubscription  subscription,
int *  result 
)

Return the initial value cache size.

Parameters
[in]subscriptionThe subscription.
[out]resultA pointer to an int for the result.
Returns
mama_status value can be one of MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getQueue()

MAMAExpDLL mama_status mamaSubscription_getQueue ( mamaSubscription  subscription,
mamaQueue queue 
)

Return the mamaQueue for this subscription.

Parameters
[in]subscriptionThe subscription.
[out]queueA pointer to hold the queue.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getReceivedInitial()

MAMAExpDLL mama_status mamaSubscription_getReceivedInitial ( mamaSubscription  subscription,
int *  receivedInitial 
)

Returns a value of 1 or 0 indicating whether the subscription has received an initial.

Parameters
[in]subscriptionThe subscription
[out]receivedInitialWill be 1 if an initial has been recieved else 0.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getRecoverGaps()

MAMAExpDLL mama_status mamaSubscription_getRecoverGaps ( mamaSubscription  subscription,
int *  doesRecover 
)

Whether the specified subscription will attempt to recover from sequence number gaps.

Parameters
subscription[in]The subscription
doesRecover[out]0 - does not recover, 1 - does attempt to recover
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getRequiresInitial()

MAMAExpDLL mama_status mamaSubscription_getRequiresInitial ( mamaSubscription  subscription,
int *  requiresInitial 
)

Returns a value of 1 or 0 indicating whether this subscription is interested in initial values.

Parameters
[in]subscriptionThe subscription
[out]requiresInitial1 if an initial is required else 0.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getRetries()

MAMAExpDLL mama_status mamaSubscription_getRetries ( mamaSubscription  subscription,
int *  retries 
)

Retrieve the retries.

Parameters
[in]subscriptionThe subscription.
[out]retriesA pointer to a int to hold the value.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getServiceLevel()

MAMAExpDLL mama_status mamaSubscription_getServiceLevel ( mamaSubscription  subscription,
mamaServiceLevel serviceLevel 
)

Get the service level for the specified subscription.

Parameters
[in]subscriptionThe subscription for which the service level is being obtained.
[out]serviceLevelAddress to where the service level will be written
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getServiceLevelOpt()

MAMAExpDLL mama_status mamaSubscription_getServiceLevelOpt ( mamaSubscription  subscription,
long *  serviceLevel 
)

Get the service level options for the specified subscription.

Parameters
[in]subscriptionThe subscription for which the service level is being obtained.
[out]serviceLevelAddress to where the service level options will be written
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getSource()

MAMAExpDLL mama_status mamaSubscription_getSource ( mamaSubscription  subscription,
const char **  source 
)

Return the source for the specified subscription.

Note that this function just returns a pointer to the source inside the subscription and does not allocate any memory.

Parameters
[in]subscriptionThe subscription.
[out]sourceholds the result, (do not free).
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getState()

MAMAExpDLL mama_status mamaSubscription_getState ( mamaSubscription  subscription,
mamaSubscriptionState state 
)

This function will return the current state of the subscription, this function should be used in preference to the mamaSubscription_isActive or mamaSubscription_isValid functions.

This function is thread-safe.

Parameters
[in]subscriptionThe subscription to return the state for.
[out]stateTo return the state, this can be one of the mamaSubscriptionState enumeration values.
Returns
mama_status return code can be one of: MAMA_STATUS_OK MAMA_STATUS_NULL_ARG

◆ mamaSubscription_getSubscriptionType()

MAMAExpDLL mama_status mamaSubscription_getSubscriptionType ( mamaSubscription  subscription,
mamaSubscriptionType type 
)

Returns the underlying mamaSubscriptionType for the specified subscription.

Parameters
[in]subscriptionThe subscription for which the type will be returned.
[out]typeAddress to which the type will be written.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getSubscSymbol()

MAMAExpDLL mama_status mamaSubscription_getSubscSymbol ( mamaSubscription  subscription,
const char **  symbol 
)

Return the symbol as subscribed to (i.e., as mapped by the mapping function, if any, for the mamaTransport).

Note that this function just returns a pointer to the symbol inside the subscription and does not allocate any memory.

Parameters
[in]subscriptionThe subscription.
[out]symbolholds the result, do not free.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getSymbol()

MAMAExpDLL mama_status mamaSubscription_getSymbol ( mamaSubscription  subscription,
const char **  symbol 
)

Return the symbol as provided by the user (before any symbol mapping).

Note that this function just returns a pointer to the symbol inside the subscription and does not allocate any memory.

Parameters
[in]subscriptionThe subscription.
[out]symbolholds the result, (do not free).
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getTimeout()

MAMAExpDLL mama_status mamaSubscription_getTimeout ( mamaSubscription  subscription,
double *  timeout 
)

Retrieve the timeout.

Parameters
[in]subscriptionThe subscription.
[out]timeoutA pointer to a double to hold the value.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getTransport()

MAMAExpDLL mama_status mamaSubscription_getTransport ( mamaSubscription  subscription,
mamaTransport transport 
)

Return the mamaTransport for this subscription.

Parameters
[in]subscriptionThe subscription.
[out]transportA pointer to hold the transport.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_getUserCallbacks()

MAMAExpDLL mamaMsgCallbacks* mamaSubscription_getUserCallbacks ( mamaSubscription  subscription)

Returns a pointer to the mamaMsgCallbacks structure.

Parameters
[in]subscriptionThe mamaSubscription
Returns
pointer to the callbacks container structure MAMA_STATUS_OK

◆ mamaSubscription_isActive()

MAMAExpDLL int mamaSubscription_isActive ( mamaSubscription  subscription)

Returns whether the subscription is active, note that this function has been deprecated, use mamaSubscription_getState instead.

Parameters
[in]subscriptionThe subscription.
Returns
whether the subscription is active.

◆ mamaSubscription_isValid()

MAMAExpDLL int mamaSubscription_isValid ( mamaSubscription  subscription)

Return whether the subscription is valid, note that this function has been deprecated, use mamaSubscription_getState instead.

Parameters
[in]subscriptionThe subscription
Returns
whether the subscription is valid.

◆ mamaSubscription_muteCurrentTopic()

MAMAExpDLL mama_status mamaSubscription_muteCurrentTopic ( mamaSubscription  subscription)

Mute the current topic for wildcard subscriptions.

Applications should only invoke this method from the message callback. When invoked for a WMW transport subsription, the subscription will cease receiving calbacks on the current topic.

This method only works for WMW "transport" subscriptions which are Wild card subscriptions created with a source of a named publisher, and a NULL topic.

Parameters
[in]subscriptionThe subscription
Returns
mama_status return code can be one of: MAMA_STATUS_NO_BRIDGE_IMPL MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_setAppDataType()

MAMAExpDLL mama_status mamaSubscription_setAppDataType ( mamaSubscription  subscription,
uint8_t  appDataType 
)

Set the application-specific data type.

Parameters
[in]subscriptionThe subscription.
[in]appDataTypeThe application-specific data type.
Returns
mama_status return code can be one of:
         MAMA_STATUS_NULL_ARG
         MAMA_STATUS_OK

◆ mamaSubscription_setDebugLevel()

MAMAExpDLL mama_status mamaSubscription_setDebugLevel ( mamaSubscription  subscription,
MamaLogLevel  level 
)

Set the debug level for this subscription.

Parameters
[in]subscriptionThe subscription.
[in]levelThe new debug level.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_setGroupSizeHint()

MAMAExpDLL mama_status mamaSubscription_setGroupSizeHint ( mamaSubscription  subscription,
int  groupSizeHint 
)

A hint as to the expected size of size of groups when making group subscriptions.

Parameters
[in]subscriptionThe subscription
[in]groupSizeHintThe size of the groups
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_setItemClosure()

MAMAExpDLL mama_status mamaSubscription_setItemClosure ( mamaSubscription  subscription,
void *  closure 
)

Set the item closure for group subscriptions.

Group subscriptions receive updates for multiple symbols. This method allows calls to set a per-symbol closure which will be passed as the fourth argument to subsequent calls to the onMsg callback. This method may only be called during the onMsg callback.

This method also sets per-topic closures for wildcard subscriptions.

Setting the item closure for a non-group subscription provides a second closure.

Parameters
[in]subscriptionThe subscription.
[in]closureThe new item closure.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_setMsgQualifierFilter()

MAMAExpDLL mama_status mamaSubscription_setMsgQualifierFilter ( mamaSubscription  subscription,
int  ignoreDefinitelyDuplicate,
int  ignorePossiblyDuplicate,
int  ignoreDefinitelyDelayed,
int  ignorePossiblyDelayed,
int  ignoreOutOfSequence 
)

Set a filter to discard messages.

Parameters
[in]subscriptionThe subscription on which the filter is being set.
[in]ignoreDefinitelyDuplicateIf true callbacks will not be invoked for messages where MamaMsg::getIsDefinitelyDuplicate returns true.
[in]ignorePossiblyDuplicateIf true callbacks will not be invoked for messages where MamaMsg::getIsPossiblyDuplicate returns true.
[in]ignoreDefinitelyDelayedIf true callbacks will not be invoked for messages where MamaMsg::getIsDefinitelyDelayed returns true.
[in]ignorePossiblyDelayedIf true callbacks will not be invoked for messages where MamaMsg::getIsPossiblyDelayed returns true.
[in]ignoreOutOfSequenceIf true callbacks will not be invoked for messages where MamaMsg::getIsOutOfSequence returns true.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_setPreIntitialCacheSize()

MAMAExpDLL mama_status mamaSubscription_setPreIntitialCacheSize ( mamaSubscription  subscription,
int  cacheSize 
)

Set the number of messages to cache for each symbol before the initial value arrives.

This allows the subscription to recover when the initial value arrives late (after a subsequent trade or quote already arrived).

For group subscription, a separate cache is used for each group member.

The default is 10.

Parameters
[in]subscriptionThe subscription.
[in]cacheSizeThe size of the cache.
Returns
mama_status value can be one of MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_setRecoverGaps()

MAMAExpDLL mama_status mamaSubscription_setRecoverGaps ( mamaSubscription  subscription,
int  doesRecover 
)

Whether a subscription should attempt to recover from sequence number gaps.

Parameters
[in]subscriptionThe subscription
[out]doesRecover0 indicates not to recover. 1 The subscription will attempt to recover via a recap request.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_setRequiresInitial()

MAMAExpDLL mama_status mamaSubscription_setRequiresInitial ( mamaSubscription  subscription,
int  requiresInitial 
)

Whether an initial value is required for the specified subscription.

This only applies to market data subscriptions and not to basic subscriptions. Default value of 1 indicating that initial values are required.

Parameters
[in]subscriptionThe subscription
[in]requiresInitial[1|0] Whether to request an initial value or not.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_setServiceLevel()

MAMAExpDLL mama_status mamaSubscription_setServiceLevel ( mamaSubscription  subscription,
mamaServiceLevel  serviceLevel,
long  serviceLevelOpt 
)

Set the service level.

This method must be invoked before createXXX ().

Parameters
[in]subscriptionThe subscription for which the service level is being set.
[in]serviceLevelThe service level of the subscription (real time, snapshot, etc.). The default is MAMA_SERVICE_LEVEL_REAL_TIME.
[in]serviceLevelOptAn optional argument for certain service levels. (Defaults to 0 - for future use)
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_setRetries()

MAMAExpDLL mama_status mamaSubscription_setRetries ( mamaSubscription  subscription,
int  retries 
)

Set the number of retries when requesting recaps.

Parameters
[in]subscriptionThe subscription.
[in]retriesThe number of retries.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_setSubscriptionType()

MAMAExpDLL mama_status mamaSubscription_setSubscriptionType ( mamaSubscription  subscription,
mamaSubscriptionType  type 
)

Set the subscription type for the subscription being created.

If not called the subscription type defaults to MAMA_SUBSC_TYPE_NORMAL. See mamaSubscriptionType enum for valid values.

Parameters
[in]subscriptionThe subscription for which the type is being set.
[in]typeThe type of the subscription being created.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_setSymbol()

MAMAExpDLL mama_status mamaSubscription_setSymbol ( mamaSubscription  subscription,
const char *  symbol 
)

Set the symbol (e.g.

to change symbol mapping).

Parameters
[in]subscriptionThe subscription.
[in]symbol.
Returns
mama_status return code can be one of: MAMA_STATUS_NOMEM MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_setTimeout()

MAMAExpDLL mama_status mamaSubscription_setTimeout ( mamaSubscription  subscription,
double  timeout 
)

Set the timeout for this subscription.

The timeout is used for requesting recaps.

Parameters
[in]subscriptionThe subscription.
[in]timeoutThe timeout in seconds.
Returns
mama_status return code can be one of: MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_setup()

MAMAExpDLL mama_status mamaSubscription_setup ( mamaSubscription  subscription,
mamaQueue  queue,
const mamaMsgCallbacks callbacks,
mamaSource  source,
const char *  symbol,
void *  closure 
)

Set the parameters for a subscription that may be actually activated later.

Activate the subscription using mamaSubscription_activate().

Parameters
[in]subscriptionThe subscription.
[in]queueThe mama queue.
[in]callbacksThe mamaMsgCallbacks structure containing the callback functions.
[in]sourceThe MAMA source to use.
[in]symbolThe symbol name.
[in]closureThe closure will be passed to subsequent callback invocations for this subscription.
Returns
mama_status return code can be one of: MAMA_STATUS_INVALID_ARG MAMA_STATUS_INVALID_QUEUE MAMA_STATUS_SUBSCRIPTION_INVALID_STATE MAMA_STATUS_NO_BRIDGE_IMPL MAMA_STATUS_NOMEM MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_setup2()

MAMAExpDLL mama_status mamaSubscription_setup2 ( mamaSubscription  subscription,
mamaTransport  transport,
mamaQueue  queue,
const mamaMsgCallbacks callbacks,
const char *  sourceName,
const char *  symbol,
void *  closure 
)

Set the parameters for a subscription that may be actually activated later.

Activate the subscription using mamaSubscription_activate().

Parameters
[in]subscriptionThe subscription.
[in]transportThe MAMA transport.
[in]queueThe mama queue.
[in]callbacksThe mamaMsgCallbacks structure containing the callback functions.
[in]sourceNameThe source name..
[in]symbolThe symbol name.
[in]closureThe closure will be passed to subsequent callback invocations for this subscription.
Returns
mama_status return code can be one of: MAMA_STATUS_INVALID_ARG MAMA_STATUS_INVALID_QUEUE MAMA_STATUS_SUBSCRIPTION_INVALID_STATE MAMA_STATUS_NO_BRIDGE_IMPL MAMA_STATUS_NOMEM MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_setupBasicWildCard()

MAMAExpDLL mama_status mamaSubscription_setupBasicWildCard ( mamaSubscription  subscription,
mamaTransport  transport,
mamaQueue  queue,
const mamaWildCardMsgCallbacks callbacks,
const char *  source,
const char *  symbol,
void *  closure 
)

Set the parameters for a wildcard subscription that may be actually activated later.

Activate the subscription using mamaSubscription_activate().

The topic must be a valid wildcard topic for the underlying middleware.

Applications may set and retireve per-topic closures using mamaSubscription_setItemClosure() however this method is only guaranteed to set the correct closure if called while in the msg callback. It will be the topicClosure argument for subsequent callback invocations for the current topic. The topicClosure argument to the callback is NULL prior to an application setting the closure for the topic.

Parameters
subscriptionThe subscription.
transportThe transport to use.
queueThe mama queue.
callbacksThe mamaMsgCallbacks structure containing the callback functions.
sourceThe source name of the feed handler to provide the subscription.
symbolThe symbol name.
closureThe closure will be passed to subsequent callback invocations for this subscription.
Returns
mama_status return code can be one of: MAMA_STATUS_INVALID_ARG MAMA_STATUS_INVALID_QUEUE MAMA_STATUS_SUBSCRIPTION_INVALID_STATE MAMA_STATUS_NO_BRIDGE_IMPL MAMA_STATUS_NOMEM MAMA_STATUS_NULL_ARG MAMA_STATUS_OK

◆ mamaSubscription_stringForState()

const MAMAExpDLL char* mamaSubscription_stringForState ( mamaSubscriptionState  state)

This function will return the string representation of the subscription state.

The subscription state can be obtained by calling the mamaSubscription_getState function.

Parameters
[in]stateThe state to obtain the string representation for.
Returns
A string representation of the state code or "State not recognised" if it is not recognised.
DQ_SCHEME_DELIVER_ALL
@ DQ_SCHEME_DELIVER_ALL
Definition: subscription.h:116
mamaSubscriptionState
mamaSubscriptionState
The enumeration describes the state of the subsubscription at any time.
Definition: subscription.h:70
DQ_FT_DO_NOT_WAIT_FOR_RECAP
@ DQ_FT_DO_NOT_WAIT_FOR_RECAP
Definition: subscription.h:123
MAMA_SUBSCRIPTION_REACTIVATING
@ MAMA_SUBSCRIPTION_REACTIVATING
Definition: subscription.h:110
MAMA_SUBSCRIPTION_ALLOCATED
@ MAMA_SUBSCRIPTION_ALLOCATED
Definition: subscription.h:76
MAMA_SUBSCRIPTION_ACTIVATING
@ MAMA_SUBSCRIPTION_ACTIVATING
Definition: subscription.h:84
preInitialScheme
preInitialScheme
MAMA can cache messages which arrive prior to an initial value.
Definition: subscription.h:57
MAMA_SUBSCRIPTION_DEALLOCATED
@ MAMA_SUBSCRIPTION_DEALLOCATED
Definition: subscription.h:107
DQ_FT_WAIT_FOR_RECAP
@ DQ_FT_WAIT_FOR_RECAP
Definition: subscription.h:124
dqStartegyScheme
dqStartegyScheme
Definition: subscription.h:114
MAMA_SUBSCRIPTION_ACTIVATED
@ MAMA_SUBSCRIPTION_ACTIVATED
Definition: subscription.h:87
MAMA_SUBSCRIPTION_DEACTIVATING
@ MAMA_SUBSCRIPTION_DEACTIVATING
Definition: subscription.h:90
DQ_SCHEME_INGORE_DUPS
@ DQ_SCHEME_INGORE_DUPS
Definition: subscription.h:117
PRE_INITIAL_SCHEME_ON_INITIAL
@ PRE_INITIAL_SCHEME_ON_INITIAL
Definition: subscription.h:60
MAMA_SUBSCRIPTION_DESTROYED
@ MAMA_SUBSCRIPTION_DESTROYED
Definition: subscription.h:99
PRE_INITIAL_SCHEME_ON_GAP
@ PRE_INITIAL_SCHEME_ON_GAP
Definition: subscription.h:59
MAMA_SUBSCRIPTION_UNKNOWN
@ MAMA_SUBSCRIPTION_UNKNOWN
Definition: subscription.h:73
MAMA_SUBSCRIPTION_DEACTIVATED
@ MAMA_SUBSCRIPTION_DEACTIVATED
Definition: subscription.h:93
MAMA_SUBSCRIPTION_DEALLOCATING
@ MAMA_SUBSCRIPTION_DEALLOCATING
Definition: subscription.h:102
dqftStrategyScheme
dqftStrategyScheme
Definition: subscription.h:121
MAMA_SUBSCRIPTION_DESTROYING
@ MAMA_SUBSCRIPTION_DESTROYING
Definition: subscription.h:96
MAMA_SUBSCRIPTION_SETUP
@ MAMA_SUBSCRIPTION_SETUP
Definition: subscription.h:81


© 2012 Linux Foundation