<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->

<phpdoc:classref xml:id="class.zmq" xmlns:phpdoc="http://php.net/ns/phpdoc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">

 <title>The ZMQ class</title>
 <titleabbrev>ZMQ</titleabbrev>

 <partintro>

<!-- {{{ ZMQ intro -->
  <section xml:id="zmq.intro">
   &reftitle.intro;
   <para>

   </para>
  </section>
<!-- }}} -->

  <section xml:id="zmq.synopsis">
   &reftitle.classsynopsis;

<!-- {{{ Synopsis -->
   <classsynopsis>
    <ooclass><classname>ZMQ</classname></ooclass>

<!-- {{{ Class synopsis -->
    <classsynopsisinfo>
     <ooclass>
      <classname>ZMQ</classname>
     </ooclass>
    </classsynopsisinfo>
<!-- }}} -->
    <classsynopsisinfo role="comment">&Constants;</classsynopsisinfo>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.socket-pair">ZMQ::SOCKET_PAIR</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.socket-pub">ZMQ::SOCKET_PUB</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.socket-sub">ZMQ::SOCKET_SUB</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.socket-req">ZMQ::SOCKET_REQ</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.socket-rep">ZMQ::SOCKET_REP</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.socket-xreq">ZMQ::SOCKET_XREQ</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.socket-xrep">ZMQ::SOCKET_XREP</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.socket-push">ZMQ::SOCKET_PUSH</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.socket-pull">ZMQ::SOCKET_PULL</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.socket-router">ZMQ::SOCKET_ROUTER</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.socket-dealer">ZMQ::SOCKET_DEALER</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.socket-xpub">ZMQ::SOCKET_XPUB</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.socket-xsub">ZMQ::SOCKET_XSUB</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.socket-stream">ZMQ::SOCKET_STREAM</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-hwm">ZMQ::SOCKOPT_HWM</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-sndhwm">ZMQ::SOCKOPT_SNDHWM</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-rcvhwm">ZMQ::SOCKOPT_RCVHWM</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-affinity">ZMQ::SOCKOPT_AFFINITY</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-identity">ZMQ::SOCKOPT_IDENTITY</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-subscribe">ZMQ::SOCKOPT_SUBSCRIBE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-unsubscribe">ZMQ::SOCKOPT_UNSUBSCRIBE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-rate">ZMQ::SOCKOPT_RATE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-recovery-ivl">ZMQ::SOCKOPT_RECOVERY_IVL</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-reconnect-ivl">ZMQ::SOCKOPT_RECONNECT_IVL</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-reconnect-ivl-max">ZMQ::SOCKOPT_RECONNECT_IVL_MAX</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-mcast-loop">ZMQ::SOCKOPT_MCAST_LOOP</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-sndbuf">ZMQ::SOCKOPT_SNDBUF</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-rcvbuf">ZMQ::SOCKOPT_RCVBUF</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-rcvmore">ZMQ::SOCKOPT_RCVMORE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-type">ZMQ::SOCKOPT_TYPE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-linger">ZMQ::SOCKOPT_LINGER</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-backlog">ZMQ::SOCKOPT_BACKLOG</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-maxmsgsize">ZMQ::SOCKOPT_MAXMSGSIZE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-sndtimeo">ZMQ::SOCKOPT_SNDTIMEO</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-rcvtimeo">ZMQ::SOCKOPT_RCVTIMEO</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-ipv4only">ZMQ::SOCKOPT_IPV4ONLY</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-last-endpoint">ZMQ::SOCKOPT_LAST_ENDPOINT</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-tcp-keepalive-idle">ZMQ::SOCKOPT_TCP_KEEPALIVE_IDLE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-tcp-keepalive-cnt">ZMQ::SOCKOPT_TCP_KEEPALIVE_CNT</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-tcp-keepalive-intvl">ZMQ::SOCKOPT_TCP_KEEPALIVE_INTVL</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-tcp-accept-filter">ZMQ::SOCKOPT_TCP_ACCEPT_FILTER</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-tcp-accept-filter">ZMQ::SOCKOPT_TCP_ACCEPT_FILTER</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-delay-attach-on-connect">ZMQ::SOCKOPT_DELAY_ATTACH_ON_CONNECT</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-xpub-verbose">ZMQ::SOCKOPT_XPUB_VERBOSE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-router-raw">ZMQ::SOCKOPT_ROUTER_RAW</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.sockopt-ipv6">ZMQ::SOCKOPT_IPV6</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.ctxopt-max-sockets">ZMQ::CTXOPT_MAX_SOCKETS</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.poll-in">ZMQ::POLL_IN</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.poll-out">ZMQ::POLL_OUT</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.mode-noblock">ZMQ::MODE_NOBLOCK</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.mode-dontwait">ZMQ::MODE_DONTWAIT</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.mode-sndmore">ZMQ::MODE_SNDMORE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.err-internal">ZMQ::ERR_INTERNAL</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.err-eagain">ZMQ::ERR_EAGAIN</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.err-enotsup">ZMQ::ERR_ENOTSUP</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.err-efsm">ZMQ::ERR_EFSM</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="zmq.constants.err-eterm">ZMQ::ERR_ETERM</varname>
    </fieldsynopsis>

    <classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
    <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.zmq')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
   </classsynopsis>
<!-- }}} -->

  </section>

<!-- {{{ ZMQ constants -->
  <section xml:id="zmq.constants">
   &reftitle.constants;
   <section xml:id="zmq.constants.types">
    <title>ZMQ Constant Types</title>
    <variablelist>

     <varlistentry xml:id="zmq.constants.socket-pair">
      <term><constant>ZMQ::SOCKET_PAIR</constant></term>
      <listitem>
       <para>Exclusive pair pattern</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.socket-pub">
      <term><constant>ZMQ::SOCKET_PUB</constant></term>
      <listitem>
       <para>Publisher socket</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.socket-sub">
      <term><constant>ZMQ::SOCKET_SUB</constant></term>
      <listitem>
       <para>Subscriber socket</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.socket-req">
      <term><constant>ZMQ::SOCKET_REQ</constant></term>
      <listitem>
       <para>Request socket</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.socket-rep">
      <term><constant>ZMQ::SOCKET_REP</constant></term>
      <listitem>
       <para>Reply socket</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.socket-xreq">
      <term><constant>ZMQ::SOCKET_XREQ</constant></term>
      <listitem>
       <para>Alias for SOCKET_DEALER</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.socket-xrep">
      <term><constant>ZMQ::SOCKET_XREP</constant></term>
      <listitem>
       <para>Alias for SOCKET_ROUTER</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.socket-push">
      <term><constant>ZMQ::SOCKET_PUSH</constant></term>
      <listitem>
       <para>Pipeline upstream push socket</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.socket-pull">
      <term><constant>ZMQ::SOCKET_PULL</constant></term>
      <listitem>
       <para>Pipeline downstream pull socket</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.socket-router">
      <term><constant>ZMQ::SOCKET_ROUTER</constant></term>
      <listitem>
       <para>Extended REP socket that can route replies to requesters</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.socket-dealer">
      <term><constant>ZMQ::SOCKET_DEALER</constant></term>
      <listitem>
       <para>Extended REQ socket that load balances to all connected peers</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.socket-xpub">
      <term><constant>ZMQ::SOCKET_XPUB</constant></term>
      <listitem>
       <para>Similar to SOCKET_PUB, except you can receive subscriptions as messages.
             The subscription message is 0 (unsubscribe) or 1 (subscribe) followed by the topic.</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.socket-xsub">
      <term><constant>ZMQ::SOCKET_XSUB</constant></term>
      <listitem>
       <para>Similar to SOCKET_SUB, except you can send subscriptions as messages. See SOCKET_XPUB for format.</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.socket-stream">
      <term><constant>ZMQ::SOCKET_STREAM</constant></term>
      <listitem>
       <para>Used to send and receive TCP data from a non-ØMQ peer. Available if compiled against ZeroMQ 4.x or higher (Value: &integer;).</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-hwm">
      <term><constant>ZMQ::SOCKOPT_HWM</constant></term>
      <listitem>
       <para>The high water mark for inbound and outbound messages is a hard limit on the maximum number of outstanding messages ØMQ shall queue in memory for any single peer that the specified socket is communicating with. Setting this option on a socket will only affect connections made after the option has been set. On ZeroMQ 3.x this is a wrapper for setting both SNDHWM and RCVHWM. (Value: &integer;).</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-sndhwm">
      <term><constant>ZMQ::SOCKOPT_SNDHWM</constant></term>
      <listitem>
       <para>The ZMQ_SNDHWM option shall set the high water mark for outbound messages on the specified socket. Available if compiled against ZeroMQ 3.x or higher (Value: &integer;).</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-rcvhwm">
      <term><constant>ZMQ::SOCKOPT_RCVHWM</constant></term>
      <listitem>
       <para>The SOCKOPT_RCVHWM option shall set the high water mark for inbound messages on the specified socket. Available if compiled against ZeroMQ 3.x or higher (Value: &integer;).</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-affinity">
      <term><constant>ZMQ::SOCKOPT_AFFINITY</constant></term>
      <listitem>
       <para> Set I/O thread affinity (Value: &integer;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-identity">
      <term><constant>ZMQ::SOCKOPT_IDENTITY</constant></term>
      <listitem>
       <para>Set socket identity (Value: &string;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-subscribe">
      <term><constant>ZMQ::SOCKOPT_SUBSCRIBE</constant></term>
      <listitem>
       <para>Establish message filter. Valid for subscriber socket (Value: &string;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-unsubscribe">
      <term><constant>ZMQ::SOCKOPT_UNSUBSCRIBE</constant></term>
      <listitem>
       <para>Remove message filter. Valid for subscriber socket (Value: &string;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-rate">
      <term><constant>ZMQ::SOCKOPT_RATE</constant></term>
      <listitem>
       <para>Set rate for multicast sockets (pgm) (Value: &integer; >= 0)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-recovery-ivl">
      <term><constant>ZMQ::SOCKOPT_RECOVERY_IVL</constant></term>
      <listitem>
       <para> Set multicast recovery interval (Value: &integer; >= 0)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-reconnect-ivl">
      <term><constant>ZMQ::SOCKOPT_RECONNECT_IVL</constant></term>
      <listitem>
       <para> Set the initial reconnection interval (Value: &integer; >= 0)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-reconnect-ivl-max">
      <term><constant>ZMQ::SOCKOPT_RECONNECT_IVL_MAX</constant></term>
      <listitem>
       <para> Set the max reconnection interval (Value: &integer; >= 0)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-mcast-loop">
      <term><constant>ZMQ::SOCKOPT_MCAST_LOOP</constant></term>
      <listitem>
       <para> Control multicast loopback (Value: &integer; >= 0)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-sndbuf">
      <term><constant>ZMQ::SOCKOPT_SNDBUF</constant></term>
      <listitem>
       <para>Set kernel transmit buffer size (Value: &integer; >= 0)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-rcvbuf">
      <term><constant>ZMQ::SOCKOPT_RCVBUF</constant></term>
      <listitem>
       <para> Set kernel receive buffer size (Value: &integer; >= 0)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-rcvmore">
      <term><constant>ZMQ::SOCKOPT_RCVMORE</constant></term>
      <listitem>
       <para>Receive multi-part messages (Value: &integer;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-type">
      <term><constant>ZMQ::SOCKOPT_TYPE</constant></term>
      <listitem>
       <para>Get the socket type. Valid for getSockOpt (Value: &integer;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-linger">
      <term><constant>ZMQ::SOCKOPT_LINGER</constant></term>
      <listitem>
       <para>The linger value of the socket. Specifies how long the socket blocks
             trying flush messages after it has been closed (Value: &integer;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-backlog">
      <term><constant>ZMQ::SOCKOPT_BACKLOG</constant></term>
      <listitem>
       <para>The SOCKOPT_BACKLOG option shall set the maximum length of the queue of outstanding peer connections for the specified socket; this only applies to connection-oriented transports. (Value: &integer;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-maxmsgsize">
      <term><constant>ZMQ::SOCKOPT_MAXMSGSIZE</constant></term>
      <listitem>
       <para>Limits the maximum size of the inbound message. Value -1 means no limit. Available if compiled against ZeroMQ 3.x or higher (Value: &integer;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-sndtimeo">
      <term><constant>ZMQ::SOCKOPT_SNDTIMEO</constant></term>
      <listitem>
       <para>Sets the timeout for send operation on the socket. Value -1 means no limit. Available if compiled against ZeroMQ 3.x or higher (Value: &integer;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-rcvtimeo">
      <term><constant>ZMQ::SOCKOPT_RCVTIMEO</constant></term>
      <listitem>
       <para>Sets the timeout for receive operation on the socket. Value -1 means no limit. Available if compiled against ZeroMQ 3.x or higher (Value: &integer;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-ipv4only">
      <term><constant>ZMQ::SOCKOPT_IPV4ONLY</constant></term>
      <listitem>
       <para>Disable IPV6 support if 1. Available if compiled against ZeroMQ 3.x (Value: &integer;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-last-endpoint">
      <term><constant>ZMQ::SOCKOPT_LAST_ENDPOINT</constant></term>
      <listitem>
       <para>Retrieve the last connected endpoint - for use with * wildcard ports. Available if compiled against ZeroMQ 3.x or higher (Value: &string;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-tcp-keepalive-idle">
      <term><constant>ZMQ::SOCKOPT_TCP_KEEPALIVE_IDLE</constant></term>
      <listitem>
       <para>Idle time for TCP keepalive. Available if compiled against ZeroMQ 3.x or higher (Value: &integer;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-tcp-keepalive-cnt">
      <term><constant>ZMQ::SOCKOPT_TCP_KEEPALIVE_CNT</constant></term>
      <listitem>
       <para>Count time for TCP keepalive. Available if compiled against ZeroMQ 3.x or higher (Value: &integer;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-tcp-keepalive-intvl">
      <term><constant>ZMQ::SOCKOPT_TCP_KEEPALIVE_INTVL</constant></term>
      <listitem>
       <para>Interval for TCP keepalive. Available if compiled against ZeroMQ 3.x or higher (Value: &integer;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-delay-attach-on-connect">
      <term><constant>ZMQ::SOCKOPT_DELAY_ATTACH_ON_CONNECT</constant></term>
      <listitem>
       <para>Set a CIDR string to match against incoming TCP connections. Available if compiled against ZeroMQ 3.x or higher (Value: &string;)</para>
      </listitem>
     </varlistentry>

      <varlistentry xml:id="zmq.constants.sockopt-tcp-accept-filter">
       <term><constant>ZMQ::SOCKOPT_TCP_ACCEPT_FILTER</constant></term>
       <listitem>
        <para>Set a CIDR string to match against incoming TCP connections. Available if compiled against ZeroMQ 3.x or higher (Value: &string;)</para>
       </listitem>
      </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-xpub-verbose">
      <term><constant>ZMQ::SOCKOPT_XPUB_VERBOSE</constant></term>
      <listitem>
       <para>Set the XPUB to receive an application message on each instance of a subscription. Available if compiled against ZeroMQ 3.x or higher (Value: &string;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-router-raw">
      <term><constant>ZMQ::SOCKOPT_ROUTER_RAW</constant></term>
      <listitem>
       <para>Sets the raw mode on the ROUTER, when set to 1. In raw mode when using tcp:// transport the socket will read and write without ZeroMQ framing.
               Available if compiled against ZeroMQ 4.0 or higher (Value: &string;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.sockopt-ipv6">
      <term><constant>ZMQ::SOCKOPT_IPV6</constant></term>
      <listitem>
       <para>Enable IPV6. Available if compiled against ZeroMQ 4.0 or higher (Value: &string;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.ctxopt-max-sockets">
      <term><constant>ZMQ::CTXOPT_MAX_SOCKETS</constant></term>
      <listitem>
       <para>The socket limit for this context. Available if compiled against ZeroMQ 3.x or higher (Value: &integer;)</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.poll-in">
      <term><constant>ZMQ::POLL_IN</constant></term>
      <listitem>
       <para>Poll for incoming data</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.poll-out">
      <term><constant>ZMQ::POLL_OUT</constant></term>
      <listitem>
       <para>Poll for outgoing data</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.mode-noblock">
      <term><constant>ZMQ::MODE_NOBLOCK</constant></term>
      <listitem>
       <para>Non-blocking operation. Deprecated, use ZMQ::MODE_DONTWAIT instead</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.mode-dontwait">
      <term><constant>ZMQ::MODE_DONTWAIT</constant></term>
      <listitem>
       <para>Non-blocking operation</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.mode-sndmore">
      <term><constant>ZMQ::MODE_SNDMORE</constant></term>
      <listitem>
       <para>Send multi-part message</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.device-forwarder">
      <term><constant>ZMQ::DEVICE_FORWARDER</constant></term>
      <listitem>
       <para>Forwarder device</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.device-queue">
      <term><constant>ZMQ::DEVICE_QUEUE</constant></term>
      <listitem>
       <para>Queue device</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.device-streamer">
      <term><constant>ZMQ::DEVICE_STREAMER</constant></term>
      <listitem>
       <para>Streamer device</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.err-internal">
      <term><constant>ZMQ::ERR_INTERNAL</constant></term>
      <listitem>
       <para>ZMQ extension internal error</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.err-eagain">
      <term><constant>ZMQ::ERR_EAGAIN</constant></term>
      <listitem>
       <para>Implies that the operation would block when ZMQ::MODE_DONTWAIT is used</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.err-enotsup">
      <term><constant>ZMQ::ERR_ENOTSUP</constant></term>
      <listitem>
       <para>The operation is not supported by the socket type</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.err-efsm">
      <term><constant>ZMQ::ERR_EFSM</constant></term>
      <listitem>
       <para>The operation can not be executed because the socket is not in correct state</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="zmq.constants.err-eterm">
      <term><constant>ZMQ::ERR_ETERM</constant></term>
      <listitem>
       <para>The context has been terminated</para>
      </listitem>
     </varlistentry>

    </variablelist>
   </section>
  </section>
<!-- }}} -->


 </partintro>

 &reference.zmq.entities.zmq;

</phpdoc:classref>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
