2023-10-21 01:50:38 +02:00
|
|
|
= zmq_msg_gets(3)
|
2014-03-03 13:19:40 +01:00
|
|
|
|
|
|
|
|
2023-10-21 01:50:38 +02:00
|
|
|
== NAME
|
2014-03-03 13:19:40 +01:00
|
|
|
zmq_msg_gets - get message metadata property
|
|
|
|
|
|
|
|
|
2023-10-21 01:50:38 +02:00
|
|
|
== SYNOPSIS
|
2014-04-30 13:11:12 +02:00
|
|
|
*const char *zmq_msg_gets (zmq_msg_t '*message', const char *'property');*
|
2014-03-03 13:19:40 +01:00
|
|
|
|
|
|
|
|
2023-10-21 01:50:38 +02:00
|
|
|
== DESCRIPTION
|
2014-03-03 13:19:40 +01:00
|
|
|
The _zmq_msg_gets()_ function shall return the string value for the metadata
|
|
|
|
property specified by the 'property' argument for the message pointed to by
|
2014-07-28 22:23:56 +02:00
|
|
|
the 'message' argument. Both the 'property' argument and the 'value'
|
|
|
|
shall be NULL-terminated UTF8-encoded strings.
|
2014-03-03 13:19:40 +01:00
|
|
|
|
2015-01-16 17:50:04 +01:00
|
|
|
Metadata is defined on a per-connection basis during the ZeroMQ connection
|
2018-03-15 17:24:32 +01:00
|
|
|
handshake as specified in <rfc.zeromq.org/spec:37>. Applications can set
|
2023-10-21 01:50:38 +02:00
|
|
|
metadata properties using xref:zmq_setsockopt.adoc[zmq_setsockopt] option ZMQ_METADATA.
|
2018-03-15 17:24:32 +01:00
|
|
|
Application metadata properties must be prefixed with 'X-'.
|
2014-03-03 13:19:40 +01:00
|
|
|
|
2018-03-15 17:24:32 +01:00
|
|
|
In addition to application metadata, the following ZMTP properties can be
|
|
|
|
retrieved with the _zmq_msg_gets()_ function:
|
2015-01-16 17:50:04 +01:00
|
|
|
|
|
|
|
Socket-Type
|
2017-09-07 11:09:18 +02:00
|
|
|
Routing-Id
|
|
|
|
|
|
|
|
Note: 'Identity' is a deprecated alias for 'Routing-Id'.
|
2015-01-16 22:37:22 +01:00
|
|
|
|
|
|
|
Additionally, when available for the underlying transport, the *Peer-Address*
|
|
|
|
property will return the IP address of the remote endpoint as returned by
|
|
|
|
getnameinfo(2).
|
2015-01-16 17:50:04 +01:00
|
|
|
|
2017-08-04 12:46:41 +02:00
|
|
|
The names of these properties are also defined in _zmq.h_ as
|
2017-09-07 11:09:18 +02:00
|
|
|
_ZMQ_MSG_PROPERTY_SOCKET_TYPE_ _ZMQ_MSG_PROPERTY_ROUTING_ID_, and
|
2017-08-04 12:46:41 +02:00
|
|
|
_ZMQ_MSG_PROPERTY_PEER_ADDRESS_.
|
|
|
|
Currently, these definitions are only available as a DRAFT API.
|
|
|
|
|
2015-01-16 22:45:09 +01:00
|
|
|
Other properties may be defined based on the underlying security mechanism,
|
2015-01-18 03:15:31 +01:00
|
|
|
see ZAP authenticated connection sample below.
|
2014-03-03 13:19:40 +01:00
|
|
|
|
2023-10-21 01:50:38 +02:00
|
|
|
== RETURN VALUE
|
2014-03-03 13:19:40 +01:00
|
|
|
The _zmq_msg_gets()_ function shall return the string value for the property
|
|
|
|
if successful. Otherwise it shall return NULL and set 'errno' to one of the
|
|
|
|
values defined below. The caller shall not modify or free the returned value,
|
2014-07-28 22:23:56 +02:00
|
|
|
which shall be owned by the message. The encoding of the property and value
|
|
|
|
shall be UTF8.
|
2014-03-03 13:19:40 +01:00
|
|
|
|
|
|
|
|
2023-10-21 01:50:38 +02:00
|
|
|
== ERRORS
|
2014-03-03 13:19:40 +01:00
|
|
|
*EINVAL*::
|
|
|
|
The requested _property_ is unknown.
|
|
|
|
|
|
|
|
|
2023-10-21 01:50:38 +02:00
|
|
|
== EXAMPLE
|
2014-05-02 22:19:30 +02:00
|
|
|
.Getting the ZAP authenticated user id for a message:
|
2014-03-03 13:19:40 +01:00
|
|
|
----
|
2014-05-02 22:19:30 +02:00
|
|
|
zmq_msg_t msg;
|
|
|
|
zmq_msg_init (&msg);
|
|
|
|
rc = zmq_msg_recv (&msg, dealer, 0);
|
|
|
|
assert (rc != -1);
|
2017-08-04 12:46:41 +02:00
|
|
|
const char *user_id = zmq_msg_gets (&msg, ZMQ_MSG_PROPERTY_USER_ID);
|
2014-05-02 22:19:30 +02:00
|
|
|
zmq_msg_close (&msg);
|
2014-03-03 13:19:40 +01:00
|
|
|
----
|
|
|
|
|
|
|
|
|
2023-10-21 01:50:38 +02:00
|
|
|
== SEE ALSO
|
2023-11-03 11:36:47 +01:00
|
|
|
* xref:zmq.adoc[zmq]
|
|
|
|
* xref:zmq_setsockopt.adoc[zmq_setsockopt]
|
2014-03-03 13:19:40 +01:00
|
|
|
|
2023-10-21 01:50:38 +02:00
|
|
|
== AUTHORS
|
2014-03-03 13:19:40 +01:00
|
|
|
This page was written by the 0MQ community. To make a change please
|
2023-11-22 23:18:23 +01:00
|
|
|
read the 0MQ Contribution Policy at <https://zeromq.org/how-to-contribute/>.
|