| Xlight API用户手册 v1.5.1.2 Xlight极速柜台接口文档

载入中...
搜索中...
未找到
Public 成员函数
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_addr | agw IP地址
  port | agw端口

返回
  设置是否成功

备注
  请向券商获取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地址

参数

  index | agw地址索引

返回
  agw地址

## ◆ get_local_addr()

sockaddr get_local_addr | ( | uint64_t | index | ) | const

获取指定本地地址

参数

  index | 0-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 )

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

参数

  l1 | level1线程配置，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 )

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

参数

  l1 | level1线程配置，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 )

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

参数

  l1 | level1线程配置，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_size | level1行情内存池大小，单位MB，默认8MB
  l2_memory_pool_size | level2行情内存池大小，单位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

返回
  交易日

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

- xlt_api_config.h