Provider - ZeroMQ Socket

Description - Creates a ZeroMQ socket.

Runtime Class - com.iwaysoftware.eclipse.template.ZeroMQSocketProviderType



Parameter Groups

 ParameterTypeDescription
*ZeroMQ Context ProviderstringThe name of a ZeroMQ Context Provider to obtain the ZeroMQ Context and provide optional ZAP security

Click below for a definition:
*Socket TypestringThe type of socket to create

    Select from one of the following options:
  • REQ {REQ}
  • DEALER {DEALER}
  • ROUTER {ROUTER}
  • PUB {PUB}
  • XPUB {XPUB}
  • PUSH {PUSH}
  • STREAM {STREAM}
Idle TimeoutdurationThe amount of time a ZeroMQ Socket can remain idle in the pool before the eviction thread disposes of it. The value 0 means the idle Socket can remain in the pool indefinitely.
* - denotes required
 ParameterTypeDescription
Server SecuritystringConfigures the socket to act like a server and selects the security mechanism to authenticate the client connections. In ZeroMQ, a server is the peer that validates the client, it is not related to which socket binds or connects. Disabled turns off security for server sockets and is the only option for client sockets. NULL accepts every connection or validates the peer address if a ZAP domain is configured. PLAIN always validates the peer address and requires a username/password sent in clear. CURVE always validates the peer address, adds encryption and does client certificate authentication. See the ZeroMQ Context Provider to configure the security information required by the chosen security mechanism.

    Select from one of the following options:
  • Disabled {disabled}
  • NULL {NULL}
  • PLAIN {PLAIN}
  • CURVE {CURVE}
CURVE Public KeystringSets the long term public key for client sockets using the CURVE security mechanism. The value is the 32-byte key encoded as a 40-character string in Z85 format.
CURVE Secret KeystringSets the long term secret key for client and server sockets using the CURVE security mechanism. The value is the 32-byte key encoded as a 40-character string in Z85 format.
CURVE Server KeystringSets the long term server public key for client sockets using the CURVE security mechanism. The value is the 32-byte key encoded as a 40-character string in Z85 format.
PLAIN Security PasswordpasswordSets the password for outgoing connections over TCP or IPC using the PLAIN security mechanism
PLAIN Security User NamestringSets the user name for outgoing connections over TCP or IPC when using the PLAIN security mechanism
ZAP DomainstringSets the domain for ZAP (ZMQ RFC 27) authentication. For NULL security ZAP authentication only happens if you set a non-empty domain. For PLAIN and CURVE security, ZAP requests are always made. The ZAP domain is otherwise unused by the ZAP handler installed by the ZeroMQ Context Provider.
* - denotes required
 ParameterTypeDescription
BacklogintegerSets the maximum length of the queue of outstanding peer connections for the specified socket; this only applies to connection-oriented transports. For details refer to your operating system documentation for the listen function.
ConflatebooleanWhen enabled, the socket keeps only one message in its queue because it keeps only the last message received or the last message to be sent. Ignores the send and receive high water marks. Does not support multipart messages.
Handshake IntervalintegerSets the maximum time in milliseconds for the handshake exchange to complete. The connection is closed if the time is exceeded. The value 0 means no handshake time limit.
IdentitystringSets the identity of the specified socket when connecting to a ROUTER socket as a UTF-8 string. If the identity is already in use, the ZMQ_ROUTER_HANDOVER option of the ROUTER socket determines which connection is kept.
ImmediatebooleanWhen selected, queue messages only to completed connections. This will cause the socket to block if there are no other connections, but will prevent queues from filling on pipes awaiting connection.
Enable IPv6booleanWhen selected, the socket will use IPv4 or IPv6. When unselected, the socket will use IPv4 only.
Linger PeriodintegerThe linger period determines how long pending messages which have yet to be sent to a peer shall linger in memory after a socket is disconnected or closed. The value -1 specifies an infinite linger period. The value 0 specifies no linger period. Positive values specify an upper bound for the linger period in milliseconds, after which the messages will be discarded. This value also affects how long the context will wait when terminated.
Maximum Message SizestringLimits the size of the inbound message. If a peer sends a message larger than the Maximum Message Size, it is disconnected. Value of -1 means no limit.
Probe ROUTERbooleanWhen set to 1, the socket will automatically send an empty message when a new connection is made or accepted. You may set this on REQ, DEALER, or ROUTER sockets connected to a ROUTER socket. The application must filter such empty messages. This option in effect provides the ROUTER application with an event signaling the arrival of a new peer.
Receive Buffer Sizeintegerset the underlying kernel receive buffer size for the socket to the specified size in bytes. A value of -1 means leave the OS default unchanged. For details refer to your operating system documentation for the SO_RCVBUF socket option.
Receive High Water MarkintegerSets the maximum number of outstanding inbound messages queued in memory for any single peer. The value 0 means no limit.
Receive TimeoutintegerSets the timeout in milliseconds for receive operations on the socket. The value 0 means return immediately if there is no message to receive. The value -1 will wait indefinitely.
Reconnection IntervalintegerSets the initial reconnection interval in milliseconds for the first attempt to reconnect a disconnected peer when using connection-oriented transports. The value -1 means no reconnection.
Maximum Reconnection IntervalintegerSets the maximum reconnection interval in milliseconds with each attempt doubling the previous reconnection interval. When set to 0, it turns off exponential strategy with all reconnection intervals equal to the initial reconnection interval.
Request CorrelationbooleanThe default behavior of REQ sockets is to rely on the ordering of messages to match requests and responses and that is usually sufficient. When this option is enabled, the REQ socket will prefix outgoing messages with an extra frame containing a request id. That means the full message is (request id, 0, user frames...). The REQ socket will discard all incoming messages that don't begin with these two frames.
Relax Request-Reply AlternationbooleanBy default, a REQ socket does not allow initiating a new request until the reply to the previous one has been received. When this option is selected, sending another message is allowed and previous replies will be discarded if any. The request-reply state machine is reset and a new request is sent to the next available peer. It is recommended to also turn on Request Correlation if this option is selected.
ROUTER HandoverbooleanWhen selected, the ROUTER socket accepts a connection with an identity that is already in use and disconnects the existing connection. When unselected the ROUTER rejects connections with duplicate identity.
ROUTER MandatorybooleanWhen selected, accept only routable messages on ROUTER sockets with unroutable messages causing an error. When unselected, the ROUTER socket discards the message silently when it cannot be routed or the peers Send High Water Mark is reached.
Send Buffer Sizeintegerset the underlying kernel transmit buffer size for the socket to the specified size in bytes. A value of -1 means leave the OS default unchanged. For details refer to your operating system documentation for the SO_SNDBUF socket option.
Send High Water MarkintegerSets the maximum number of outstanding outbound messages queued in memory for any single peer. The value 0 means no limit.
Send TimeoutintegerSets the timeout in milliseconds for send operations on the socket. The value 0 means return immediately if the message cannot be sent. The value -1 will block indefinitely.
SOCKS5 Proxy AddressstringSets the SOCKS5 proxy address that shall be used by the socket for the TCP connection(s). Does not support SOCKS5 authentication. If the endpoints are domain names instead of addresses they shall not be resolved and they shall be forwarded unchanged to the SOCKS proxy service in the client connection request message (address type 0x03 domain name).
TCP KeepAlive Socket OptionstringOverride SO_tcp_keepalive socket option.

    Select from one of the following options:
  • OS Default {-1}
  • Disable {0}
  • Enable {1}
Socket Type of ServicestringSets the ToS fields (Differentiated services (DS) and Explicit Congestion Notification (ECN) field) of the IP header. The ToS field is typically used to specify a packet priority. When present, the value is an integer between 0 and 255 inclusive.
* - denotes required