summaryrefslogtreecommitdiff
path: root/doc/zmq_proxy.3
diff options
context:
space:
mode:
Diffstat (limited to 'doc/zmq_proxy.3')
-rw-r--r--doc/zmq_proxy.389
1 files changed, 0 insertions, 89 deletions
diff --git a/doc/zmq_proxy.3 b/doc/zmq_proxy.3
deleted file mode 100644
index d2a6063..0000000
--- a/doc/zmq_proxy.3
+++ /dev/null
@@ -1,89 +0,0 @@
-'\" t
-.\" Title: zmq_proxy
-.\" Author: [see the "AUTHORS" section]
-.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
-.\" Date: 03/10/2014
-.\" Manual: 0MQ Manual
-.\" Source: 0MQ 4.0.1
-.\" Language: English
-.\"
-.TH "ZMQ_PROXY" "3" "03/10/2014" "0MQ 4\&.0\&.1" "0MQ Manual"
-.\" -----------------------------------------------------------------
-.\" * Define some portability stuff
-.\" -----------------------------------------------------------------
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.\" http://bugs.debian.org/507673
-.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\" -----------------------------------------------------------------
-.\" * set default formatting
-.\" -----------------------------------------------------------------
-.\" disable hyphenation
-.nh
-.\" disable justification (adjust text to left margin only)
-.ad l
-.\" -----------------------------------------------------------------
-.\" * MAIN CONTENT STARTS HERE *
-.\" -----------------------------------------------------------------
-.SH "NAME"
-zmq_proxy \- start built\-in 0MQ proxy
-.SH "SYNOPSIS"
-.sp
-\fBint zmq_proxy (const void \fR\fB\fI*frontend\fR\fR\fB, const void \fR\fB\fI*backend\fR\fR\fB, const void \fR\fB\fI*capture\fR\fR\fB);\fR
-.SH "DESCRIPTION"
-.sp
-The \fIzmq_proxy()\fR function starts the built\-in 0MQ proxy in the current application thread\&.
-.sp
-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\&.
-.sp
-Before calling \fIzmq_proxy()\fR you must set any socket options, and connect or bind both frontend and backend sockets\&. The two conventional proxy models are:
-.sp
-\fIzmq_proxy()\fR runs in the current thread and returns only if/when the current context is closed\&.
-.sp
-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 \fIZMQ_PUB\fR, \fIZMQ_DEALER\fR, \fIZMQ_PUSH\fR, or \fIZMQ_PAIR\fR socket\&.
-.sp
-Refer to \fBzmq_socket\fR(3) for a description of the available socket types\&.
-.SH "EXAMPLE USAGE"
-.SS "Shared Queue"
-.sp
-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\&.
-.SS "Forwarder"
-.sp
-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://\&.
-.SS "Streamer"
-.sp
-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\&.
-.SH "RETURN VALUE"
-.sp
-The \fIzmq_proxy()\fR function always returns \-1 and \fIerrno\fR set to \fBETERM\fR (the 0MQ \fIcontext\fR associated with either of the specified sockets was terminated)\&.
-.SH "EXAMPLE"
-.PP
-\fBCreating a shared queue proxy\fR.
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-// 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);
-.fi
-.if n \{\
-.RE
-.\}
-.sp
-.SH "SEE ALSO"
-.sp
-\fBzmq_bind\fR(3) \fBzmq_connect\fR(3) \fBzmq_socket\fR(3) \fBzmq\fR(7)
-.SH "AUTHORS"
-.sp
-This page was written by the 0MQ community\&. To make a change please read the 0MQ Contribution Policy at \m[blue]\fBhttp://www\&.zeromq\&.org/docs:contributing\fR\m[]\&.