#if defined (OPENMAMA_INTEGRATION) && ! defined (OPENMAMA_INTEGRATION_TRANSPORT_H__)
#define OPENMAMA_INTEGRATION_TRANSPORT_H__
#include <mama/mama.h>
#include <mama/integration/types.h>
#include <wombat/list.h>
#if defined (__cplusplus)
extern "C"
{
#endif
MAMAExpDLL
extern mama_status
mamaTransport_getBridgeTransport(
mamaTransport transport,
transportBridge* result);
MAMAExpDLL
extern mama_status
mamaTransport_getBridgeTransportByIndex (
mamaTransport tport,
int tportIndex,
transportBridge* result);
MAMAExpDLL
extern mama_status
mamaTransport_throttleRemoveForOwner (mamaTransport transport,
mamaThrottleInstance instance,
void *handle);
MAMAExpDLL
extern mama_status
mamaTransport_throttleRemoveFromList (mamaTransport transport,
mamaThrottleInstance instance,
wList list);
MAMAExpDLL
extern mama_status mamaTransport_throttleAction (
mamaTransport transport,
mamaThrottleInstance instance,
throttleCb throttleAction,
void* owner,
void* closure1,
void* closure2,
int immediate,
wombatThrottleAction* handle);
MAMAExpDLL
extern mama_status mamaTransport_addSubscription(
mamaTransport transport,
mamaSubscription subscription,
void** result);
MAMAExpDLL
extern mama_status
mamaTransport_removeListener(
mamaTransport transport,
void* handle);
MAMAExpDLL
extern void
mamaTransportImpl_processAdvisory (mamaTransport transport,
short cause,
const void* platformInfo);
MAMAExpDLL
extern void
mamaTransportImpl_reconnect (mamaTransport transport,
mamaTransportEvent event,
const void* platformInfo,
const void* connectionInfo);
MAMAExpDLL
extern void
mamaTransportImpl_disconnect (mamaTransport transport,
mamaTransportEvent event,
const void* platformInfo,
const void* connectionInfo);
MAMAExpDLL
extern void
mamaTransportImpl_disconnectNoStale (mamaTransport transport,
mamaTransportEvent event,
const void* platformInfo,
const void* connectionInfo);
MAMAExpDLL
extern void
mamaTransportImpl_setPossiblyStale (mamaTransport transport,
mamaSubscription subscription);
MAMAExpDLL
extern void
mamaTransportImpl_getTransportTopicCallback (mamaTransport transport,
mamaTransportTopicCB* callback,
void** closure);
MAMAExpDLL
extern void
mamaTransportImpl_getWriteQueueWatermarks (mamaTransport transport,
uint32_t* high,
uint32_t* low);
MAMAExpDLL
extern void
mamaTransportImpl_resetRefreshForListener (mamaTransport tport, void *handle);
MAMAExpDLL
extern mama_status
mamaTransportImpl_getTopicsAndTypesForSource (mamaTransport tport,
int transportIndex,
const char* source,
const char*** topics,
mama_i32_t** types,
int *len);
MAMAExpDLL
extern int
mamaTransportImpl_isPossiblyStale (mamaTransport tport);
MAMAExpDLL
extern void
mamaTransportImpl_unsetAllPossiblyStale (mamaTransport tport);
MAMAExpDLL
extern void
mamaTransportImpl_getAdvisoryCauseAndPlatformInfo (mamaTransport tport,
short* cause,
const void** platformInfo);
/*
Get the bridge impl associated with the specified transport.
This will be how other objects gain access to the bridge.
@param queue A valid mamaTransport object.
@return A pointer to a valid mamaBridgeImpl object.
*/
MAMAExpDLL
extern mamaBridge
mamaTransportImpl_getBridgeImpl (mamaTransport transport);
MAMAExpDLL
extern void
mamaTransportImpl_getTransportIndex (mamaTransport tport,
int* tportIndex);
MAMAExpDLL
extern void
mamaTransportImpl_nextTransportIndex (mamaTransport tport,
const char* source,
const char* symbol);
MAMAExpDLL
extern wombatThrottle
mamaTransportImpl_getThrottle (mamaTransport transport,
mamaThrottleInstance instance);
MAMAExpDLL
extern mama_status
mamaTransportImpl_isConnectionIntercepted (mamaTransport transport,
mamaConnection connection,
uint8_t* result);
MAMAExpDLL
extern mama_status
mamaTransportImpl_installConnectConflateMgr (mamaTransport transport,
mamaConflationManager mgr,
mamaConnection connection,
conflateProcessCb processCb,
conflateGetMsgCb msgCb);
MAMAExpDLL
extern mama_status
mamaTransportImpl_uninstallConnectConflateMgr (
mamaTransport transport,
mamaConflationManager mgr,
mamaConnection connection);
MAMAExpDLL
extern mama_status
mamaTransportImpl_startConnectionConflation (
mamaTransport transport,
mamaConflationManager mgr,
mamaConnection connection);
MAMAExpDLL
extern mama_status
mamaTransportImpl_sendMsgToConnection (mamaTransport transport,
mamaConnection connection,
mamaMsg msg,
const char* topic);
MAMAExpDLL
extern int
mamaTransportImpl_getGroupSizeHint (mamaTransport transport);
MAMAExpDLL
extern mama_status
mamaTransport_initStats (mamaTransport transport);
MAMAExpDLL extern void mamaTransportImpl_invokeTransportCallback(mamaTransport transport, mamaTransportEvent event, short cause, const void *platformInfo);
MAMAExpDLL extern void mamaTransportImpl_invokeTransportTopicCallback(mamaTransport transport, mamaTransportTopicEvent event, const char* topic, const void *platformInfo);
MAMAExpDLL
mama_status mamaTransportImpl_allocateInternalTransport(mamaTransport *transport);
MAMAExpDLL
extern void
mamaTransportImpl_setAdvisoryCauseAndPlatformInfo(
mamaTransport transport,
short cause,
const void *platformInfo);
MAMAExpDLL
extern mama_status
mamaTransportImpl_forceClientDisconnect (mamaTransport transport,
const char* ipAddress,
uint16_t port);
#if defined (__cplusplus)
}
#endif
#endif /* OPENMAMA_INTEGRATION_TRANSPORT_H__ */
Updated on 2023-03-31 at 15:29:16 +0100