名称
zmq_ctx_get_ext - 获取扩展的上下文选项
概要
int zmq_ctx_get_ext (void '*context', int 'option_name', void '*option_value', size_t '*option_len');
描述
*zmq_ctx_get()* 函数将检索由参数 'option_name' 指定的选项值,并将其存储在由参数 'option_value' 指向的缓冲区中。参数 'option_len' 是由 'option_value' 指向的缓冲区的大小(以字节为单位);成功完成后,*zmq_ctx_get_ext()* 函数将修改参数 'option_len',以指示存储在缓冲区中的选项值的实际大小。
*zmq_ctx_get_ext()* 函数接受所有 *zmq_ctx_get()* 接受的选项名称。使用 *zmq_ctx_get_ext()* 而非 *zmq_ctx_get()* 检索最有意义的选项包括:
ZMQ_THREAD_NAME_PREFIX: 获取 I/O 线程的名称前缀
参数 'ZMQ_THREAD_NAME_PREFIX' 获取为内部上下文的线程池创建的每个线程的字符串前缀。
选项值类型 |
字符串 |
选项值单位 |
不适用 |
默认值 |
空字符串 |
返回值
*zmq_ctx_get_ext()* 函数成功时返回 0 或更大的值。否则返回 -1
并将 'errno' 设置为下面定义的值之一。
错误
- EINVAL
-
请求的选项 *option_name* 未知。
- EFAULT
-
提供的 'context' 无效。
示例
设置内部 ZMQ 线程名称的前缀
void *context = zmq_ctx_new (); const char prefix[] = "MyApp"; size_t prefixLen = sizeof(prefix); zmq_ctx_set (context, ZMQ_THREAD_NAME_PREFIX, &prefix, &prefixLen); char buff[256]; size_t buffLen = sizeof(buff); int rc = zmq_ctx_get (context, ZMQ_THREAD_NAME_PREFIX, &buff, &buffLen); assert (rc == 0); assert (buffLen == prefixLen);
另请参阅
作者
此页面由 0MQ 社区编写。要进行更改,请阅读 0MQ 贡献政策:https://zeromq.cn/how-to-contribute/。