├── doc
├── zmq_epgm.txt
├── zmq_msg_data.txt
├── zmq_msg_size.txt
├── zmq_version.txt
├── zmq_init.txt
├── zmq_strerror.txt
├── zmq_errno.txt
├── zmq_msg_move.txt
├── zmq_close.txt
├── Makefile.am
├── zmq_msg_close.txt
├── asciidoc.conf
├── zmq_msg_init.txt
├── zmq_msg_copy.txt
├── zmq_msg_init_size.txt
├── zmq_term.txt
├── zmq_msg_init_data.txt
├── zmq_ipc.txt
├── zmq_inproc.txt
├── zmq_bind.txt
└── zmq_connect.txt
├── .hgeol
├── branding.bmp
├── installer.ico
├── foreign
└── openpgm
│ ├── libpgm-5.1.118~dfsg.tar.gz
│ └── Makefile.am
├── .travis.yml
├── src
├── libzmq.pc.in
├── pub.cpp
├── device.hpp
├── likely.hpp
├── blob.hpp
├── pub.hpp
├── command.cpp
├── fd.hpp
├── transient_session.cpp
├── sub.hpp
├── i_poll_events.hpp
├── i_inout.hpp
├── stdint.hpp
├── msg_content.hpp
├── pull.cpp
├── push.cpp
├── trie.hpp
├── transient_session.hpp
├── pull.hpp
├── push.hpp
├── rep.hpp
├── i_engine.hpp
├── clock.hpp
├── req.hpp
├── named_session.hpp
├── xpub.hpp
├── xreq.hpp
├── signaler.hpp
├── xreq.cpp
├── xpub.cpp
├── connect_session.hpp
├── zmq_listener.hpp
├── sub.cpp
├── poller.hpp
├── tcp_listener.hpp
├── reaper.hpp
├── mailbox.hpp
├── pair.hpp
├── ip.hpp
├── tcp_socket.hpp
├── xsub.hpp
├── lb.hpp
├── thread.hpp
├── tcp_connecter.hpp
├── zmq_listener.cpp
├── io_object.hpp
├── fq.hpp
├── zmq_engine.hpp
├── mailbox.cpp
├── epoll.hpp
├── poller_base.hpp
├── io_thread.hpp
├── thread.cpp
├── io_object.cpp
├── named_session.cpp
├── zmq_init.hpp
├── options.hpp
├── io_thread.cpp
├── devpoll.hpp
├── encoder.cpp
├── dist.hpp
├── mutex.hpp
├── zmq_connecter.hpp
├── kqueue.hpp
├── pgm_sender.hpp
├── poll.hpp
└── poller_base.cpp
├── perf
├── Makefile.am
├── remote_thr.cpp
└── local_lat.cpp
├── version.sh
├── tests
├── Makefile.am
├── test_pair_inproc.cpp
├── test_pair_ipc.cpp
├── test_pair_tcp.cpp
├── test_reqrep_inproc.cpp
├── test_reqrep_ipc.cpp
├── test_reqrep_tcp.cpp
├── test_hwm.cpp
└── test_shutdown_stress.cpp
├── .gitignore
├── README
├── Makefile.am
├── MAINTAINERS
├── autogen.sh
└── include
└── zmq_utils.h
/doc/zmq_epgm.txt:
--------------------------------------------------------------------------------
1 | zmq_pgm.txt
--------------------------------------------------------------------------------
/.hgeol:
--------------------------------------------------------------------------------
1 | [patterns]
2 | ** = native
3 |
--------------------------------------------------------------------------------
/branding.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeromq/zeromq2-x/HEAD/branding.bmp
--------------------------------------------------------------------------------
/installer.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeromq/zeromq2-x/HEAD/installer.ico
--------------------------------------------------------------------------------
/foreign/openpgm/libpgm-5.1.118~dfsg.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeromq/zeromq2-x/HEAD/foreign/openpgm/libpgm-5.1.118~dfsg.tar.gz
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | script: ./autogen.sh && ./configure && make && make check
2 | language: c
3 | before_install:
4 | - sudo apt-get install uuid-dev
--------------------------------------------------------------------------------
/foreign/openpgm/Makefile.am:
--------------------------------------------------------------------------------
1 | SUBDIRS = $(pgm_subdir)
2 | DIST_SUBDIRS =
3 | # Override Automake's installation targets with the command ":" that does nothing.
4 | install:; @:
5 | install-exec:; @:
6 | install-data:; @:
7 | uninstall:; @:
8 | dist:; @;
9 |
--------------------------------------------------------------------------------
/src/libzmq.pc.in:
--------------------------------------------------------------------------------
1 | prefix=@prefix@
2 | exec_prefix=@exec_prefix@
3 | libdir=@libdir@
4 | includedir=@includedir@
5 |
6 | Name: libzmq
7 | Description: 0MQ c++ library
8 | Version: @VERSION@
9 | Libs: -L${libdir} -lzmq
10 | Cflags: -I${includedir}
11 |
--------------------------------------------------------------------------------
/perf/Makefile.am:
--------------------------------------------------------------------------------
1 | INCLUDES = -I$(top_builddir)/include
2 |
3 | noinst_PROGRAMS = local_lat remote_lat local_thr remote_thr inproc_lat inproc_thr
4 |
5 | local_lat_LDADD = $(top_builddir)/src/libzmq.la
6 | local_lat_SOURCES = local_lat.cpp
7 |
8 | remote_lat_LDADD = $(top_builddir)/src/libzmq.la
9 | remote_lat_SOURCES = remote_lat.cpp
10 |
11 | local_thr_LDADD = $(top_builddir)/src/libzmq.la
12 | local_thr_SOURCES = local_thr.cpp
13 |
14 | remote_thr_LDADD = $(top_builddir)/src/libzmq.la
15 | remote_thr_SOURCES = remote_thr.cpp
16 |
17 | inproc_lat_LDADD = $(top_builddir)/src/libzmq.la
18 | inproc_lat_SOURCES = inproc_lat.cpp
19 |
20 | inproc_thr_LDADD = $(top_builddir)/src/libzmq.la
21 | inproc_thr_SOURCES = inproc_thr.cpp
22 |
--------------------------------------------------------------------------------
/version.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #
3 | # This script extracts the 0MQ version from include/zmq.h, which is the master
4 | # location for this information.
5 | #
6 | if [ ! -f include/zmq.h ]; then
7 | echo "version.sh: error: include/zmq.h does not exist" 1>&2
8 | exit 1
9 | fi
10 | MAJOR=`egrep '^#define +ZMQ_VERSION_MAJOR +[0-9]+$' include/zmq.h`
11 | MINOR=`egrep '^#define +ZMQ_VERSION_MINOR +[0-9]+$' include/zmq.h`
12 | PATCH=`egrep '^#define +ZMQ_VERSION_PATCH +[0-9]+$' include/zmq.h`
13 | if [ -z "$MAJOR" -o -z "$MINOR" -o -z "$PATCH" ]; then
14 | echo "version.sh: error: could not extract version from include/zmq.h" 1>&2
15 | exit 1
16 | fi
17 | MAJOR=`echo $MAJOR | awk '{ print $3 }'`
18 | MINOR=`echo $MINOR | awk '{ print $3 }'`
19 | PATCH=`echo $PATCH | awk '{ print $3 }'`
20 | echo $MAJOR.$MINOR.$PATCH | tr -d '\n'
21 |
22 |
--------------------------------------------------------------------------------
/doc/zmq_msg_data.txt:
--------------------------------------------------------------------------------
1 | zmq_msg_data(3)
2 | ===============
3 |
4 |
5 | NAME
6 | ----
7 | zmq_msg_data - retrieve pointer to message content
8 |
9 |
10 | SYNOPSIS
11 | --------
12 | *void *zmq_msg_data (zmq_msg_t '*msg');*
13 |
14 |
15 | DESCRIPTION
16 | -----------
17 | The _zmq_msg_data()_ function shall return a pointer to the message content of
18 | the message object referenced by 'msg'.
19 |
20 | CAUTION: Never access 'zmq_msg_t' members directly, instead always use the
21 | _zmq_msg_ family of functions.
22 |
23 |
24 | RETURN VALUE
25 | ------------
26 | Upon successful completion, _zmq_msg_data()_ shall return a pointer to the
27 | message content.
28 |
29 |
30 | ERRORS
31 | ------
32 | No errors are defined.
33 |
34 |
35 | SEE ALSO
36 | --------
37 | linkzmq:zmq_msg_size[3]
38 | linkzmq:zmq_msg_init[3]
39 | linkzmq:zmq_msg_init_size[3]
40 | linkzmq:zmq_msg_init_data[3]
41 | linkzmq:zmq_msg_close[3]
42 | linkzmq:zmq[7]
43 |
44 |
45 | AUTHORS
46 | -------
47 | This manual page was written by the 0MQ community.
48 |
--------------------------------------------------------------------------------
/doc/zmq_msg_size.txt:
--------------------------------------------------------------------------------
1 | zmq_msg_size(3)
2 | ===============
3 |
4 |
5 | NAME
6 | ----
7 | zmq_msg_size - retrieve message content size in bytes
8 |
9 |
10 | SYNOPSIS
11 | --------
12 | *size_t zmq_msg_size (zmq_msg_t '*msg');*
13 |
14 |
15 | DESCRIPTION
16 | -----------
17 | The _zmq_msg_size()_ function shall return the size in bytes of the content of
18 | the message object referenced by 'msg'.
19 |
20 | CAUTION: Never access 'zmq_msg_t' members directly, instead always use the
21 | _zmq_msg_ family of functions.
22 |
23 |
24 | RETURN VALUE
25 | ------------
26 | Upon successful completion, _zmq_msg_size()_ shall return the size of the
27 | message content in bytes.
28 |
29 |
30 | ERRORS
31 | ------
32 | No errors are defined.
33 |
34 |
35 | SEE ALSO
36 | --------
37 | linkzmq:zmq_msg_data[3]
38 | linkzmq:zmq_msg_init[3]
39 | linkzmq:zmq_msg_init_size[3]
40 | linkzmq:zmq_msg_init_data[3]
41 | linkzmq:zmq_msg_close[3]
42 | linkzmq:zmq[7]
43 |
44 |
45 | AUTHORS
46 | -------
47 | This manual page was written by the 0MQ community.
48 |
--------------------------------------------------------------------------------
/tests/Makefile.am:
--------------------------------------------------------------------------------
1 | INCLUDES = -I$(top_builddir)/include
2 | LDADD = $(top_builddir)/src/libzmq.la
3 |
4 | noinst_PROGRAMS = test_pair_inproc \
5 | test_pair_tcp \
6 | test_reqrep_inproc \
7 | test_reqrep_tcp \
8 | test_hwm
9 |
10 | if !ON_MINGW
11 | noinst_PROGRAMS += test_shutdown_stress \
12 | test_pair_ipc \
13 | test_reqrep_ipc \
14 | test_timeo
15 | endif
16 |
17 | test_pair_inproc_SOURCES = test_pair_inproc.cpp testutil.hpp
18 | test_pair_tcp_SOURCES = test_pair_tcp.cpp testutil.hpp
19 |
20 | test_reqrep_inproc_SOURCES = test_reqrep_inproc.cpp testutil.hpp
21 | test_reqrep_tcp_SOURCES = test_reqrep_tcp.cpp testutil.hpp
22 |
23 | test_hwm_SOURCES = test_hwm.cpp
24 |
25 | if !ON_MINGW
26 | test_shutdown_stress_SOURCES = test_shutdown_stress.cpp
27 | test_pair_ipc_SOURCES = test_pair_ipc.cpp testutil.hpp
28 | test_reqrep_ipc_SOURCES = test_reqrep_ipc.cpp testutil.hpp
29 | test_timeo_SOURCES = test_timeo.cpp
30 | endif
31 |
32 | TESTS = $(noinst_PROGRAMS)
33 |
--------------------------------------------------------------------------------
/src/pub.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2007-2011 iMatix Corporation
3 | Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
4 |
5 | This file is part of 0MQ.
6 |
7 | 0MQ is free software; you can redistribute it and/or modify it under
8 | the terms of the GNU Lesser General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | 0MQ is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU Lesser General Public License for more details.
16 |
17 | You should have received a copy of the GNU Lesser General Public License
18 | along with this program. If not, see .
19 | */
20 |
21 | #include "pub.hpp"
22 |
23 | zmq::pub_t::pub_t (class ctx_t *parent_, uint32_t tid_) :
24 | xpub_t (parent_, tid_)
25 | {
26 | options.type = ZMQ_PUB;
27 | }
28 |
29 | zmq::pub_t::~pub_t ()
30 | {
31 | }
32 |
--------------------------------------------------------------------------------
/src/device.hpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2007-2011 iMatix Corporation
3 | Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
4 |
5 | This file is part of 0MQ.
6 |
7 | 0MQ is free software; you can redistribute it and/or modify it under
8 | the terms of the GNU Lesser General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | 0MQ is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU Lesser General Public License for more details.
16 |
17 | You should have received a copy of the GNU Lesser General Public License
18 | along with this program. If not, see .
19 | */
20 |
21 | #ifndef __ZMQ_DEVICE_HPP_INCLUDED__
22 | #define __ZMQ_DEVICE_HPP_INCLUDED__
23 |
24 | namespace zmq
25 | {
26 |
27 | int device (class socket_base_t *insocket_,
28 | class socket_base_t *outsocket_);
29 |
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/tests/test_pair_inproc.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2007-2011 iMatix Corporation
3 | Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
4 |
5 | This file is part of 0MQ.
6 |
7 | 0MQ is free software; you can redistribute it and/or modify it under
8 | the terms of the GNU Lesser General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | 0MQ is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU Lesser General Public License for more details.
16 |
17 | You should have received a copy of the GNU Lesser General Public License
18 | along with this program. If not, see .
19 | */
20 |
21 | #include "testutil.hpp"
22 |
23 | using namespace std;
24 | using namespace zmqtestutil;
25 |
26 | int main (int argc, char *argv [])
27 | {
28 | const char *transport = "inproc://tester" ;
29 | basic_tests (transport, ZMQ_PAIR, ZMQ_PAIR);
30 | return 0 ;
31 | }
32 |
--------------------------------------------------------------------------------
/tests/test_pair_ipc.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2007-2011 iMatix Corporation
3 | Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
4 |
5 | This file is part of 0MQ.
6 |
7 | 0MQ is free software; you can redistribute it and/or modify it under
8 | the terms of the GNU Lesser General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | 0MQ is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU Lesser General Public License for more details.
16 |
17 | You should have received a copy of the GNU Lesser General Public License
18 | along with this program. If not, see .
19 | */
20 |
21 | #include "testutil.hpp"
22 |
23 | using namespace std;
24 | using namespace zmqtestutil;
25 |
26 | int main (int argc, char *argv [])
27 | {
28 | const char *transport = "ipc:///tmp/tester" ;
29 | basic_tests (transport, ZMQ_PAIR, ZMQ_PAIR);
30 | return 0 ;
31 | }
32 |
--------------------------------------------------------------------------------
/tests/test_pair_tcp.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2007-2011 iMatix Corporation
3 | Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
4 |
5 | This file is part of 0MQ.
6 |
7 | 0MQ is free software; you can redistribute it and/or modify it under
8 | the terms of the GNU Lesser General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | 0MQ is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU Lesser General Public License for more details.
16 |
17 | You should have received a copy of the GNU Lesser General Public License
18 | along with this program. If not, see .
19 | */
20 |
21 | #include "testutil.hpp"
22 |
23 | using namespace std;
24 | using namespace zmqtestutil;
25 |
26 | int main (int argc, char *argv [])
27 | {
28 | const char *transport = "tcp://127.0.0.1:5560";
29 | basic_tests (transport, ZMQ_PAIR, ZMQ_PAIR);
30 | return 0 ;
31 | }
32 |
--------------------------------------------------------------------------------
/tests/test_reqrep_inproc.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2007-2011 iMatix Corporation
3 | Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
4 |
5 | This file is part of 0MQ.
6 |
7 | 0MQ is free software; you can redistribute it and/or modify it under
8 | the terms of the GNU Lesser General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | 0MQ is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU Lesser General Public License for more details.
16 |
17 | You should have received a copy of the GNU Lesser General Public License
18 | along with this program. If not, see .
19 | */
20 |
21 | #include "testutil.hpp"
22 |
23 | using namespace std;
24 | using namespace zmqtestutil;
25 |
26 | int main (int argc, char *argv [])
27 | {
28 | const char *transport = "inproc://tester" ;
29 | basic_tests (transport, ZMQ_REQ, ZMQ_REP);
30 | return 0 ;
31 | }
32 |
--------------------------------------------------------------------------------
/tests/test_reqrep_ipc.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2007-2011 iMatix Corporation
3 | Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
4 |
5 | This file is part of 0MQ.
6 |
7 | 0MQ is free software; you can redistribute it and/or modify it under
8 | the terms of the GNU Lesser General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | 0MQ is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU Lesser General Public License for more details.
16 |
17 | You should have received a copy of the GNU Lesser General Public License
18 | along with this program. If not, see .
19 | */
20 |
21 | #include "testutil.hpp"
22 |
23 | using namespace std;
24 | using namespace zmqtestutil;
25 |
26 | int main (int argc, char *argv [])
27 | {
28 | const char *transport = "ipc:///tmp/tester" ;
29 | basic_tests (transport, ZMQ_REQ, ZMQ_REP);
30 | return 0 ;
31 | }
32 |
--------------------------------------------------------------------------------
/tests/test_reqrep_tcp.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2007-2011 iMatix Corporation
3 | Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
4 |
5 | This file is part of 0MQ.
6 |
7 | 0MQ is free software; you can redistribute it and/or modify it under
8 | the terms of the GNU Lesser General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | 0MQ is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU Lesser General Public License for more details.
16 |
17 | You should have received a copy of the GNU Lesser General Public License
18 | along with this program. If not, see .
19 | */
20 |
21 | #include "testutil.hpp"
22 |
23 | using namespace std;
24 | using namespace zmqtestutil;
25 |
26 | int main (int argc, char *argv [])
27 | {
28 | const char *transport = "tcp://127.0.0.1:5560" ;
29 | basic_tests (transport, ZMQ_REQ, ZMQ_REP);
30 | return 0 ;
31 | }
32 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | syntax: glob # for hg-git users
2 | Makefile
3 | Makefile.in
4 | configure
5 | libtool
6 | config
7 | config.status
8 | config.log
9 | aclocal.m4
10 | autom4te.cache
11 | *.o
12 | *.gcno
13 | *.class
14 | *.ncb
15 | *.lo
16 | *.loT
17 | *.la
18 | *.html
19 | *.pdf
20 | *.ps
21 | .*
22 | *~
23 | .*~
24 | tests/test_pair_inproc
25 | tests/test_pair_ipc
26 | tests/test_pair_tcp
27 | tests/test_reqrep_inproc
28 | tests/test_reqrep_ipc
29 | tests/test_reqrep_tcp
30 | tests/test_shutdown_stress
31 | tests/test_hwm
32 | tests/test_timeo
33 | src/platform.hpp*
34 | src/stamp-h1
35 | devices/zmq_forwarder/zmq_forwarder
36 | devices/zmq_queue/zmq_queue
37 | devices/zmq_streamer/zmq_streamer
38 | perf/local_lat
39 | perf/local_thr
40 | perf/remote_lat
41 | perf/remote_thr
42 | perf/inproc_lat
43 | perf/inproc_thr
44 | doc/*.1
45 | doc/*.3
46 | doc/*.7
47 | doc/*.html
48 | doc/*.xml
49 | src/libzmq.pc
50 | bin/
51 | lib/
52 | builds/msvc/*.suo
53 | builds/msvc/*/*.user
54 | builds/msvc/*/Debug
55 | builds/msvc/*/Release
56 | foreign/openpgm/*
57 | !foreign/openpgm/*.tar.bz2
58 | !foreign/openpgm/*.tar.gz
59 | !foreign/openpgm/Makefile.am
60 | zeromq-*.tar.gz
61 | zeromq-*.zip
62 | builds/redhat/zeromq.spec
63 |
64 |
--------------------------------------------------------------------------------
/src/likely.hpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2007-2011 iMatix Corporation
3 | Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
4 |
5 | This file is part of 0MQ.
6 |
7 | 0MQ is free software; you can redistribute it and/or modify it under
8 | the terms of the GNU Lesser General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | 0MQ is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU Lesser General Public License for more details.
16 |
17 | You should have received a copy of the GNU Lesser General Public License
18 | along with this program. If not, see .
19 | */
20 |
21 | #ifndef __ZMQ_LIKELY_HPP_INCLUDED__
22 | #define __ZMQ_LIKELY_HPP_INCLUDED__
23 |
24 | #if defined __GNUC__
25 | #define likely(x) __builtin_expect ((x), 1)
26 | #define unlikely(x) __builtin_expect ((x), 0)
27 | #else
28 | #define likely(x) (x)
29 | #define unlikely(x) (x)
30 | #endif
31 |
32 |
33 | #endif
34 |
--------------------------------------------------------------------------------
/doc/zmq_version.txt:
--------------------------------------------------------------------------------
1 | zmq_version(3)
2 | ==============
3 |
4 |
5 | NAME
6 | ----
7 | zmq_version - report 0MQ library version
8 |
9 |
10 | SYNOPSIS
11 | --------
12 | *void zmq_version (int '*major', int '*minor', int '*patch');*
13 |
14 |
15 | DESCRIPTION
16 | -----------
17 | The _zmq_version()_ function shall fill in the integer variables pointed to by
18 | the 'major', 'minor' and 'patch' arguments with the major, minor and patch level
19 | components of the 0MQ library version.
20 |
21 | This functionality is intended for applications or language bindings
22 | dynamically linking to the 0MQ library that wish to determine the actual
23 | version of the 0MQ library they are using.
24 |
25 |
26 | RETURN VALUE
27 | ------------
28 | There is no return value.
29 |
30 |
31 | ERRORS
32 | ------
33 | No errors are defined.
34 |
35 |
36 | EXAMPLE
37 | -------
38 | .Printing out the version of the 0MQ library
39 | ----
40 | int major, minor, patch;
41 | zmq_version (&major, &minor, &patch);
42 | printf ("Current 0MQ version is %d.%d.%d\n", major, minor, patch);
43 | ----
44 |
45 |
46 | SEE ALSO
47 | --------
48 | linkzmq:zmq[7]
49 |
50 |
51 | AUTHORS
52 | -------
53 | This manual page was written by the 0MQ community.
54 |
--------------------------------------------------------------------------------
/doc/zmq_init.txt:
--------------------------------------------------------------------------------
1 | zmq_init(3)
2 | ===========
3 |
4 |
5 | NAME
6 | ----
7 | zmq_init - initialise 0MQ context
8 |
9 |
10 | SYNOPSIS
11 | --------
12 | *void *zmq_init (int 'io_threads');*
13 |
14 |
15 | DESCRIPTION
16 | -----------
17 | The _zmq_init()_ function initialises a 0MQ 'context'.
18 |
19 | The 'io_threads' argument specifies the size of the 0MQ thread pool to handle
20 | I/O operations. If your application is using only the 'inproc' transport for
21 | messaging you may set this to zero, otherwise set it to at least one.
22 |
23 | .Thread safety
24 | A 0MQ 'context' is thread safe and may be shared among as many application
25 | threads as necessary, without any additional locking required on the part of
26 | the caller.
27 |
28 |
29 | RETURN VALUE
30 | ------------
31 | The _zmq_init()_ function shall return an opaque handle to the initialised
32 | 'context' if successful. Otherwise it shall return NULL and set 'errno' to one
33 | of the values defined below.
34 |
35 |
36 | ERRORS
37 | ------
38 | *EINVAL*::
39 | An invalid number of 'io_threads' was requested.
40 |
41 |
42 | SEE ALSO
43 | --------
44 | linkzmq:zmq[7]
45 | linkzmq:zmq_term[3]
46 |
47 |
48 | AUTHORS
49 | -------
50 | This manual page was written by the 0MQ community.
51 |
--------------------------------------------------------------------------------
/doc/zmq_strerror.txt:
--------------------------------------------------------------------------------
1 | zmq_strerror(3)
2 | ===============
3 |
4 |
5 | NAME
6 | ----
7 | zmq_strerror - get 0MQ error message string
8 |
9 |
10 | SYNOPSIS
11 | --------
12 | *const char *zmq_strerror (int 'errnum');*
13 |
14 |
15 | DESCRIPTION
16 | -----------
17 | The _zmq_strerror()_ function shall return a pointer to an error message string
18 | corresponding to the error number specified by the 'errnum' argument. As 0MQ
19 | defines additional error numbers over and above those defined by the operating
20 | system, applications should use _zmq_strerror()_ in preference to the standard
21 | _strerror()_ function.
22 |
23 |
24 | RETURN VALUE
25 | ------------
26 | The _zmq_strerror()_ function shall return a pointer to an error message
27 | string.
28 |
29 |
30 | ERRORS
31 | ------
32 | No errors are defined.
33 |
34 |
35 | EXAMPLE
36 | -------
37 | .Displaying an error message when a 0MQ context cannot be initialised
38 | ----
39 | void *ctx = zmq_init (1, 1, 0);
40 | if (!ctx) {
41 | printf ("Error occurred during zmq_init(): %s\n", zmq_strerror (errno));
42 | abort ();
43 | }
44 | ----
45 |
46 |
47 | SEE ALSO
48 | --------
49 | linkzmq:zmq[7]
50 |
51 |
52 | AUTHORS
53 | -------
54 | This manual page was written by the 0MQ community.
55 |
--------------------------------------------------------------------------------
/doc/zmq_errno.txt:
--------------------------------------------------------------------------------
1 | zmq_errno(3)
2 | ============
3 |
4 |
5 | NAME
6 | ----
7 | zmq_errno - retrieve value of errno for the calling thread
8 |
9 |
10 | SYNOPSIS
11 | --------
12 | *int zmq_errno (void);*
13 |
14 |
15 | DESCRIPTION
16 | -----------
17 | The _zmq_errno()_ function shall retrieve the value of the 'errno' variable for
18 | the calling thread.
19 |
20 | The _zmq_errno()_ function is provided to assist users on non-POSIX systems who
21 | are experiencing issues with retrieving the correct value of 'errno' directly.
22 | Specifically, users on Win32 systems whose application is using a different C
23 | run-time library from the C run-time library in use by 0MQ will need to use
24 | _zmq_errno()_ for correct operation.
25 |
26 | IMPORTANT: Users not experiencing issues with retrieving the correct value of
27 | 'errno' should not use this function and should instead access the 'errno'
28 | variable directly.
29 |
30 |
31 | RETURN VALUE
32 | ------------
33 | The _zmq_errno()_ function shall return the value of the 'errno' variable for
34 | the calling thread.
35 |
36 |
37 | ERRORS
38 | ------
39 | No errors are defined.
40 |
41 |
42 | SEE ALSO
43 | --------
44 | linkzmq:zmq[7]
45 |
46 |
47 | AUTHORS
48 | -------
49 | This manual page was written by the 0MQ community.
50 |
--------------------------------------------------------------------------------
/src/blob.hpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2007-2011 iMatix Corporation
3 | Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
4 |
5 | This file is part of 0MQ.
6 |
7 | 0MQ is free software; you can redistribute it and/or modify it under
8 | the terms of the GNU Lesser General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | 0MQ is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU Lesser General Public License for more details.
16 |
17 | You should have received a copy of the GNU Lesser General Public License
18 | along with this program. If not, see .
19 | */
20 |
21 | #ifndef __ZMQ_BLOB_HPP_INCLUDED__
22 | #define __ZMQ_BLOB_HPP_INCLUDED__
23 |
24 | #include
25 |
26 | #if (defined(__GNUC__) && (__GNUC__ == 3))
27 | #include "gcc_421_char_traits.hpp"
28 | #endif
29 |
30 | namespace zmq
31 | {
32 |
33 | // Object to hold dynamically allocated opaque binary data.
34 | typedef std::basic_string blob_t;
35 |
36 | }
37 |
38 | #endif
39 |
--------------------------------------------------------------------------------
/README:
--------------------------------------------------------------------------------
1 | Welcome
2 | -------
3 |
4 | The 0MQ lightweight messaging kernel is a library which extends the
5 | standard socket interfaces with features traditionally provided by
6 | specialised messaging middleware products. 0MQ sockets provide an
7 | abstraction of asynchronous message queues, multiple messaging patterns,
8 | message filtering (subscriptions), seamless access to multiple transport
9 | protocols and more.
10 |
11 |
12 | Building and installation
13 | -------------------------
14 |
15 | See the INSTALL file included with the distribution.
16 |
17 |
18 | Resources
19 | ---------
20 |
21 | A reference manual is provided with the distribution. Refer to "man zmq"
22 | after you have installed 0MQ on your system, or see http://api.zeromq.org.
23 |
24 | Website: http://www.zeromq.org/
25 |
26 | Development mailing list: zeromq-dev@lists.zeromq.org
27 | Announcements mailing list: zeromq-announce@lists.zeromq.org
28 |
29 | Git repository: http://github.com/zeromq/libzmq
30 |
31 | 0MQ developers can also be found on the IRC channel #zeromq, on the
32 | Freenode network (irc.freenode.net).
33 |
34 | Copying
35 | -------
36 |
37 | Free use of this software is granted under the terms of the GNU Lesser General
38 | Public License (LGPL). For details see the files `COPYING` and `COPYING.LESSER`
39 | included with the 0MQ distribution.
40 |
--------------------------------------------------------------------------------
/src/pub.hpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2007-2011 iMatix Corporation
3 | Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
4 |
5 | This file is part of 0MQ.
6 |
7 | 0MQ is free software; you can redistribute it and/or modify it under
8 | the terms of the GNU Lesser General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | 0MQ is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU Lesser General Public License for more details.
16 |
17 | You should have received a copy of the GNU Lesser General Public License
18 | along with this program. If not, see .
19 | */
20 |
21 | #ifndef __ZMQ_PUB_HPP_INCLUDED__
22 | #define __ZMQ_PUB_HPP_INCLUDED__
23 |
24 | #include "xpub.hpp"
25 |
26 | namespace zmq
27 | {
28 |
29 | class pub_t : public xpub_t
30 | {
31 | public:
32 |
33 | pub_t (class ctx_t *parent_, uint32_t tid_);
34 | ~pub_t ();
35 |
36 | private:
37 |
38 | pub_t (const pub_t&);
39 | const pub_t &operator = (const pub_t&);
40 | };
41 |
42 | }
43 |
44 | #endif
45 |
--------------------------------------------------------------------------------
/doc/zmq_msg_move.txt:
--------------------------------------------------------------------------------
1 | zmq_msg_move(3)
2 | ===============
3 |
4 |
5 | NAME
6 | ----
7 | zmq_msg_move - move content of a message to another message
8 |
9 |
10 | SYNOPSIS
11 | --------
12 | *int zmq_msg_move (zmq_msg_t '*dest', zmq_msg_t '*src');*
13 |
14 |
15 | DESCRIPTION
16 | -----------
17 | The _zmq_msg_move()_ function shall move the content of the message object
18 | referenced by 'src' to the message object referenced by 'dest'. No actual
19 | copying of message content is performed, 'dest' is simply updated to reference
20 | the new content. 'src' becomes an empty message after calling _zmq_msg_move()_.
21 | The original content of 'dest', if any, shall be released.
22 |
23 | CAUTION: Never access 'zmq_msg_t' members directly, instead always use the
24 | _zmq_msg_ family of functions.
25 |
26 |
27 | RETURN VALUE
28 | ------------
29 | The _zmq_msg_move()_ function shall return zero if successful. Otherwise it
30 | shall return `-1` and set 'errno' to one of the values defined below.
31 |
32 |
33 | ERRORS
34 | ------
35 | *EFAULT*::
36 | Invalid message.
37 |
38 |
39 | SEE ALSO
40 | --------
41 | linkzmq:zmq_msg_copy[3]
42 | linkzmq:zmq_msg_init[3]
43 | linkzmq:zmq_msg_init_size[3]
44 | linkzmq:zmq_msg_init_data[3]
45 | linkzmq:zmq_msg_close[3]
46 | linkzmq:zmq[7]
47 |
48 |
49 | AUTHORS
50 | -------
51 | This manual page was written by the 0MQ community.
52 |
--------------------------------------------------------------------------------
/Makefile.am:
--------------------------------------------------------------------------------
1 | ACLOCAL_AMFLAGS = -I config
2 |
3 | if BUILD_PGM
4 | SUBDIRS = foreign/openpgm src doc perf tests
5 | else
6 | SUBDIRS = src doc perf tests
7 | endif
8 |
9 | DIST_SUBDIRS = foreign/openpgm src doc perf tests builds/msvc
10 |
11 | EXTRA_DIST = \
12 | autogen.sh \
13 | version.sh \
14 | MAINTAINERS \
15 | foreign/openpgm/@pgm_basename@.tar.gz \
16 | foreign/xmlParser/xmlParser.cpp \
17 | foreign/xmlParser/xmlParser.hpp
18 | MAINTAINERCLEANFILES = \
19 | $(srcdir)/aclocal.m4 \
20 | $(srcdir)/autom4te.cache \
21 | $(srcdir)/configure \
22 | `find "$(srcdir)" -type f -name Makefile.in -print`
23 |
24 | dist-hook:
25 | @if test -d "$(srcdir)/.git"; \
26 | then \
27 | echo Creating ChangeLog && \
28 | ( cd "$(top_srcdir)" && \
29 | echo '# Generated by Makefile. Do not edit.'; echo; \
30 | $(top_srcdir)/config/missing --run git log --stat ) > ChangeLog.tmp \
31 | && mv -f ChangeLog.tmp $(top_distdir)/ChangeLog \
32 | || ( rm -f ChangeLog.tmp ; \
33 | echo Failed to generate ChangeLog >&2 ); \
34 | else \
35 | echo A git clone is required to generate a ChangeLog >&2; \
36 | fi
37 | -cp $(top_srcdir)/builds/redhat/zeromq.spec $(distdir)/zeromq.spec
38 | -rm -rf $(distdir)/foreign/openpgm/build-staging
39 | distclean-local:
40 | -rm -rf $(top_srcdir)/foreign/openpgm/build-staging
41 | maintainer-clean-local:
42 | -rm -rf $(top_srcdir)/config
43 |
--------------------------------------------------------------------------------
/src/command.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2007-2011 iMatix Corporation
3 | Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
4 |
5 | This file is part of 0MQ.
6 |
7 | 0MQ is free software; you can redistribute it and/or modify it under
8 | the terms of the GNU Lesser General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | 0MQ is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU Lesser General Public License for more details.
16 |
17 | You should have received a copy of the GNU Lesser General Public License
18 | along with this program. If not, see .
19 | */
20 |
21 | #include
22 |
23 | #include "command.hpp"
24 |
25 | void zmq::deallocate_command (command_t *cmd_)
26 | {
27 | switch (cmd_->type) {
28 | case command_t::attach:
29 | if (cmd_->args.attach.peer_identity)
30 | free (cmd_->args.attach.peer_identity);
31 | break;
32 | case command_t::bind:
33 | if (cmd_->args.bind.peer_identity)
34 | free (cmd_->args.bind.peer_identity);
35 | break;
36 | default:
37 | /* noop */;
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/src/fd.hpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2007-2011 iMatix Corporation
3 | Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
4 |
5 | This file is part of 0MQ.
6 |
7 | 0MQ is free software; you can redistribute it and/or modify it under
8 | the terms of the GNU Lesser General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | 0MQ is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU Lesser General Public License for more details.
16 |
17 | You should have received a copy of the GNU Lesser General Public License
18 | along with this program. If not, see .
19 | */
20 |
21 | #ifndef __ZMQ_FD_HPP_INCLUDED__
22 | #define __ZMQ_FD_HPP_INCLUDED__
23 |
24 | #include "platform.hpp"
25 |
26 | #ifdef ZMQ_HAVE_WINDOWS
27 | #include "windows.hpp"
28 | #endif
29 |
30 | namespace zmq
31 | {
32 | #ifdef ZMQ_HAVE_WINDOWS
33 | #if defined _MSC_VER &&_MSC_VER <= 1400
34 | typedef UINT_PTR fd_t;
35 | enum {retired_fd = (fd_t)(~0)};
36 | #else
37 | typedef SOCKET fd_t;
38 | enum {retired_fd = INVALID_SOCKET};
39 | #endif
40 | #else
41 | typedef int fd_t;
42 | enum {retired_fd = -1};
43 | #endif
44 | }
45 | #endif
46 |
--------------------------------------------------------------------------------
/doc/zmq_close.txt:
--------------------------------------------------------------------------------
1 | zmq_close(3)
2 | ============
3 |
4 |
5 | NAME
6 | ----
7 | zmq_close - close 0MQ socket
8 |
9 |
10 | SYNOPSIS
11 | --------
12 | *int zmq_close (void '*socket');*
13 |
14 |
15 | DESCRIPTION
16 | -----------
17 | The _zmq_close()_ function shall destroy the socket referenced by the 'socket'
18 | argument. Any outstanding messages physically received from the network but not
19 | yet received by the application with _zmq_recv()_ shall be discarded. The
20 | behaviour for discarding messages sent by the application with _zmq_send()_ but
21 | not yet physically transferred to the network depends on the value of the
22 | _ZMQ_LINGER_ socket option for the specified 'socket'.
23 |
24 | NOTE: The default setting of _ZMQ_LINGER_ does not discard unsent messages;
25 | this behaviour may cause the application to block when calling _zmq_term()_.
26 | For details refer to linkzmq:zmq_setsockopt[3] and linkzmq:zmq_term[3].
27 |
28 |
29 | RETURN VALUE
30 | ------------
31 | The _zmq_close()_ function shall return zero if successful. Otherwise it shall
32 | return `-1` and set 'errno' to one of the values defined below.
33 |
34 |
35 | ERRORS
36 | ------
37 | *ENOTSOCK*::
38 | The provided 'socket' was invalid.
39 |
40 |
41 | SEE ALSO
42 | --------
43 | linkzmq:zmq_socket[3]
44 | linkzmq:zmq_term[3]
45 | linkzmq:zmq_setsockopt[3]
46 | linkzmq:zmq[7]
47 |
48 |
49 | AUTHORS
50 | -------
51 | This manual page was written by the 0MQ community.
52 |
--------------------------------------------------------------------------------
/doc/Makefile.am:
--------------------------------------------------------------------------------
1 | MAN1 =
2 | MAN3 = zmq_bind.3 zmq_close.3 zmq_connect.3 zmq_device.3 zmq_init.3 \
3 | zmq_msg_close.3 zmq_msg_copy.3 zmq_msg_data.3 zmq_msg_init.3 \
4 | zmq_msg_init_data.3 zmq_msg_init_size.3 zmq_msg_move.3 zmq_msg_size.3 \
5 | zmq_poll.3 zmq_recv.3 zmq_send.3 zmq_setsockopt.3 zmq_socket.3 \
6 | zmq_strerror.3 zmq_term.3 zmq_version.3 zmq_getsockopt.3 zmq_errno.3
7 | MAN7 = zmq.7 zmq_tcp.7 zmq_pgm.7 zmq_epgm.7 zmq_inproc.7 zmq_ipc.7 \
8 | zmq_cpp.7
9 | MAN_DOC = $(MAN1) $(MAN3) $(MAN7)
10 |
11 | MAN_TXT = $(MAN1:%.1=%.txt)
12 | MAN_TXT += $(MAN3:%.3=%.txt)
13 | MAN_TXT += $(MAN7:%.7=%.txt)
14 | MAN_HTML = $(MAN_TXT:%.txt=%.html)
15 |
16 | if INSTALL_MAN
17 | dist_man_MANS = $(MAN_DOC)
18 | endif
19 |
20 | EXTRA_DIST = asciidoc.conf $(MAN_TXT)
21 | if BUILD_DOC
22 | EXTRA_DIST += $(MAN_HTML)
23 | endif
24 |
25 | MAINTAINERCLEANFILES = $(MAN_DOC) $(MAN_HTML)
26 |
27 | dist-hook : $(MAN_DOC) $(MAN_HTML)
28 |
29 | if BUILD_DOC
30 | SUFFIXES=.html .txt .xml .1 .3 .7
31 |
32 | .txt.html:
33 | $(AM_V_GEN)$(ASCIIDOC) -d manpage -b xhtml11 -f asciidoc.conf \
34 | -azmq_version=@PACKAGE_VERSION@ $<
35 | .txt.xml:
36 | $(AM_V_GEN)$(ASCIIDOC) -d manpage -b docbook -f asciidoc.conf \
37 | -azmq_version=@PACKAGE_VERSION@ $<
38 | .xml.1:
39 | $(AM_V_GEN)$(XMLTO) man $<
40 | .xml.3:
41 | $(AM_V_GEN)$(XMLTO) man $<
42 | .xml.7:
43 | $(AM_V_GEN)$(XMLTO) man $<
44 | zmq_epgm.7: zmq_pgm.7
45 | $(AM_V_GEN)cp zmq_pgm.7 $@
46 | endif
47 |
--------------------------------------------------------------------------------
/doc/zmq_msg_close.txt:
--------------------------------------------------------------------------------
1 | zmq_msg_close(3)
2 | ================
3 |
4 |
5 | NAME
6 | ----
7 | zmq_msg_close - release 0MQ message
8 |
9 |
10 | SYNOPSIS
11 | --------
12 | *int zmq_msg_close (zmq_msg_t '*msg');*
13 |
14 |
15 | DESCRIPTION
16 | -----------
17 | The _zmq_msg_close()_ function shall inform the 0MQ infrastructure that any
18 | resources associated with the message object referenced by 'msg' are no longer
19 | required and may be released. Actual release of resources associated with the
20 | message object shall be postponed by 0MQ until all users of the message or
21 | underlying data buffer have indicated it is no longer required.
22 |
23 | Applications should ensure that _zmq_msg_close()_ is called once a message is
24 | no longer required, otherwise memory leaks may occur.
25 |
26 | CAUTION: Never access 'zmq_msg_t' members directly, instead always use the
27 | _zmq_msg_ family of functions.
28 |
29 |
30 | RETURN VALUE
31 | ------------
32 | The _zmq_msg_close()_ function shall return zero if successful. Otherwise
33 | it shall return `-1` and set 'errno' to one of the values defined below.
34 |
35 |
36 | ERRORS
37 | ------
38 | *EFAULT*::
39 | Invalid message.
40 |
41 |
42 | SEE ALSO
43 | --------
44 | linkzmq:zmq_msg_init[3]
45 | linkzmq:zmq_msg_init_size[3]
46 | linkzmq:zmq_msg_init_data[3]
47 | linkzmq:zmq_msg_data[3]
48 | linkzmq:zmq_msg_size[3]
49 | linkzmq:zmq[7]
50 |
51 |
52 | AUTHORS
53 | -------
54 | This manual page was written by the 0MQ community.
55 |
--------------------------------------------------------------------------------
/src/transient_session.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2007-2011 iMatix Corporation
3 | Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
4 |
5 | This file is part of 0MQ.
6 |
7 | 0MQ is free software; you can redistribute it and/or modify it under
8 | the terms of the GNU Lesser General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | 0MQ is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU Lesser General Public License for more details.
16 |
17 | You should have received a copy of the GNU Lesser General Public License
18 | along with this program. If not, see .
19 | */
20 |
21 | #include "transient_session.hpp"
22 |
23 | zmq::transient_session_t::transient_session_t (class io_thread_t *io_thread_,
24 | class socket_base_t *socket_, const options_t &options_) :
25 | session_t (io_thread_, socket_, options_)
26 | {
27 | }
28 |
29 | zmq::transient_session_t::~transient_session_t ()
30 | {
31 | }
32 |
33 | void zmq::transient_session_t::attached (const blob_t &peer_identity_)
34 | {
35 | }
36 |
37 | void zmq::transient_session_t::detached ()
38 | {
39 | // There's no way to reestablish a transient session. Tear it down.
40 | terminate ();
41 | }
42 |
--------------------------------------------------------------------------------
/MAINTAINERS:
--------------------------------------------------------------------------------
1 | Component: Atomic Operations
2 | Maintainer: Martin Sustrik
3 | Contact: sustrik@250bpm.com
4 |
5 | Component: Lock-free Algorithms
6 | Maintainer: Martin Sustrik
7 | Contact: sustrik@250bpm.com
8 |
9 | Component: TCP transport
10 | Maintainer: Martin Sustrik
11 | Contact: sustrik@250bpm.com
12 |
13 | Component: IPC transport
14 | Maintainer: Martin Sustrik
15 | Contact: sustrik@250bpm.com
16 |
17 | Component: PGM transport
18 | Maintainer: Martin Sustrik
19 | Contact: sustrik@250bpm.com
20 |
21 | Component: In-process transport
22 | Maintainer: Martin Sustrik
23 | Contact: sustrik@250bpm.com
24 |
25 | Component: I/O Threads
26 | Maintainer: Martin Sustrik
27 | Contact: sustrik@250bpm.com
28 |
29 | Component: Application Threads and Differnet Socket Types
30 | Maintainer: Martin Sustrik
31 | Contact: sustrik@250bpm.com
32 |
33 | Component: Multiplexing (zmq_poll)
34 | Maintainer: Martin Sustrik
35 | Contact: sustrik@250bpm.com
36 |
37 | Component: Generic Infrastructure (context, mailbox, command, pipe)
38 | Maintainer: Martin Sustrik
39 | Contact: sustrik@250bpm.com
40 |
41 | Component: Documentation
42 | Maintainer: Martin Sustrik
43 | Contact: sustrik@250bpm.com
44 |
45 | Component: Autotools build system
46 | Maintainer: Mikko Koppanen
47 | Contact: mikko.koppanen@gmail.com
48 |
49 | Component: MSVC build system
50 | Maintainer: Martin Sustrik
51 | Contact: sustrik@250bpm.com
52 |
53 | Component: Performance tests
54 | Maintainer: Martin Sustrik
55 | Contact: sustrik@250bpm.com
56 |
57 |
--------------------------------------------------------------------------------
/doc/asciidoc.conf:
--------------------------------------------------------------------------------
1 | [paradef-default]
2 | literal-style=template="literalparagraph"
3 |
4 | [macros]
5 | (?su)[\\]?(?Plinkzmq):(?P\S*?)\[(?P.*?)\]=
6 |
7 | ifdef::backend-docbook[]
8 | [linkzmq-inlinemacro]
9 | {0%{target}}
10 | {0#}
11 | {0#{target}{0}}
12 | {0#}
13 | endif::backend-docbook[]
14 |
15 | ifdef::backend-xhtml11[]
16 | [linkzmq-inlinemacro]
17 | {target}{0?({0})}
18 | endif::backend-xhtml11[]
19 |
20 | ifdef::doctype-manpage[]
21 | ifdef::backend-docbook[]
22 | [header]
23 | template::[header-declarations]
24 |
25 |
26 | {mantitle}
27 | {manvolnum}
28 | 0MQ
29 | {zmq_version}
30 | 0MQ Manual
31 |
32 |
33 | {manname}
34 | {manpurpose}
35 |
36 | endif::backend-docbook[]
37 | endif::doctype-manpage[]
38 |
39 | ifdef::backend-xhtml11[]
40 | [footer]
41 |
42 | {disable-javascript%}
43 |
49 |