#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 mamaMsgCallbacks * | mamaSubscription_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... | |
MAMAExpDLL const char * | mamaSubscription_stringForState (mamaSubscriptionState state) |
This function will return the string representation of the subscription state. More... | |
typedef void(MAMACALLTYPE * wombat_subscriptionCreateCB) (mamaSubscription subscription, void *closure) |
Function invoked when subscription creation is complete, and before any calls to wombat_subscriptionOnMsgCB
.
subscription | The subscription. |
closure | The closure passed to the mamaSubscription_create function. |
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.
subscription | the MamaSubscription . |
closure | The closure passed to the mamaSubscription_create function. |
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.
subscription | The subscription. |
status | The error code. |
platformError | Third party, platform specific messaging error. |
subject | The subject for NOT_ENTITLED |
closure | The closure passed to the mamaSubscription_create function. |
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.
subscription | the MamaSubscription . |
closure | The closure passed to the mamaSubscription_create function. |
typedef void(MAMACALLTYPE * wombat_subscriptionOnMsgCB) (mamaSubscription subscription, mamaMsg msg, void *closure, void *itemClosure) |
Invoked when a message arrives.
subscription | the MamaSubscription . |
msg | The mamaMsg. |
closure | The closure passed to the mamaSubscription_create function. |
itemClosure | The item closure for the subscription can be set with mamaSubscription_setItemClosure. |
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.
subscription | the MamaSubscription . |
quality | The new quality. |
symbol | The symbol. |
cause | The cause of the data quality event. |
platformInfo | Info associated with the data quality event. |
closure | The 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.
typedef void(MAMACALLTYPE * wombat_subscriptionRecapCB) (mamaSubscription subscription, void *closure) |
Function invoked when a recap is requested upon detecting a sequence number gap.
subscription | the MamaSubscription . |
closure | The closure passed to the mamaSubscription_create function. |
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.
subscription | the MamaSubscription . |
msg | The mamaMsg. |
topic | The symbol. |
closure | The closure passed to the mamaSubscription_create function. |
itemClosure | Symbol specific closure. |
typedef struct mamaMsgCallbacks_ mamaMsgCallbacks |
A convenience structure for passing the callbacks to the subscription factory methods.
typedef struct mamaWildCardMsgCallbacks_ mamaWildCardMsgCallbacks |
A convenience structure for passing the callbacks to wild card subscription factory methods.
enum 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 |
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.
enum dqStartegyScheme |
enum dqftStrategyScheme |
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.
[in] | subscription | The subscription. |
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.
[out] | result | Where the address of the new subscription will be written. |
MAMAExpDLL int mamaSubscription_checkDebugLevel | ( | mamaSubscription | subscription, |
MamaLogLevel | level | ||
) |
Return whether the debug level for this subscription equals or exceeds some level.
[in] | subscription | The subscription. |
[in] | level | The debug level to check. |
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().
[in] | subscription | The subscription. |
[in] | queue | The mama queue. |
[in] | callbacks | The mamaMsgCallbacks structure containing the callback functions. |
[in] | source | The mamaSource identifying the publisher for this symbol. |
[in] | symbol | The symbol name. |
[in] | closure | The closure will be passed to subsequent callback invocations for this subscription. |
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.
[in] | subscription | The subscription. |
[in] | transport | The transport to use. Must be a basic transport. |
[in] | queue | The mama queue. |
[in] | callbacks | The mamaMsgCallbacks structure containing the callback functions. |
[in] | symbol | The symbol on which message are being published. |
[in] | closure | The closure will be passed to subsequent callback invocations for this subscription. |
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.
[in] | subscription | The subscription. |
[in] | transport | The transport to use. |
[in] | queue | The mama queue. |
[in] | callbacks | The mamaMsgCallbacks structure containing the callback functions. |
[in] | source | The source name of the feed handler to provide the subscription. |
[in] | symbol | The symbol name. |
[in] | closure | The closure will be passed to subsequent callback invocations for this subscription. |
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.
[in] | subscription | The subscription. |
[in] | queue | The mama queue. |
[in] | callbacks | The mamaMsgCallbacks structure containing the callback functions. |
[in] | source | The mamaSource identifying the publisher of data for the specified symbol. |
[in] | symbol | The symbol name. |
[in] | closure | The closure will be passed to subsequent callback invocations for this subscription. |
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.
[in] | subscription | The subscription. |
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.
[in] | subscription | The subscription to be deallocated. |
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.
[in] | subscription | The subscription. |
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.
[in] | subscription | The subscription. |
MAMAExpDLL mama_status mamaSubscription_getAppDataType | ( | mamaSubscription | subscription, |
uint8_t * | appDataType | ||
) |
Retrieve the application-specific data type.
[in] | subscription | The subscription. |
[out] | appDataType | A pointer to a uint8_t to hold the value. |
MAMAExpDLL mama_status mamaSubscription_getClosure | ( | mamaSubscription | subscription, |
void ** | closure | ||
) |
Return the closure.
[in] | subscription | The subscription. |
[out] | closure | holds the result. |
MAMAExpDLL MamaLogLevel mamaSubscription_getDebugLevel | ( | mamaSubscription | subscription | ) |
Return the debug level for this subscription.
[in] | subscription | The subscription. |
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.
[in] | subscription | The subscription. |
[out] | closure | The address to where the closure should be written. |
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.
[in] | subscription | The subscription from which the filer is being obtained. |
[out] | ignoreDefinitelyDuplicate | If true callbacks will not be invoked for messages where MamaMsg::getIsDefinitelyDuplicate returns true. |
[out] | ignorePossiblyDuplicate | If true callbacks will not be invoked for messages where MamaMsg::getIsPossiblyDuplicate returns true. |
[out] | ignoreDefinitelyDelayed | If true callbacks will not be invoked for messages where MamaMsg::getIsDefinitelyDelayed returns true. |
[out] | ignorePossiblyDelayed | If true callbacks will not be invoked for messages where MamaMsg::getIsPossiblyDelayed returns true. |
[out] | ignoreOutOfSequence | If true callbacks will not be invoked for messages where MamaMsg::getIsOutOfSequence returns true. |
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.
[in] | subsc | The subscription. |
[out] | error | a pointer to a void pointer to hold the result. |
MAMAExpDLL mama_status mamaSubscription_getPreIntitialCacheSize | ( | mamaSubscription | subscription, |
int * | result | ||
) |
Return the initial value cache size.
[in] | subscription | The subscription. |
[out] | result | A pointer to an int for the result. |
MAMAExpDLL mama_status mamaSubscription_getQueue | ( | mamaSubscription | subscription, |
mamaQueue * | queue | ||
) |
Return the mamaQueue
for this subscription.
[in] | subscription | The subscription. |
[out] | queue | A pointer to hold the queue. |
MAMAExpDLL mama_status mamaSubscription_getReceivedInitial | ( | mamaSubscription | subscription, |
int * | receivedInitial | ||
) |
Returns a value of 1 or 0 indicating whether the subscription has received an initial.
[in] | subscription | The subscription |
[out] | receivedInitial | Will be 1 if an initial has been recieved else 0. |
MAMAExpDLL mama_status mamaSubscription_getRecoverGaps | ( | mamaSubscription | subscription, |
int * | doesRecover | ||
) |
Whether the specified subscription will attempt to recover from sequence number gaps.
subscription[in] | The subscription |
doesRecover[out] | 0 - does not recover, 1 - does attempt to recover |
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.
[in] | subscription | The subscription |
[out] | requiresInitial | 1 if an initial is required else 0. |
MAMAExpDLL mama_status mamaSubscription_getRetries | ( | mamaSubscription | subscription, |
int * | retries | ||
) |
Retrieve the retries.
[in] | subscription | The subscription. |
[out] | retries | A pointer to a int to hold the value. |
MAMAExpDLL mama_status mamaSubscription_getServiceLevel | ( | mamaSubscription | subscription, |
mamaServiceLevel * | serviceLevel | ||
) |
Get the service level for the specified subscription.
[in] | subscription | The subscription for which the service level is being obtained. |
[out] | serviceLevel | Address to where the service level will be written |
MAMAExpDLL mama_status mamaSubscription_getServiceLevelOpt | ( | mamaSubscription | subscription, |
long * | serviceLevel | ||
) |
Get the service level options for the specified subscription.
[in] | subscription | The subscription for which the service level is being obtained. |
[out] | serviceLevel | Address to where the service level options will be written |
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.
[in] | subscription | The subscription. |
[out] | source | holds the result, (do not free). |
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.
[in] | subscription | The subscription to return the state for. |
[out] | state | To return the state, this can be one of the mamaSubscriptionState enumeration values. |
MAMAExpDLL mama_status mamaSubscription_getSubscriptionType | ( | mamaSubscription | subscription, |
mamaSubscriptionType * | type | ||
) |
Returns the underlying mamaSubscriptionType
for the specified subscription.
[in] | subscription | The subscription for which the type will be returned. |
[out] | type | Address to which the type will be written. |
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.
[in] | subscription | The subscription. |
[out] | symbol | holds the result, do not free. |
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.
[in] | subscription | The subscription. |
[out] | symbol | holds the result, (do not free). |
MAMAExpDLL mama_status mamaSubscription_getTimeout | ( | mamaSubscription | subscription, |
double * | timeout | ||
) |
Retrieve the timeout.
[in] | subscription | The subscription. |
[out] | timeout | A pointer to a double to hold the value. |
MAMAExpDLL mama_status mamaSubscription_getTransport | ( | mamaSubscription | subscription, |
mamaTransport * | transport | ||
) |
Return the mamaTransport
for this subscription.
[in] | subscription | The subscription. |
[out] | transport | A pointer to hold the transport. |
MAMAExpDLL mamaMsgCallbacks* mamaSubscription_getUserCallbacks | ( | mamaSubscription | subscription | ) |
Returns a pointer to the mamaMsgCallbacks
structure.
[in] | subscription | The mamaSubscription |
MAMAExpDLL int mamaSubscription_isActive | ( | mamaSubscription | subscription | ) |
Returns whether the subscription is active, note that this function has been deprecated, use mamaSubscription_getState instead.
[in] | subscription | The subscription. |
MAMAExpDLL int mamaSubscription_isValid | ( | mamaSubscription | subscription | ) |
Return whether the subscription is valid, note that this function has been deprecated, use mamaSubscription_getState instead.
[in] | subscription | The subscription |
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.
[in] | subscription | The subscription |
MAMAExpDLL mama_status mamaSubscription_setAppDataType | ( | mamaSubscription | subscription, |
uint8_t | appDataType | ||
) |
Set the application-specific data type.
[in] | subscription | The subscription. |
[in] | appDataType | The application-specific data type. |
MAMA_STATUS_NULL_ARG MAMA_STATUS_OK
MAMAExpDLL mama_status mamaSubscription_setDebugLevel | ( | mamaSubscription | subscription, |
MamaLogLevel | level | ||
) |
Set the debug level for this subscription.
[in] | subscription | The subscription. |
[in] | level | The new debug level. |
MAMAExpDLL mama_status mamaSubscription_setGroupSizeHint | ( | mamaSubscription | subscription, |
int | groupSizeHint | ||
) |
A hint as to the expected size of size of groups when making group subscriptions.
[in] | subscription | The subscription |
[in] | groupSizeHint | The size of the groups |
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.
[in] | subscription | The subscription. |
[in] | closure | The new item closure. |
MAMAExpDLL mama_status mamaSubscription_setMsgQualifierFilter | ( | mamaSubscription | subscription, |
int | ignoreDefinitelyDuplicate, | ||
int | ignorePossiblyDuplicate, | ||
int | ignoreDefinitelyDelayed, | ||
int | ignorePossiblyDelayed, | ||
int | ignoreOutOfSequence | ||
) |
Set a filter to discard messages.
[in] | subscription | The subscription on which the filter is being set. |
[in] | ignoreDefinitelyDuplicate | If true callbacks will not be invoked for messages where MamaMsg::getIsDefinitelyDuplicate returns true. |
[in] | ignorePossiblyDuplicate | If true callbacks will not be invoked for messages where MamaMsg::getIsPossiblyDuplicate returns true. |
[in] | ignoreDefinitelyDelayed | If true callbacks will not be invoked for messages where MamaMsg::getIsDefinitelyDelayed returns true. |
[in] | ignorePossiblyDelayed | If true callbacks will not be invoked for messages where MamaMsg::getIsPossiblyDelayed returns true. |
[in] | ignoreOutOfSequence | If true callbacks will not be invoked for messages where MamaMsg::getIsOutOfSequence returns true. |
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.
[in] | subscription | The subscription. |
[in] | cacheSize | The size of the cache. |
MAMAExpDLL mama_status mamaSubscription_setRecoverGaps | ( | mamaSubscription | subscription, |
int | doesRecover | ||
) |
Whether a subscription should attempt to recover from sequence number gaps.
[in] | subscription | The subscription |
[out] | doesRecover | 0 indicates not to recover. 1 The subscription will attempt to recover via a recap request. |
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.
[in] | subscription | The subscription |
[in] | requiresInitial | [1|0] Whether to request an initial value or not. |
MAMAExpDLL mama_status mamaSubscription_setServiceLevel | ( | mamaSubscription | subscription, |
mamaServiceLevel | serviceLevel, | ||
long | serviceLevelOpt | ||
) |
Set the service level.
This method must be invoked before createXXX ().
[in] | subscription | The subscription for which the service level is being set. |
[in] | serviceLevel | The service level of the subscription (real time, snapshot, etc.). The default is MAMA_SERVICE_LEVEL_REAL_TIME. |
[in] | serviceLevelOpt | An optional argument for certain service levels. (Defaults to 0 - for future use) |
MAMAExpDLL mama_status mamaSubscription_setRetries | ( | mamaSubscription | subscription, |
int | retries | ||
) |
Set the number of retries when requesting recaps.
[in] | subscription | The subscription. |
[in] | retries | The number of retries. |
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.
[in] | subscription | The subscription for which the type is being set. |
[in] | type | The type of the subscription being created. |
MAMAExpDLL mama_status mamaSubscription_setSymbol | ( | mamaSubscription | subscription, |
const char * | symbol | ||
) |
Set the symbol (e.g.
to change symbol mapping).
[in] | subscription | The subscription. |
[in] | symbol. |
MAMAExpDLL mama_status mamaSubscription_setTimeout | ( | mamaSubscription | subscription, |
double | timeout | ||
) |
Set the timeout for this subscription.
The timeout is used for requesting recaps.
[in] | subscription | The subscription. |
[in] | timeout | The timeout in seconds. |
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().
[in] | subscription | The subscription. |
[in] | queue | The mama queue. |
[in] | callbacks | The mamaMsgCallbacks structure containing the callback functions. |
[in] | source | The MAMA source to use. |
[in] | symbol | The symbol name. |
[in] | closure | The closure will be passed to subsequent callback invocations for this subscription. |
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().
[in] | subscription | The subscription. |
[in] | transport | The MAMA transport. |
[in] | queue | The mama queue. |
[in] | callbacks | The mamaMsgCallbacks structure containing the callback functions. |
[in] | sourceName | The source name.. |
[in] | symbol | The symbol name. |
[in] | closure | The closure will be passed to subsequent callback invocations for this subscription. |
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.
subscription | The subscription. |
transport | The transport to use. |
queue | The mama queue. |
callbacks | The mamaMsgCallbacks structure containing the callback functions. |
source | The source name of the feed handler to provide the subscription. |
symbol | The symbol name. |
closure | The closure will be passed to subsequent callback invocations for this subscription. |
MAMAExpDLL const 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.
[in] | state | The state to obtain the string representation for. |