hub/venv/lib/python3.7/site-packages/zmq/utils/constant_names.py

551 lines
11 KiB
Python

"""0MQ Constant names"""
# Copyright (C) PyZMQ Developers
# Distributed under the terms of the Modified BSD License.
# dictionaries of constants new or removed in particular versions
new_in = {
(2,2,0) : [
'RCVTIMEO',
'SNDTIMEO',
],
(3,2,2) : [
# errnos
'EMSGSIZE',
'EAFNOSUPPORT',
'ENETUNREACH',
'ECONNABORTED',
'ECONNRESET',
'ENOTCONN',
'ETIMEDOUT',
'EHOSTUNREACH',
'ENETRESET',
# ctx opts
'IO_THREADS',
'MAX_SOCKETS',
'IO_THREADS_DFLT',
'MAX_SOCKETS_DFLT',
# socket opts
'IPV4ONLY',
'LAST_ENDPOINT',
'ROUTER_BEHAVIOR',
'ROUTER_MANDATORY',
'FAIL_UNROUTABLE',
'TCP_KEEPALIVE',
'TCP_KEEPALIVE_CNT',
'TCP_KEEPALIVE_IDLE',
'TCP_KEEPALIVE_INTVL',
'DELAY_ATTACH_ON_CONNECT',
'XPUB_VERBOSE',
# msg opts
'MORE',
'EVENT_CONNECTED',
'EVENT_CONNECT_DELAYED',
'EVENT_CONNECT_RETRIED',
'EVENT_LISTENING',
'EVENT_BIND_FAILED',
'EVENT_ACCEPTED',
'EVENT_ACCEPT_FAILED',
'EVENT_CLOSED',
'EVENT_CLOSE_FAILED',
'EVENT_DISCONNECTED',
'EVENT_ALL',
],
(4,0,0) : [
# socket types
'STREAM',
# socket opts
'IMMEDIATE',
'ROUTER_RAW',
'IPV6',
'MECHANISM',
'PLAIN_SERVER',
'PLAIN_USERNAME',
'PLAIN_PASSWORD',
'CURVE_SERVER',
'CURVE_PUBLICKEY',
'CURVE_SECRETKEY',
'CURVE_SERVERKEY',
'PROBE_ROUTER',
'REQ_RELAXED',
'REQ_CORRELATE',
'CONFLATE',
'ZAP_DOMAIN',
# security
'NULL',
'PLAIN',
'CURVE',
# events
'EVENT_MONITOR_STOPPED',
],
(4,1,0) : [
# ctx opts
'SOCKET_LIMIT',
'THREAD_PRIORITY',
'THREAD_PRIORITY_DFLT',
'THREAD_SCHED_POLICY',
'THREAD_SCHED_POLICY_DFLT',
# socket opts
'ROUTER_HANDOVER',
'TOS',
'IPC_FILTER_PID',
'IPC_FILTER_UID',
'IPC_FILTER_GID',
'CONNECT_RID',
'GSSAPI_SERVER',
'GSSAPI_PRINCIPAL',
'GSSAPI_SERVICE_PRINCIPAL',
'GSSAPI_PLAINTEXT',
'HANDSHAKE_IVL',
'XPUB_NODROP',
'SOCKS_PROXY',
# msg opts
'SRCFD',
'SHARED',
# security
'GSSAPI',
],
(4,2,0): [
# polling
'POLLPRI',
],
(4,2,3): [
'ROUTING_ID',
'CONNECT_ROUTING_ID',
],
(4,3,0): [
# context options
'MSG_T_SIZE',
'THREAD_AFFINITY_CPU_ADD',
'THREAD_AFFINITY_CPU_REMOVE',
'THREAD_NAME_PREFIX',
# socket options
'GSSAPI_PRINCIPAL_NAMETYPE',
'GSSAPI_SERVICE_PRINCIPAL_NAMETYPE',
'BINDTODEVICE',
# GSSAPI principal name types
'GSSAPI_NT_HOSTBASED',
'GSSAPI_NT_USER_NAME',
'GSSAPI_NT_KRB5_PRINCIPAL',
# events
'EVENT_HANDSHAKE_FAILED_NO_DETAIL',
'EVENT_HANDSHAKE_SUCCEEDED',
'EVENT_HANDSHAKE_FAILED_PROTOCOL',
'EVENT_HANDSHAKE_FAILED_AUTH',
'PROTOCOL_ERROR_ZMTP_UNSPECIFIED',
'PROTOCOL_ERROR_ZMTP_UNEXPECTED_COMMAND',
'PROTOCOL_ERROR_ZMTP_INVALID_SEQUENCE',
'PROTOCOL_ERROR_ZMTP_KEY_EXCHANGE',
'PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_UNSPECIFIED',
'PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_MESSAGE',
'PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_HELLO',
'PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_INITIATE',
'PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_ERROR',
'PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_READY',
'PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_WELCOME',
'PROTOCOL_ERROR_ZMTP_INVALID_METADATA',
'PROTOCOL_ERROR_ZMTP_CRYPTOGRAPHIC',
'PROTOCOL_ERROR_ZMTP_MECHANISM_MISMATCH',
'PROTOCOL_ERROR_ZAP_UNSPECIFIED',
'PROTOCOL_ERROR_ZAP_MALFORMED_REPLY',
'PROTOCOL_ERROR_ZAP_BAD_REQUEST_ID',
'PROTOCOL_ERROR_ZAP_BAD_VERSION',
'PROTOCOL_ERROR_ZAP_INVALID_STATUS_CODE',
'PROTOCOL_ERROR_ZAP_INVALID_METADATA',
]
}
draft_in = {
(4,2,0): [
# socket types
'SERVER',
'CLIENT',
'RADIO',
'DISH',
'GATHER',
'SCATTER',
'DGRAM',
# ctx options
'BLOCKY',
# socket options
'XPUB_MANUAL',
'XPUB_WELCOME_MSG',
'STREAM_NOTIFY',
'INVERT_MATCHING',
'HEARTBEAT_IVL',
'HEARTBEAT_TTL',
'HEARTBEAT_TIMEOUT',
'XPUB_VERBOSER',
'CONNECT_TIMEOUT',
'TCP_MAXRT',
'THREAD_SAFE',
'MULTICAST_MAXTPDU',
'VMCI_BUFFER_SIZE',
'VMCI_BUFFER_MIN_SIZE',
'VMCI_BUFFER_MAX_SIZE',
'VMCI_CONNECT_TIMEOUT',
'USE_FD',
],
(4,2,4): [
# socket options
'ZAP_ENFORCE_DOMAIN',
'LOOPBACK_FASTPATH',
'METADATA',
'ZERO_COPY_RECV',
],
(4,3,0): [
# socket options
'ROUTER_NOTIFY',
'MULTICAST_LOOP',
'NOTIFY_CONNECT',
'NOTIFY_DISCONNECT',
],
}
removed_in = {
(3,2,2) : [
'UPSTREAM',
'DOWNSTREAM',
'HWM',
'SWAP',
'MCAST_LOOP',
'RECOVERY_IVL_MSEC',
]
}
# collections of zmq constant names based on their role
# base names have no specific use
# opt names are validated in get/set methods of various objects
base_names = [
# base
'VERSION',
'VERSION_MAJOR',
'VERSION_MINOR',
'VERSION_PATCH',
'NOBLOCK',
'DONTWAIT',
'POLLIN',
'POLLOUT',
'POLLERR',
'POLLPRI',
'SNDMORE',
'STREAMER',
'FORWARDER',
'QUEUE',
'IO_THREADS_DFLT',
'MAX_SOCKETS_DFLT',
'POLLITEMS_DFLT',
'THREAD_PRIORITY_DFLT',
'THREAD_SCHED_POLICY_DFLT',
# socktypes
'PAIR',
'PUB',
'SUB',
'REQ',
'REP',
'DEALER',
'ROUTER',
'XREQ',
'XREP',
'PULL',
'PUSH',
'XPUB',
'XSUB',
'UPSTREAM',
'DOWNSTREAM',
'STREAM',
'SERVER',
'CLIENT',
'RADIO',
'DISH',
'GATHER',
'SCATTER',
'DGRAM',
# events
'EVENT_CONNECTED',
'EVENT_CONNECT_DELAYED',
'EVENT_CONNECT_RETRIED',
'EVENT_LISTENING',
'EVENT_BIND_FAILED',
'EVENT_ACCEPTED',
'EVENT_ACCEPT_FAILED',
'EVENT_CLOSED',
'EVENT_CLOSE_FAILED',
'EVENT_DISCONNECTED',
'EVENT_ALL',
'EVENT_MONITOR_STOPPED',
'EVENT_HANDSHAKE_FAILED_NO_DETAIL',
'EVENT_HANDSHAKE_SUCCEEDED',
'EVENT_HANDSHAKE_FAILED_PROTOCOL',
'EVENT_HANDSHAKE_FAILED_AUTH',
'PROTOCOL_ERROR_ZMTP_UNSPECIFIED',
'PROTOCOL_ERROR_ZMTP_UNEXPECTED_COMMAND',
'PROTOCOL_ERROR_ZMTP_INVALID_SEQUENCE',
'PROTOCOL_ERROR_ZMTP_KEY_EXCHANGE',
'PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_UNSPECIFIED',
'PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_MESSAGE',
'PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_HELLO',
'PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_INITIATE',
'PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_ERROR',
'PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_READY',
'PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_WELCOME',
'PROTOCOL_ERROR_ZMTP_INVALID_METADATA',
'PROTOCOL_ERROR_ZMTP_CRYPTOGRAPHIC',
'PROTOCOL_ERROR_ZMTP_MECHANISM_MISMATCH',
'PROTOCOL_ERROR_ZAP_UNSPECIFIED',
'PROTOCOL_ERROR_ZAP_MALFORMED_REPLY',
'PROTOCOL_ERROR_ZAP_BAD_REQUEST_ID',
'PROTOCOL_ERROR_ZAP_BAD_VERSION',
'PROTOCOL_ERROR_ZAP_INVALID_STATUS_CODE',
'PROTOCOL_ERROR_ZAP_INVALID_METADATA',
'NOTIFY_CONNECT',
'NOTIFY_DISCONNECT',
# security
'NULL',
'PLAIN',
'CURVE',
'GSSAPI',
'GSSAPI_NT_HOSTBASED',
'GSSAPI_NT_USER_NAME',
'GSSAPI_NT_KRB5_PRINCIPAL',
## ERRNO
# Often used (these are else in errno.)
'EAGAIN',
'EINVAL',
'EFAULT',
'ENOMEM',
'ENODEV',
'EMSGSIZE',
'EAFNOSUPPORT',
'ENETUNREACH',
'ECONNABORTED',
'ECONNRESET',
'ENOTCONN',
'ETIMEDOUT',
'EHOSTUNREACH',
'ENETRESET',
# For Windows compatibility
'HAUSNUMERO',
'ENOTSUP',
'EPROTONOSUPPORT',
'ENOBUFS',
'ENETDOWN',
'EADDRINUSE',
'EADDRNOTAVAIL',
'ECONNREFUSED',
'EINPROGRESS',
'ENOTSOCK',
# 0MQ Native
'EFSM',
'ENOCOMPATPROTO',
'ETERM',
'EMTHREAD',
]
int64_sockopt_names = [
'AFFINITY',
'MAXMSGSIZE',
# sockopts removed in 3.0.0
'HWM',
'SWAP',
'MCAST_LOOP',
'RECOVERY_IVL_MSEC',
# new in 4.2
'VMCI_BUFFER_SIZE',
'VMCI_BUFFER_MIN_SIZE',
'VMCI_BUFFER_MAX_SIZE',
]
bytes_sockopt_names = [
'IDENTITY',
'SUBSCRIBE',
'UNSUBSCRIBE',
'LAST_ENDPOINT',
'TCP_ACCEPT_FILTER',
'PLAIN_USERNAME',
'PLAIN_PASSWORD',
'CURVE_PUBLICKEY',
'CURVE_SECRETKEY',
'CURVE_SERVERKEY',
'ZAP_DOMAIN',
'CONNECT_RID',
'GSSAPI_PRINCIPAL',
'GSSAPI_SERVICE_PRINCIPAL',
'SOCKS_PROXY',
'XPUB_WELCOME_MSG',
# new in 4.2.3
'ROUTING_ID',
'CONNECT_ROUTING_ID',
# new in 4.3.0
'BINDTODEVICE',
]
fd_sockopt_names = [
'FD',
]
int_sockopt_names = [
# sockopts
'RECONNECT_IVL_MAX',
# sockopts new in 2.2.0
'SNDTIMEO',
'RCVTIMEO',
# new in 3.x
'SNDHWM',
'RCVHWM',
'MULTICAST_HOPS',
'IPV4ONLY',
'ROUTER_BEHAVIOR',
'TCP_KEEPALIVE',
'TCP_KEEPALIVE_CNT',
'TCP_KEEPALIVE_IDLE',
'TCP_KEEPALIVE_INTVL',
'DELAY_ATTACH_ON_CONNECT',
'XPUB_VERBOSE',
'EVENTS',
'TYPE',
'LINGER',
'RECONNECT_IVL',
'BACKLOG',
'ROUTER_MANDATORY',
'FAIL_UNROUTABLE',
'ROUTER_RAW',
'IMMEDIATE',
'IPV6',
'MECHANISM',
'PLAIN_SERVER',
'CURVE_SERVER',
'PROBE_ROUTER',
'REQ_RELAXED',
'REQ_CORRELATE',
'CONFLATE',
'ROUTER_HANDOVER',
'TOS',
'IPC_FILTER_PID',
'IPC_FILTER_UID',
'IPC_FILTER_GID',
'GSSAPI_SERVER',
'GSSAPI_PLAINTEXT',
'HANDSHAKE_IVL',
'XPUB_NODROP',
# new in 4.2
'XPUB_MANUAL',
'STREAM_NOTIFY',
'INVERT_MATCHING',
'XPUB_VERBOSER',
'HEARTBEAT_IVL',
'HEARTBEAT_TTL',
'HEARTBEAT_TIMEOUT',
'CONNECT_TIMEOUT',
'TCP_MAXRT',
'THREAD_SAFE',
'MULTICAST_MAXTPDU',
'VMCI_CONNECT_TIMEOUT',
'USE_FD',
# new in 4.3
'GSSAPI_PRINCIPAL_NAMETYPE',
'GSSAPI_SERVICE_PRINCIPAL_NAMETYPE',
'MULTICAST_LOOP',
'ROUTER_NOTIFY',
'ZAP_ENFORCE_DOMAIN',
]
switched_sockopt_names = [
'RATE',
'RECOVERY_IVL',
'SNDBUF',
'RCVBUF',
'RCVMORE',
]
ctx_opt_names = [
'IO_THREADS',
'MAX_SOCKETS',
'SOCKET_LIMIT',
'THREAD_PRIORITY',
'THREAD_SCHED_POLICY',
'BLOCKY',
# new in 4.3
'MSG_T_SIZE',
'THREAD_AFFINITY_CPU_ADD',
'THREAD_AFFINITY_CPU_REMOVE',
'THREAD_NAME_PREFIX',
]
msg_opt_names = [
'MORE',
'SRCFD',
'SHARED',
]
from itertools import chain
all_names = list(chain(
base_names,
ctx_opt_names,
bytes_sockopt_names,
fd_sockopt_names,
int_sockopt_names,
int64_sockopt_names,
switched_sockopt_names,
msg_opt_names,
))
del chain
def no_prefix(name):
"""does the given constant have a ZMQ_ prefix?"""
return name.startswith('E') and not name.startswith('EVENT')