名称

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/