#if defined (OPENMAMA_INTEGRATION) && ! defined (OPENMAMA_INTEGRATION_TYPES_H__)
#define OPENMAMA_INTEGRATION_TYPES_H__
#include <mama/mama.h>
#include <wombat/list.h>
#if defined (__cplusplus)
extern "C"
{
#endif
typedef struct publisherBridge_* publisherBridge;
typedef int (MAMACALLTYPE *pollStatCb) (void* closure);
typedef void (*collectorPollStatCb) (mamaStatsCollector statsCollector, void* closure);
typedef struct subscriptonBridge_* subscriptionBridge;
/* For Wildcard subscriptions. The wc_transport type is likely only available
* for LDMA/RDMA WDF transports. It is a subscription to every message on the
* transport that bypasses the naming service. Other implementations may
* ingore this.
*/
typedef enum
{
wc_none = 0, /* Not wildcard subsc */
wc_transport = 1, /* "Transport" wildcard */
wc_wildcard = 2 /* normal wildcard */
} wildCardType;
typedef struct timerBridge_* timerBridge;
typedef struct msgBridge_* msgBridge;
typedef void* msgPayload;
typedef void* msgFieldPayload;
typedef void* msgPayloadIter;
typedef struct inboxBridge_* inboxBridge;
typedef struct ioBridge_* ioBridge;
/* Opaque types dereferenced in the implementation */
typedef void* endpoint_t;
typedef void* endpointPool_t;
typedef struct wombatThrottle_* wombatThrottle;
typedef struct actionHandle* wombatThrottleAction;
typedef struct transportBridge_* transportBridge;
typedef void (*throttleCb)(void *closure1, void *closure2 );
typedef void (*endpointDestroyCb)(endpoint_t endpoint);
typedef mama_status (*conflateProcessCb) (mamaConflationManager mgr,
mamaMsg msg,
const char* topic);
typedef struct queueBridge_* queueBridge;
/* This typedef is used when locking and unlocking the queue. */
typedef void * mamaQueueLockHandle;
typedef mamaMsg (*conflateGetMsgCb) (mamaConflationManager mgr);
typedef struct imageReqImpl_* imageRequest;
typedef struct SubjectContext_ SubjectContext;
typedef enum dqState_
{
DQ_STATE_OK = 0,
DQ_STATE_NOT_ESTABLISHED = 1,
DQ_STATE_WAITING_FOR_RECAP = 2,
DQ_STATE_POSSIBLY_STALE = 3,
DQ_STATE_DUPLICATE = 4,
DQ_STATE_STALE_NO_RECAP = 5,
DQ_STATE_WAITING_FOR_RECAP_AFTER_FT = 6
} dqState;
typedef struct
{
mama_seqnum_t mSeqNum;
dqState mDQState;
mamaMsg* mCache;
int mCurCacheIdx;
int mCacheSize;
imageRequest mRecapRequest;
mama_u64_t mSenderId;
uint8_t mDoNotForward;
mama_bool_t mSetCacheMsgStale;
} mamaDqContext;
#if defined (__cplusplus)
}
#endif
#endif /* OPENMAMA_INTEGRATION_TYPES_H__ */
Updated on 2023-03-31 at 15:29:16 +0100