Transaction
当发出去一个异步请求,支持在后来收到回复消息时自动执行回调函数,如果超时没有收到消息也将触发回调函数的执行。
也支持同步请求,在收到回复之前阻塞等待,直到返回所收到的回复消息,或者超时。
支持在其他线程中执行数据接收。
创建和删除上下文
sync_ctx_t create_sync_ctx();
void delete_sync_ctx(sync_ctx_t ctx);
创建异步Transaction
transaction_id_t bh_transaction_new(sync_ctx_t sync_ctx,
bh_async_callback cb, // 回调函数
void* ctx_data, // 用户数据,会作为参数user_data被传递给回调函数
uint32_t timeout_ms); // 超时毫秒数
返回transaction_id_t类型数据,是所创建的Transaction的唯一整数标识。
回调函数原型如下,在调用bh_feed_response
过程中或者超时:
typedef int (*bh_async_callback) (void * user_data, void * response, int len,
transaction_resp_fmt_t format);