summaryrefslogtreecommitdiff
path: root/doc/zmq_proxy.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/zmq_proxy.txt')
-rw-r--r--doc/zmq_proxy.txt98
1 files changed, 0 insertions, 98 deletions
diff --git a/doc/zmq_proxy.txt b/doc/zmq_proxy.txt
deleted file mode 100644
index cfad779..0000000
--- a/doc/zmq_proxy.txt
+++ /dev/null
@@ -1,98 +0,0 @@
-zmq_proxy(3)
-============
-
-NAME
-----
-zmq_proxy - start built-in 0MQ proxy
-
-
-SYNOPSIS
---------
-*int zmq_proxy (const void '*frontend', const void '*backend', const void '*capture');*
-
-
-DESCRIPTION
------------
-The _zmq_proxy()_ function starts the built-in 0MQ proxy in the current
-application thread.
-
-The proxy connects a frontend socket to a backend socket. Conceptually, data
-flows from frontend to backend. Depending on the socket types, replies may flow
-in the opposite direction. The direction is conceptual only; the proxy is fully
-symmetric and there is no technical difference between frontend and backend.
-
-Before calling _zmq_proxy()_ you must set any socket options, and connect or
-bind both frontend and backend sockets. The two conventional proxy models are:
-
-_zmq_proxy()_ runs in the current thread and returns only if/when the current
-context is closed.
-
-If the capture socket is not NULL, the proxy shall send all messages, received
-on both frontend and backend, to the capture socket. The capture socket should
-be a 'ZMQ_PUB', 'ZMQ_DEALER', 'ZMQ_PUSH', or 'ZMQ_PAIR' socket.
-
-Refer to linkzmq:zmq_socket[3] for a description of the available socket types.
-
-EXAMPLE USAGE
--------------
-
-Shared Queue
-~~~~~~~~~~~~
-
-When the frontend is a ZMQ_ROUTER socket, and the backend is a ZMQ_DEALER
-socket, the proxy shall act as a shared queue that collects requests from a
-set of clients, and distributes these fairly among a set of services.
-Requests shall be fair-queued from frontend connections and distributed evenly
-across backend connections. Replies shall automatically return to the client
-that made the original request.
-
-Forwarder
-~~~~~~~~~
-
-When the frontend is a ZMQ_XSUB socket, and the backend is a ZMQ_XPUB socket,
-the proxy shall act as a message forwarder that collects messages from a set
-of publishers and forwards these to a set of subscribers. This may be used to
-bridge networks transports, e.g. read on tcp:// and forward on pgm://.
-
-Streamer
-~~~~~~~~
-
-When the frontend is a ZMQ_PULL socket, and the backend is a ZMQ_PUSH socket,
-the proxy shall collect tasks from a set of clients and forwards these to a set
-of workers using the pipeline pattern.
-
-RETURN VALUE
-------------
-The _zmq_proxy()_ function always returns `-1` and 'errno' set to *ETERM* (the
-0MQ 'context' associated with either of the specified sockets was terminated).
-
-
-EXAMPLE
--------
-.Creating a shared queue proxy
-----
-// Create frontend and backend sockets
-void *frontend = zmq_socket (context, ZMQ_ROUTER);
-assert (backend);
-void *backend = zmq_socket (context, ZMQ_DEALER);
-assert (frontend);
-// Bind both sockets to TCP ports
-assert (zmq_bind (frontend, "tcp://*:5555") == 0);
-assert (zmq_bind (backend, "tcp://*:5556") == 0);
-// Start the queue proxy, which runs until ETERM
-zmq_proxy (frontend, backend, NULL);
-----
-
-
-SEE ALSO
---------
-linkzmq:zmq_bind[3]
-linkzmq:zmq_connect[3]
-linkzmq:zmq_socket[3]
-linkzmq:zmq[7]
-
-
-AUTHORS
--------
-This page was written by the 0MQ community. To make a change please
-read the 0MQ Contribution Policy at <http://www.zeromq.org/docs:contributing>.