2024-11-22 stan

交易系统命令处理分析笔记

一、余额查询命令(CMD_BALANCE_QUERY)

1. 业务逻辑流程

  1. 参数校验:
  2. 查询处理:
  3. 返回数据组装:

2. 数据结构和依赖

  1. 核心数据结构:
struct balance_key {
    uint32_t    user_id;
    uint32_t    type;
    char        asset[ASSET_NAME_MAX_LEN + 1];
};
  1. 主要依赖函数:

3. 算法实现和性能

  1. 时间复杂度:
  2. 空间复杂度:
  3. 性能优化:

4. 调用场景

  1. 直接调用:
    case CMD_BALANCE_QUERY:
        log_trace("from: %s cmd balance query, sequence: %u params: %s", nw_sock_human_addr(&ses->peer_addr), pkg->sequence, params_str);
        ret = on_cmd_balance_query(ses, pkg, params);
        if (ret < 0) {
            log_error("on_cmd_balance_query %s fail: %d", params_str, ret);
        }
        break;
  1. 使用限制:

二、订单取消命令(CMD_ORDER_CANCEL)