名称
zmq_ctx_get - 获取上下文选项
概要
int zmq_ctx_get (void '*context', int 'option_name');
描述
zmq_ctx_get() 函数将返回由 'option_name' 参数指定的选项。
zmq_ctx_get() 函数接受以下选项名称:
ZMQ_IO_THREADS: 获取 I/O 线程数
'ZMQ_IO_THREADS' 参数返回此上下文的 0MQ 线程池的大小。
ZMQ_MAX_SOCKETS: 获取最大套接字数
'ZMQ_MAX_SOCKETS' 参数返回此上下文允许的最大套接字数。
ZMQ_MAX_MSGSZ: 获取最大消息大小
'ZMQ_MAX_MSGSZ' 参数返回此上下文允许的最大消息大小。默认值是 INT_MAX。
ZMQ_ZERO_COPY_RECV: 获取消息解码策略
'ZMQ_ZERO_COPY_RECV' 参数返回消息解码器在接收消息时是否使用零拷贝策略。默认值为 1。注意:处于草稿状态,尚未在稳定版本中提供。
ZMQ_SOCKET_LIMIT: 获取可配置的最大套接字数
'ZMQ_SOCKET_LIMIT' 参数返回 zmq_ctx_set 将接受的最大套接字数。
ZMQ_IPV6: 获取 IPv6 选项
'ZMQ_IPV6' 参数返回此上下文的 IPv6 选项。
ZMQ_BLOCKY: 获取阻塞设置
'ZMQ_BLOCKY' 参数返回 1 表示上下文在终止时将阻塞,如果通过在所有新上下文中将 ZMQ_BLOCKY 设置为 false 来禁用“上下文终止时永久阻塞”策略,则返回 0。
ZMQ_THREAD_SCHED_POLICY: 获取 I/O 线程的调度策略
'ZMQ_THREAD_SCHED_POLICY' 参数返回内部上下文线程池的调度策略。
ZMQ_THREAD_NAME_PREFIX: 获取 I/O 线程的名称前缀
'ZMQ_THREAD_NAME_PREFIX' 参数获取为内部上下文线程池创建的每个线程的数字前缀。
ZMQ_MSG_T_SIZE: 在运行时获取 zmq_msg_t 大小
'ZMQ_MSG_T_SIZE' 参数返回运行时 zmq_msg_t 结构体的大小,其定义在公共头文件 include/zmq.h 中。这对于例如无法简单使用 sizeof() 的 FFI 绑定很有用。
返回值
如果成功,zmq_ctx_get() 函数返回一个大于等于 0 的值。否则,它返回 -1
并将 'errno' 设置为以下定义的值之一。
错误
- EINVAL
-
请求的选项 option_name 未知。
- EFAULT
-
提供的 'context' 无效。
示例
void *context = zmq_ctx_new (); zmq_ctx_set (context, ZMQ_MAX_SOCKETS, 256); int max_sockets = zmq_ctx_get (context, ZMQ_MAX_SOCKETS); assert (max_sockets == 256);
zmq_ctx_set (ctx, ZMQ_BLOCKY, false);
参阅
作者
本页面由 0MQ 社区编写。要进行修改,请阅读 0MQ 贡献策略:https://zeromq.cn/how-to-contribute/。