XROAD
mdata_engine.h File Reference
#include "mdata_proto.h"
#include "mdata_aux.h"
#include <cache/xroad_objects.h>
Include dependency graph for mdata_engine.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mdata_engine_callback_t
 
struct  mdata_callback_t
 

Macros

#define ANY_SOURCE   xroad_str_null
 

Typedefs

typedef struct mdata_engine_s mdata_engine_t
 

Functions

mdata_engine_t * mdata_engine_create (xroad_xml_tag_t cfg, mdata_engine_callback_t ccb)
 
xroad_errno_t mdata_engine_start (mdata_engine_t *mdata)
 
void mdata_engine_stop (mdata_engine_t *mdata)
 
void mdata_engine_destroy (mdata_engine_t *mdata)
 
xroad_errno_t mdata_engine_put (mdata_engine_t *mdata, mdata_proto_type_t type, void *val)
 
xroad_errno_t mdata_engine_flush (mdata_engine_t *mdata)
 
xroad_errno_t mdata_engine_send (mdata_engine_t *mdata, mdata_proto_type_t type, void *val)
 
xroad_errno_t mdata_engine_subscribe (mdata_engine_t *mdata, xroad_instr_t *instr, mdata_subscription_mask_t mask, mdata_callback_t cb, xroad_str_t mdsource)
 
mdata_subscription_mask_t mdata_engine_get_mask (mdata_engine_t *mdata, xroad_instr_t *instr, mdata_callback_t cb)
 
xroad_errno_t mdata_engine_deactivate (mdata_engine_t *c)
 
xroad_errno_t mdata_engine_activate (mdata_engine_t *c)
 
mdata_feed_state_type_t mdata_engine_get_feed_state (mdata_engine_t *me, xroad_instr_t *i, xroad_str_t mdsource)
 

Detailed Description

Function Documentation

◆ mdata_engine_create()

mdata_engine_t* mdata_engine_create ( xroad_xml_tag_t  cfg,
mdata_engine_callback_t  ccb 
)

create new mdata client-server instance

Parameters
[in]cfg- mdata_engine config
[in]scb- server callback function
[in]ccb- client callback function
Returns
pointer to new instance, NULL - error

◆ mdata_engine_destroy()

void mdata_engine_destroy ( mdata_engine_t *  mdata)

destroys mdata consumer

Parameters
[in]mdata- pointer to the mdata instance. If NULL, nothing happened

◆ mdata_engine_flush()

xroad_errno_t mdata_engine_flush ( mdata_engine_t *  mdata)

publish data in connection

Parameters
[in]mdata- pointer to the mdata instance
Returns
XROAD_OK if succesed otherwise XROAD_FAILED

◆ mdata_engine_get_mask()

mdata_subscription_mask_t mdata_engine_get_mask ( mdata_engine_t *  mdata,
xroad_instr_t *  instr,
mdata_callback_t  cb 
)

gets subscription mask

Parameters
[in]mdata- pointer to the mdata instance
[in]instr- instrument to subscribe
[in]mask- subscription mask, see mdata_subscription_type_t
[in]client- callback to the client
Returns
XROAD_OK if succesed otherwise XROAD_FAILED

◆ mdata_engine_put()

xroad_errno_t mdata_engine_put ( mdata_engine_t *  mdata,
mdata_proto_type_t  type,
void *  val 
)

prepares to publish data in connection

Parameters
[in]mdata- pointer to the mdata instance
Returns
XROAD_OK if succesed otherwise XROAD_FAILED

◆ mdata_engine_send()

xroad_errno_t mdata_engine_send ( mdata_engine_t *  mdata,
mdata_proto_type_t  type,
void *  val 
)

publish data in connection

Parameters
[in]mdata- pointer to the mdata instance
Returns
XROAD_OK if succesed otherwise XROAD_FAILED

◆ mdata_engine_start()

xroad_errno_t mdata_engine_start ( mdata_engine_t *  mdata)

connects mdata consumer to the producer

Parameters
[in]mdata- pointer to the mdata instance
Returns
XROAD_OK if succesed otherwise XROAD_FAILED

◆ mdata_engine_stop()

void mdata_engine_stop ( mdata_engine_t *  mdata)

disconnects mdata consumer from the producer

Parameters
[in]mdata- pointer to the mdata instance

◆ mdata_engine_subscribe()

xroad_errno_t mdata_engine_subscribe ( mdata_engine_t *  mdata,
xroad_instr_t *  instr,
mdata_subscription_mask_t  mask,
mdata_callback_t  cb,
xroad_str_t  mdsource 
)

subscribes consumer to market data of particular instrument

Parameters
[in]mdata- pointer to the mdata instance
[in]instr- instrument to subscribe
[in]mask- subscription mask, see mdata_subscription_type_t
[in]mdsource_node- name of mdsource node
Returns
XROAD_OK if succesed otherwise XROAD_FAILED