Xlight API用户手册 v1.5.1.2
Xlight极速柜台接口文档
载入中...
搜索中...
未找到
XLTApiConfig类 参考

API配置类 此类用于配置XLT API的各项参数,如日志路径、日志级别、交易日、网卡地址、网关地址、行情接收配置等。 用户需要在调用XLTApi::initialize方法前,创建此类实例,并设置相应的配置参数,然后将此实例传递给XLTApi::initialize方法。 更多...

#include <xlt_api_config.h>

Public 成员函数

void set_path (const char *path)
 设置API生成文件存放路径,如日志文件等
 
void set_log_level (ApiLogLevel level)
 设置日志级别
 
void set_trading_day (uint64_t trading_day)
 设置交易日,格式YYYYMMDD,如20230901
 
bool set_local_addr (const char *agw, const char *trade, const char *quote)
 设置本地网卡IP地址
 
bool add_agw_addr (const char *ip_addr, uint16_t port)
 添加网关地址
 
void set_memory_pool_size (uint32_t trade_memory_pool_size, uint32_t l1_memory_pool_size, uint32_t l2_memory_pool_size)
 设置内存池大小,单位MB
 
void set_request_timeout (uint16_t timeout)
 设置请求超时时间,单位秒,建议不小于5秒
 
void set_order_timeout (uint16_t timeout)
 设置订单超时时间,单位秒,建议不小于10秒
 
void set_order_seq_self_define (bool self_define)
 设置用户启用自定义订单序号
 
void receive_quote_in_single_thread (quote_receive_cfg_t l1, quote_receive_cfg_t sse_l2, quote_receive_cfg_t szse_l2)
 配置行情接收,单线程模式
 
void receive_quote_in_snap_tick_thread (quote_receive_cfg_t l1, quote_receive_cfg_t sse_l2_snap, quote_receive_cfg_t sse_l2_tick, quote_receive_cfg_t szse_l2_snap, quote_receive_cfg_t szse_l2_tick)
 配置行情接收,快照和逐笔独立线程模式
 
void receive_quote_in_channel_per_thread (quote_receive_cfg_t l1, quote_l2_receive_cfg_t sse_l2, quote_l2_receive_cfg_t szse_l2)
 配置行情接收,按行情类型独立线程模式
 
const char * path () const
 获取API生成文件存放路径
 
ApiLogLevel log_level () const
 获取日志级别
 
uint64_t trading_day () const
 获取交易日,格式YYYYMMDD,如20230901
 
sockaddr get_local_addr (uint64_t index) const
 获取指定本地地址
 
uint64_t agw_count () const
 获取agw地址数量
 
sockaddr get_agw_addr (uint64_t index) const
 获取指定agw地址
 
uint32_t trade_memory_pool_size () const
 获取交易内存池大小,单位MB
 
uint32_t l1_memory_pool_size () const
 获取level1行情内存池大小,单位MB
 
uint32_t l2_memory_pool_size () const
 获取level2行情内存池大小,单位MB
 
uint16_t request_timeout () const
 获取请求超时时间,单位秒
 
uint16_t order_timeout () const
 获取订单超时时间,单位秒
 
bool is_order_seq_self_define () const
 获取是否用户自定义订单序号
 
uint8_t quote_thread_mode () const
 获取行情接收线程模式
 
quote_receive_cfg_t l1_receive_cfg () const
 获取level1行情接收配置
 
quote_l2_receive_cfg_t sse_l2_receive_cfg () const
 获取上交所level2行情接收配置
 
quote_l2_receive_cfg_t szse_l2_receive_cfg () const
 

详细描述

API配置类 此类用于配置XLT API的各项参数,如日志路径、日志级别、交易日、网卡地址、网关地址、行情接收配置等。 用户需要在调用XLTApi::initialize方法前,创建此类实例,并设置相应的配置参数,然后将此实例传递给XLTApi::initialize方法。

成员函数说明

◆ add_agw_addr()

bool add_agw_addr ( const char * ip_addr,
uint16_t port )

添加网关地址

参数
ip_addragw IP地址
portagw端口
返回
设置是否成功
备注
请向券商获取agw地址和端口,可重复调用添加多个agw地址,每次登录会随机选取当前可用的agw

◆ agw_count()

uint64_t agw_count ( ) const
inline

获取agw地址数量

返回
agw地址数量

◆ get_agw_addr()

sockaddr get_agw_addr ( uint64_t index) const

获取指定agw地址

参数
indexagw地址索引
返回
agw地址

◆ get_local_addr()

sockaddr get_local_addr ( uint64_t index) const

获取指定本地地址

参数
index0-AGW,1-交易,2-行情
返回
本地地址

◆ is_order_seq_self_define()

bool is_order_seq_self_define ( ) const
inline

获取是否用户自定义订单序号

返回
是否用户自定义订单序号

◆ l1_memory_pool_size()

uint32_t l1_memory_pool_size ( ) const
inline

获取level1行情内存池大小,单位MB

返回
level1行情内存池大小

◆ l1_receive_cfg()

quote_receive_cfg_t l1_receive_cfg ( ) const
inline

获取level1行情接收配置

返回
level1行情接收配置

◆ l2_memory_pool_size()

uint32_t l2_memory_pool_size ( ) const
inline

获取level2行情内存池大小,单位MB

返回
level2行情内存池大小

◆ log_level()

ApiLogLevel log_level ( ) const
inline

获取日志级别

返回
日志级别

◆ order_timeout()

uint16_t order_timeout ( ) const
inline

获取订单超时时间,单位秒

返回
订单超时时间

◆ path()

const char * path ( ) const
inline

获取API生成文件存放路径

返回
文件路径

◆ quote_thread_mode()

uint8_t quote_thread_mode ( ) const
inline

获取行情接收线程模式

返回
0:no quote;1:in_single_thread;2:in_snap_tick_thread;3:in_channel_per_thread

◆ receive_quote_in_channel_per_thread()

void receive_quote_in_channel_per_thread ( quote_receive_cfg_t l1,
quote_l2_receive_cfg_t sse_l2,
quote_l2_receive_cfg_t szse_l2 )

配置行情接收,按行情类型独立线程模式

参数
l1level1线程配置,enable配置是否启动,cpu配置绑核
sse_l2指定的行情类型线程配置,enable配置是否启动,cpu配置绑核
szse_l2指定的行情类型线程配置,enable配置是否启动,cpu配置绑核
备注
level1, 上海level2各行情类型,深圳level2各行情类型,分别在独立线程运行
receive_quote_in_single_thread、receive_quote_in_snap_tick_thread、receive_quote_in_channel_per_thread调用其中一个即可,若都调用以最后一次调用为准

◆ receive_quote_in_single_thread()

void receive_quote_in_single_thread ( quote_receive_cfg_t l1,
quote_receive_cfg_t sse_l2,
quote_receive_cfg_t szse_l2 )

配置行情接收,单线程模式

参数
l1level1线程配置,enable配置是否启动level1行情,cpu配置绑核
sse_l2上海level2线程配置,enable配置是否启动接收上海level2行情,cpu配置绑核
szse_l2深圳level2线程配置,enable配置是否启动接收深圳level2行情,cpu配置绑核
备注
level1(含上海及深圳),上海level2,深圳level2分别在独立线程运行,若level2行情需要更细粒度的配置,请使用receive_quote_in_snap_tick_thread或receive_quote_in_channel_per_thread接口
receive_quote_in_single_thread、receive_quote_in_snap_tick_thread、receive_quote_in_channel_per_thread调用其中一个即可,若都调用以最后一次调用为准

◆ receive_quote_in_snap_tick_thread()

void receive_quote_in_snap_tick_thread ( quote_receive_cfg_t l1,
quote_receive_cfg_t sse_l2_snap,
quote_receive_cfg_t sse_l2_tick,
quote_receive_cfg_t szse_l2_snap,
quote_receive_cfg_t szse_l2_tick )

配置行情接收,快照和逐笔独立线程模式

参数
l1level1线程配置,enable配置是否启动,cpu配置绑核
sse_l2_snap上海level2快照接收线程配置,enable配置是否启动,cpu配置绑核
sse_l2_tick上海level2逐笔接收线程配置,enable配置是否启动,cpu配置绑核
szse_l2_snap深圳level2快照接收线程配置,enable配置是否启动,cpu配置绑核
szse_l2_tick深圳level2逐笔接收线程配置,enable配置是否启动,cpu配置绑核
备注
level1(含上海及深圳), 上海level2快照,上海level2逐笔,深圳level2快照,深圳level2逐笔,分别在独立线程运行。若level2行情需要更细粒度的配置,请使用receive_quote_in_channel_per_thread接口
receive_quote_in_single_thread、receive_quote_in_snap_tick_thread、receive_quote_in_channel_per_thread调用其中一个即可,若都调用以最后一次调用为准

◆ request_timeout()

uint16_t request_timeout ( ) const
inline

获取请求超时时间,单位秒

返回
请求超时时间

◆ set_local_addr()

bool set_local_addr ( const char * agw,
const char * trade,
const char * quote )

设置本地网卡IP地址

参数
agw连接agw的本地网卡IP,生产环境需为AGW接入网段IP
trade连接快速报单的本地网卡IP,生产环境需为快速报单网段IP
quote接收行情数据的本地网卡IP,生产环境需为行情接收网段IP
返回
设置是否成功
备注
生产环境中,trade及quote对应网卡建议为solarflare网卡,solarflare网卡将自动使用ef_vi,以便达到最优的性能,非solarflare网卡则回退到内核sock模式

◆ set_log_level()

void set_log_level ( ApiLogLevel level)
inline

设置日志级别

参数
level日志级别

◆ set_memory_pool_size()

void set_memory_pool_size ( uint32_t trade_memory_pool_size,
uint32_t l1_memory_pool_size,
uint32_t l2_memory_pool_size )

设置内存池大小,单位MB

参数
trade_memory_pool_size交易内存池大小,单位MB,默认256MB
l1_memory_pool_sizelevel1行情内存池大小,单位MB,默认8MB
l2_memory_pool_sizelevel2行情内存池大小,单位MB,默认32MB。上海及深圳level2独立内存池,共用此配置。
备注
内存池用于缓存交易和行情数据,建议根据实际交易和行情数据量进行调整
预留接口,当前版本暂不支持调整

◆ set_order_seq_self_define()

void set_order_seq_self_define ( bool self_define)
inline

设置用户启用自定义订单序号

参数
self_define是否启用自定义订单序号 默认情况下,API会自动生成订单序号,用户无需关心订单序号的生成规则;若用户启用自定义订单序号,则用户在每次下单时,必须在xlt_order_insert_info_t或xlt_cancel_order_t结构体中指定order_sequence字段
备注
启用自定义订单序号后,用户必须确保每次下单时,order_sequence字段值唯一,否则可能导致重单,重单将没有任何响应!!!order_sequence字段取值范围[1, 2^20-1]
启用自定义订单序号后,建议委托和撤单使用不同的订单序号分段,以便管理委托和撤单,例如委托使用1~500000,撤单使用500001~1000000

◆ set_order_timeout()

void set_order_timeout ( uint16_t timeout)
inline

设置订单超时时间,单位秒,建议不小于10秒

参数
timeout超时时间
备注
委托请求时,当达到此超时时间没有收到任何响应,将触发on_order_timeout回调,提示用户在此时间内未收到任何订单响应或回报,但不代表委托失败!!用户可选择调用resend_order_request接口重发订单。

◆ set_path()

void set_path ( const char * path)
inline

设置API生成文件存放路径,如日志文件等

参数
path文件路径

◆ set_request_timeout()

void set_request_timeout ( uint16_t timeout)
inline

设置请求超时时间,单位秒,建议不小于5秒

参数
timeout超时时间
备注
查询请求时,当达到此超时时间没有任何响应,将触发on_request_timeout,提示用户查询或委托超时

◆ set_trading_day()

void set_trading_day ( uint64_t trading_day)
inline

设置交易日,格式YYYYMMDD,如20230901

参数
trading_day交易日
备注
用户需明确指定交易日,生产环境为当前交易日,测试环境为测试柜台指定的交易日

◆ sse_l2_receive_cfg()

quote_l2_receive_cfg_t sse_l2_receive_cfg ( ) const
inline

获取上交所level2行情接收配置

返回
上交所level2行情接收配置

◆ trade_memory_pool_size()

uint32_t trade_memory_pool_size ( ) const
inline

获取交易内存池大小,单位MB

返回
交易内存池大小

◆ trading_day()

uint64_t trading_day ( ) const
inline

获取交易日,格式YYYYMMDD,如20230901

返回
交易日

该类的文档由以下文件生成: