XROAD
mdata_channel.h File Reference
#include "mdata_engine.h"
#include <common/xroad_xml.h>
Include dependency graph for mdata_channel.h:

Go to the source code of this file.

Classes

struct  mdata_channel_callback_t
 

Typedefs

typedef struct mdata_channel_s mdata_channel_t
 

Functions

mdata_channel_t * mdata_channel_server_create (mdata_channel_callback_t cb, int snd_buf_size, int snd_buf_size_max, int recv_buf_size, int recv_buf_size_max, int heartbeat_int, xroad_str_t uri, int cpu, int weight, bool use_thread, bool write_crc, bool low_latency)
 
mdata_channel_t * mdata_channel_client_create (mdata_channel_callback_t cb, int snd_buf_size, int snd_buf_size_max, int recv_buf_size, int recv_buf_size_max, int heartbeat_int, xroad_str_t uri, int wait_timeout_us, bool check_crc, bool use_fake_fd)
 
xroad_errno_t mdata_channel_start (mdata_channel_t *mdata)
 
void mdata_channel_stop (mdata_channel_t *mdata)
 
void mdata_channel_destroy (mdata_channel_t *mdata)
 
uint64_t mdata_channel_put (mdata_channel_t *mdata, mdata_proto_type_t type, void *val)
 
xroad_errno_t mdata_channel_flush (mdata_channel_t *mdata)
 
xroad_errno_t mdata_channel_send (mdata_channel_t *mdata, mdata_proto_type_t type, void *val)
 
xroad_errno_t mdata_channel_subscribe (mdata_channel_t *mdata, xroad_instr_t *instr, mdata_subscription_mask_t mask, mdata_callback_t cb)
 
void mdata_channel_deactivate (mdata_channel_t *c)
 
void mdata_channel_activate (mdata_channel_t *c)
 
xroad_mdsource_t * mdata_channel_get_source (mdata_channel_t *c)
 
void mdata_channel_set_source (mdata_channel_t *c, xroad_mdsource_t *source)
 
mdata_feed_state_type_t mdata_channel_get_state (mdata_channel_t *c)
 
int32_t mdata_channel_decr_ref (mdata_channel_t *c)
 
int32_t mdata_channel_inc_ref (mdata_channel_t *c)
 

Detailed Description

Function Documentation

◆ mdata_channel_client_create()

mdata_channel_t* mdata_channel_client_create ( mdata_channel_callback_t  cb,
int  snd_buf_size,
int  snd_buf_size_max,
int  recv_buf_size,
int  recv_buf_size_max,
int  heartbeat_int,
xroad_str_t  uri,
int  wait_timeout_us,
bool  check_crc,
bool  use_fake_fd 
)

create new mdata client instance

Parameters
[in]cfg- mdata_channel config for connecting to mdata publisher
[in]cb- callback function
Returns
pointer to new instance, NULL - error

◆ mdata_channel_decr_ref()

int32_t mdata_channel_decr_ref ( mdata_channel_t *  c)

decrements ref counter for mdata_channel

Parameters
[in]mdata- pointer to the mdata instance

◆ mdata_channel_destroy()

void mdata_channel_destroy ( mdata_channel_t *  mdata)

destroys mdata consumer

Parameters
[in]mdata- pointer to the mdata instance

◆ mdata_channel_flush()

xroad_errno_t mdata_channel_flush ( mdata_channel_t *  mdata)

flushes not sendet data

Parameters
[in]mdata- pointer to the mdata instance

◆ mdata_channel_get_source()

xroad_mdsource_t* mdata_channel_get_source ( mdata_channel_t *  c)

gets mdsource for channel

Parameters
[in]mdata- pointer to the mdata instance

◆ mdata_channel_get_state()

mdata_feed_state_type_t mdata_channel_get_state ( mdata_channel_t *  c)

gets feed state for instrument

Parameters
[in]mdata- pointer to the mdata instance

◆ mdata_channel_inc_ref()

int32_t mdata_channel_inc_ref ( mdata_channel_t *  c)

increments ref counter for mdata_channel

Parameters
[in]mdata- pointer to the mdata instance

◆ mdata_channel_put()

uint64_t mdata_channel_put ( mdata_channel_t *  mdata,
mdata_proto_type_t  type,
void *  val 
)

puts data to network buffer

Parameters
[in]mdata- pointer to the mdata instance
[in]type- type of mdata
[in]val- pointer to data
Returns
The latest sent sequence number

◆ mdata_channel_send()

xroad_errno_t mdata_channel_send ( mdata_channel_t *  mdata,
mdata_proto_type_t  type,
void *  val 
)

subscribes consumer to market data of particular inst

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

◆ mdata_channel_server_create()

mdata_channel_t* mdata_channel_server_create ( mdata_channel_callback_t  cb,
int  snd_buf_size,
int  snd_buf_size_max,
int  recv_buf_size,
int  recv_buf_size_max,
int  heartbeat_int,
xroad_str_t  uri,
int  cpu,
int  weight,
bool  use_thread,
bool  write_crc,
bool  low_latency 
)

create new mdata server instance

Parameters
[in]cfg- mdata_channel config for connecting to mdata publisher
[in]cb- callback function
Returns
pointer to new instance, NULL - error

◆ mdata_channel_set_source()

void mdata_channel_set_source ( mdata_channel_t *  c,
xroad_mdsource_t *  source 
)

sets mdsource for channel

Parameters
[in]mdata- pointer to the mdata instance

◆ mdata_channel_start()

xroad_errno_t mdata_channel_start ( mdata_channel_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_channel_stop()

void mdata_channel_stop ( mdata_channel_t *  mdata)

disconnects mdata consumer from the producer

Parameters
[in]mdata- pointer to the mdata instance

◆ mdata_channel_subscribe()

xroad_errno_t mdata_channel_subscribe ( mdata_channel_t *  mdata,
xroad_instr_t *  instr,
mdata_subscription_mask_t  mask,
mdata_callback_t  cb 
)

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
Returns
XROAD_OK if succesed otherwise XROAD_FAILED