mirror of
https://github.com/zeromq/libzmq.git
synced 2025-01-14 17:58:01 +08:00
Merge branch 'master' of github.com:zeromq/libzmq
This commit is contained in:
commit
05ce301f35
3
AUTHORS
3
AUTHORS
@ -5,6 +5,7 @@ Alexej Lotz <alexej.lotz@arcor.de>
|
|||||||
Andrew Thompson <andy@fud.org.nz>
|
Andrew Thompson <andy@fud.org.nz>
|
||||||
Asko Kauppi <askok@dnainternet.net>
|
Asko Kauppi <askok@dnainternet.net>
|
||||||
Barak Amar <barak.amar@gmail.com>
|
Barak Amar <barak.amar@gmail.com>
|
||||||
|
Ben Gray <ben@benjamg.com>
|
||||||
Bernd Prager <bernd@prager.ws>
|
Bernd Prager <bernd@prager.ws>
|
||||||
Bernd Melchers <melchers@ZEDAT.FU-Berlin.DE>
|
Bernd Melchers <melchers@ZEDAT.FU-Berlin.DE>
|
||||||
Bob Beaty <rbeaty@peak6.com>
|
Bob Beaty <rbeaty@peak6.com>
|
||||||
@ -50,9 +51,11 @@ Mikko Koppanen <mkoppanen@php.net>
|
|||||||
Min Ragan-Kelley <benjaminrk@gmail.com>
|
Min Ragan-Kelley <benjaminrk@gmail.com>
|
||||||
Neale Ferguson <neale@sinenomine.net>
|
Neale Ferguson <neale@sinenomine.net>
|
||||||
Nir Soffer <nirsof@gmail.com>
|
Nir Soffer <nirsof@gmail.com>
|
||||||
|
Paul Betts <paul@paulbetts.org>
|
||||||
Paul Colomiets <pc@gafol.net>
|
Paul Colomiets <pc@gafol.net>
|
||||||
Pavel Gushcha <pavimus@gmail.com>
|
Pavel Gushcha <pavimus@gmail.com>
|
||||||
Pavol Malosek <malosek@fastmq.com>
|
Pavol Malosek <malosek@fastmq.com>
|
||||||
|
Perry Kundert <perry@kundert.ca>
|
||||||
Peter Bourgon <peter.bourgon@gmail.com>
|
Peter Bourgon <peter.bourgon@gmail.com>
|
||||||
Pieter Hintjens <ph@imatix.com>
|
Pieter Hintjens <ph@imatix.com>
|
||||||
Piotr Trojanek <piotr.trojanek@gmail.com>
|
Piotr Trojanek <piotr.trojanek@gmail.com>
|
||||||
|
@ -166,16 +166,16 @@ Library.
|
|||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
SPECIAL EXCEPTION GRANTED BY IMATIX
|
SPECIAL EXCEPTION GRANTED BY COPYRIGHT HOLDERS
|
||||||
|
|
||||||
As a special exception, iMatix gives you permission to link this library with
|
As a special exception, copyright holders give you permission to link this
|
||||||
independent modules to produce an executable, regardless of the license terms
|
library with independent modules to produce an executable, regardless of
|
||||||
of these independent modules, and to copy and distribute the resulting
|
the license terms of these independent modules, and to copy and distribute
|
||||||
executable under terms of your choice, provided that you also meet, for each
|
the resulting executable under terms of your choice, provided that you also
|
||||||
linked independent module, the terms and conditions of the license of that
|
meet, for each linked independent module, the terms and conditions of
|
||||||
module. An independent module is a module which is not derived from or based on
|
the license of that module. An independent module is a module which is not
|
||||||
this library. If you modify this library, you must extend this exception to your
|
derived from or based on this library. If you modify this library, you must
|
||||||
version of the library.
|
extend this exception to your version of the library.
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# Copyright (c) 2007-2011 iMatix Corporation
|
# Copyright (c) 2007-2009 iMatix Corporation
|
||||||
# Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
# Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
#
|
#
|
||||||
# This file is part of 0MQ.
|
# This file is part of 0MQ.
|
||||||
|
13
configure.in
13
configure.in
@ -348,19 +348,6 @@ fi
|
|||||||
|
|
||||||
AC_SUBST(pgm_basename)
|
AC_SUBST(pgm_basename)
|
||||||
|
|
||||||
# VTCP extension
|
|
||||||
libzmq_vtcp="no"
|
|
||||||
|
|
||||||
AC_ARG_WITH([vtcp], [AS_HELP_STRING([--with-vtcp],
|
|
||||||
[build libzmq with VTCP extension [default=no]])],
|
|
||||||
[with_vtcp=$withval], [with_vtcp=no])
|
|
||||||
|
|
||||||
if test "x$with_vtcp" != "xno"; then
|
|
||||||
AC_DEFINE(ZMQ_HAVE_VTCP, 1, [Have VTCP extension])
|
|
||||||
AC_CHECK_LIB(vtcp, vtcp_bind, ,
|
|
||||||
[AC_MSG_ERROR([cannot link with -lvtcp, install libvtcp.])])
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set -Wall, -Werror and -pedantic
|
# Set -Wall, -Werror and -pedantic
|
||||||
AC_LANG_PUSH([C++])
|
AC_LANG_PUSH([C++])
|
||||||
|
|
||||||
|
@ -39,19 +39,6 @@ Default value:: N/A
|
|||||||
Applicable socket types:: all
|
Applicable socket types:: all
|
||||||
|
|
||||||
|
|
||||||
ZMQ_RCVLABEL: Inquires whether last message received was a label
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
The 'ZMQ_RCVLABEL' option shall return True (1) if the message part last
|
|
||||||
received from the 'socket' was an address label. Otherwise, this option
|
|
||||||
shall return False (0).
|
|
||||||
|
|
||||||
[horizontal]
|
|
||||||
Option value type:: int
|
|
||||||
Option value unit:: boolean
|
|
||||||
Default value:: N/A
|
|
||||||
Applicable socket types:: all
|
|
||||||
|
|
||||||
|
|
||||||
ZMQ_RCVMORE: More message data parts to follow
|
ZMQ_RCVMORE: More message data parts to follow
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
The 'ZMQ_RCVMORE' option shall return True (1) if the message part last
|
The 'ZMQ_RCVMORE' option shall return True (1) if the message part last
|
||||||
@ -130,6 +117,22 @@ Option value unit:: N/A (bitmap)
|
|||||||
Default value:: 0
|
Default value:: 0
|
||||||
Applicable socket types:: N/A
|
Applicable socket types:: N/A
|
||||||
|
|
||||||
|
ZMQ_IDENTITY: Set socket identity
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
The 'ZMQ_IDENTITY' option shall retrieve the identity of the specified 'socket'.
|
||||||
|
Socket identity is used only by request/reply pattern. Namely, it can be used
|
||||||
|
in tandem with ROUTER socket to route messages to the peer with specific
|
||||||
|
identity.
|
||||||
|
|
||||||
|
Identity should be at least one byte and at most 255 bytes long. Identities
|
||||||
|
starting with binary zero are reserved for use by 0MQ infrastructure.
|
||||||
|
|
||||||
|
[horizontal]
|
||||||
|
Option value type:: binary data
|
||||||
|
Option value unit:: N/A
|
||||||
|
Default value:: NULL
|
||||||
|
Applicable socket types:: all
|
||||||
|
|
||||||
|
|
||||||
ZMQ_RATE: Retrieve multicast data rate
|
ZMQ_RATE: Retrieve multicast data rate
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
@ -29,8 +29,7 @@ function shall fail with 'errno' set to EAGAIN.
|
|||||||
|
|
||||||
Multi-part messages
|
Multi-part messages
|
||||||
~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~
|
||||||
A 0MQ message is composed of 1 or more message parts, starting with zero or
|
A 0MQ message is composed of 1 or more message parts. Each message
|
||||||
more address 'label' parts, followed by 1 or more 'data' parts. Each message
|
|
||||||
part is an independent 'zmq_msg_t' in its own right. 0MQ ensures atomic
|
part is an independent 'zmq_msg_t' in its own right. 0MQ ensures atomic
|
||||||
delivery of messages; peers shall receive either all _message parts_ of a
|
delivery of messages; peers shall receive either all _message parts_ of a
|
||||||
message or none at all. The total number of message parts is unlimited except
|
message or none at all. The total number of message parts is unlimited except
|
||||||
@ -38,9 +37,7 @@ by available memory.
|
|||||||
|
|
||||||
An application that processes multipart messages must use the _ZMQ_RCVMORE_
|
An application that processes multipart messages must use the _ZMQ_RCVMORE_
|
||||||
linkzmq:zmq_getsockopt[3] option after calling _zmq_recv()_ to determine if
|
linkzmq:zmq_getsockopt[3] option after calling _zmq_recv()_ to determine if
|
||||||
there are further parts to receive. An application that manipulates address
|
there are further parts to receive.
|
||||||
labels must use _ZMQ_RCVLABEL_ to determine the zero or more label parts
|
|
||||||
that precede the data part(s).
|
|
||||||
|
|
||||||
RETURN VALUE
|
RETURN VALUE
|
||||||
------------
|
------------
|
||||||
|
@ -29,8 +29,7 @@ function shall fail with 'errno' set to EAGAIN.
|
|||||||
|
|
||||||
Multi-part messages
|
Multi-part messages
|
||||||
~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~
|
||||||
A 0MQ message is composed of 1 or more message parts, starting with zero or
|
A 0MQ message is composed of 1 or more message parts. Each message
|
||||||
more address 'label' parts, followed by 1 or more 'data' parts. Each message
|
|
||||||
part is an independent 'zmq_msg_t' in its own right. 0MQ ensures atomic
|
part is an independent 'zmq_msg_t' in its own right. 0MQ ensures atomic
|
||||||
delivery of messages; peers shall receive either all _message parts_ of a
|
delivery of messages; peers shall receive either all _message parts_ of a
|
||||||
message or none at all. The total number of message parts is unlimited except
|
message or none at all. The total number of message parts is unlimited except
|
||||||
@ -38,9 +37,7 @@ by available memory.
|
|||||||
|
|
||||||
An application that processes multipart messages must use the _ZMQ_RCVMORE_
|
An application that processes multipart messages must use the _ZMQ_RCVMORE_
|
||||||
linkzmq:zmq_getsockopt[3] option after calling _zmq_recvmsg()_ to determine if
|
linkzmq:zmq_getsockopt[3] option after calling _zmq_recvmsg()_ to determine if
|
||||||
there are further parts to receive. An application that manipulates address
|
there are further parts to receive.
|
||||||
labels must use _ZMQ_RCVLABEL_ to determine the zero or more label parts
|
|
||||||
that precede the data part(s).
|
|
||||||
|
|
||||||
|
|
||||||
RETURN VALUE
|
RETURN VALUE
|
||||||
|
@ -23,11 +23,6 @@ Specifies that the operation should be performed in non-blocking mode. If the
|
|||||||
message cannot be queued on the 'socket', the _zmq_send()_ function shall
|
message cannot be queued on the 'socket', the _zmq_send()_ function shall
|
||||||
fail with 'errno' set to EAGAIN.
|
fail with 'errno' set to EAGAIN.
|
||||||
|
|
||||||
*ZMQ_SNDLABEL*::
|
|
||||||
Specifies that the message part being sent is an address label, and that
|
|
||||||
further message parts are to follow. Refer to linkzmq:zmq_socket[3] for the
|
|
||||||
semantics of address labels in each socket pattern.
|
|
||||||
|
|
||||||
*ZMQ_SNDMORE*::
|
*ZMQ_SNDMORE*::
|
||||||
Specifies that the message being sent is a multi-part message, and that further
|
Specifies that the message being sent is a multi-part message, and that further
|
||||||
message parts are to follow. Refer to the section regarding multi-part messages
|
message parts are to follow. Refer to the section regarding multi-part messages
|
||||||
@ -40,16 +35,14 @@ the 'socket' and 0MQ has assumed responsibility for the message.
|
|||||||
|
|
||||||
Multi-part messages
|
Multi-part messages
|
||||||
~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~
|
||||||
A 0MQ message is composed of 1 or more message parts, starting with zero or
|
A 0MQ message is composed of 1 or more message parts. Each message
|
||||||
more address 'label' parts, followed by 1 or more 'data' parts. Each message
|
|
||||||
part is an independent 'zmq_msg_t' in its own right. 0MQ ensures atomic
|
part is an independent 'zmq_msg_t' in its own right. 0MQ ensures atomic
|
||||||
delivery of messages; peers shall receive either all _message parts_ of a
|
delivery of messages; peers shall receive either all _message parts_ of a
|
||||||
message or none at all. The total number of message parts is unlimited except
|
message or none at all. The total number of message parts is unlimited except
|
||||||
by available memory.
|
by available memory.
|
||||||
|
|
||||||
An application that sends multipart messages must use the _ZMQ_SNDMORE_ flag
|
An application that sends multipart messages must use the _ZMQ_SNDMORE_ flag
|
||||||
when sending each data part except the final one. An application that sends
|
when sending each data part except the final one.
|
||||||
address labels must use _ZMQ_SNDLABEL_ when sending each label.
|
|
||||||
|
|
||||||
|
|
||||||
RETURN VALUE
|
RETURN VALUE
|
||||||
|
@ -23,11 +23,6 @@ Specifies that the operation should be performed in non-blocking mode. If the
|
|||||||
message cannot be queued on the 'socket', the _zmq_sendmsg()_ function shall
|
message cannot be queued on the 'socket', the _zmq_sendmsg()_ function shall
|
||||||
fail with 'errno' set to EAGAIN.
|
fail with 'errno' set to EAGAIN.
|
||||||
|
|
||||||
*ZMQ_SNDLABEL*::
|
|
||||||
Specifies that the message part being sent is an address 'label', and that
|
|
||||||
further message parts are to follow. Refer to linkzmq:zmq_socket[3] for the
|
|
||||||
semantics of address labels in each socket pattern.
|
|
||||||
|
|
||||||
*ZMQ_SNDMORE*::
|
*ZMQ_SNDMORE*::
|
||||||
Specifies that the message being sent is a multi-part message, and that further
|
Specifies that the message being sent is a multi-part message, and that further
|
||||||
message parts are to follow. Refer to the section regarding multi-part messages
|
message parts are to follow. Refer to the section regarding multi-part messages
|
||||||
@ -44,16 +39,14 @@ the 'socket' and 0MQ has assumed responsibility for the message.
|
|||||||
|
|
||||||
Multi-part messages
|
Multi-part messages
|
||||||
~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~
|
||||||
A 0MQ message is composed of 1 or more message parts, starting with zero or
|
A 0MQ message is composed of 1 or more message parts. Each message
|
||||||
more address 'label' parts, followed by 1 or more 'data' parts. Each message
|
|
||||||
part is an independent 'zmq_msg_t' in its own right. 0MQ ensures atomic
|
part is an independent 'zmq_msg_t' in its own right. 0MQ ensures atomic
|
||||||
delivery of messages; peers shall receive either all _message parts_ of a
|
delivery of messages; peers shall receive either all _message parts_ of a
|
||||||
message or none at all. The total number of message parts is unlimited except
|
message or none at all. The total number of message parts is unlimited except
|
||||||
by available memory.
|
by available memory.
|
||||||
|
|
||||||
An application that sends multipart messages must use the _ZMQ_SNDMORE_ flag
|
An application that sends multipart messages must use the _ZMQ_SNDMORE_ flag
|
||||||
when sending each data part except the final one. An application that sends
|
when sending each data part except the final one.
|
||||||
address labels must use _ZMQ_SNDLABEL_ when sending each label.
|
|
||||||
|
|
||||||
RETURN VALUE
|
RETURN VALUE
|
||||||
------------
|
------------
|
||||||
|
@ -122,6 +122,23 @@ Default value:: N/A
|
|||||||
Applicable socket types:: ZMQ_SUB
|
Applicable socket types:: ZMQ_SUB
|
||||||
|
|
||||||
|
|
||||||
|
ZMQ_IDENTITY: Set socket identity
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
The 'ZMQ_IDENTITY' option shall set the identity of the specified 'socket'.
|
||||||
|
Socket identity is used only by request/reply pattern. Namely, it can be used
|
||||||
|
in tandem with ROUTER socket to route messages to the peer with specific
|
||||||
|
identity.
|
||||||
|
|
||||||
|
Identity should be at least one byte and at most 255 bytes long. Identities
|
||||||
|
starting with binary zero are reserved for use by 0MQ infrastructure.
|
||||||
|
|
||||||
|
[horizontal]
|
||||||
|
Option value type:: binary data
|
||||||
|
Option value unit:: N/A
|
||||||
|
Default value:: NULL
|
||||||
|
Applicable socket types:: all
|
||||||
|
|
||||||
|
|
||||||
ZMQ_RATE: Set multicast data rate
|
ZMQ_RATE: Set multicast data rate
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
The 'ZMQ_RATE' option shall set the maximum send or receive data rate for
|
The 'ZMQ_RATE' option shall set the maximum send or receive data rate for
|
||||||
|
@ -81,11 +81,6 @@ any linkzmq:zmq_send[3] operations on the socket shall block until the
|
|||||||
exceptional state ends or at least one _service_ becomes available for sending;
|
exceptional state ends or at least one _service_ becomes available for sending;
|
||||||
messages are not discarded.
|
messages are not discarded.
|
||||||
|
|
||||||
'ZMQ_REQ' socket adds a unique 'request ID' label to every outbound message.
|
|
||||||
When receiving a reply, it checks whether the 'request ID' of the reply matches
|
|
||||||
the last 'request ID' sent. If it does not, the message is silently dropped and
|
|
||||||
waiting for the reply is resumed.
|
|
||||||
|
|
||||||
[horizontal]
|
[horizontal]
|
||||||
.Summary of ZMQ_REQ characteristics
|
.Summary of ZMQ_REQ characteristics
|
||||||
Compatible peer sockets:: 'ZMQ_REP'
|
Compatible peer sockets:: 'ZMQ_REP'
|
||||||
@ -108,10 +103,6 @@ When a 'ZMQ_REP' socket enters an exceptional state due to having reached the
|
|||||||
high water mark for a _client_, then any replies sent to the _client_ in
|
high water mark for a _client_, then any replies sent to the _client_ in
|
||||||
question shall be dropped until the exceptional state ends.
|
question shall be dropped until the exceptional state ends.
|
||||||
|
|
||||||
'ZMQ_REP' socket strips all the labels from the incoming message, stores them
|
|
||||||
and passes the remaining data parts to the user. When user sends the reply,
|
|
||||||
the stored labels are re-attached to the reply.
|
|
||||||
|
|
||||||
[horizontal]
|
[horizontal]
|
||||||
.Summary of ZMQ_REP characteristics
|
.Summary of ZMQ_REP characteristics
|
||||||
Compatible peer sockets:: 'ZMQ_REQ'
|
Compatible peer sockets:: 'ZMQ_REQ'
|
||||||
@ -136,8 +127,6 @@ linkzmq:zmq_send[3] operations on the socket shall block until the exceptional
|
|||||||
state ends or at least one peer becomes available for sending; messages are not
|
state ends or at least one peer becomes available for sending; messages are not
|
||||||
discarded.
|
discarded.
|
||||||
|
|
||||||
'ZMQ_XREQ' socket doesn't inspect or modify the message labels.
|
|
||||||
|
|
||||||
[horizontal]
|
[horizontal]
|
||||||
.Summary of ZMQ_XREQ characteristics
|
.Summary of ZMQ_XREQ characteristics
|
||||||
Compatible peer sockets:: 'ZMQ_XREP', 'ZMQ_REP'
|
Compatible peer sockets:: 'ZMQ_XREP', 'ZMQ_REP'
|
||||||
@ -162,14 +151,6 @@ messages sent to the socket shall be dropped until the exceptional state ends.
|
|||||||
Likewise, any messages to be routed to a non-existent peer or a peer for which
|
Likewise, any messages to be routed to a non-existent peer or a peer for which
|
||||||
the individual high water mark has been reached shall also be dropped.
|
the individual high water mark has been reached shall also be dropped.
|
||||||
|
|
||||||
When receiving messages a 'ZMQ_XREP' socket attaches a label uniquely
|
|
||||||
identifying the originating peer to the message before passing it to the
|
|
||||||
application.
|
|
||||||
|
|
||||||
When sending messages a 'ZMQ_XREP' socket removes the first label from the
|
|
||||||
message and uses it to determine which the peer the message shall be routed to.
|
|
||||||
If the peer does not exist anymore the message is silently discarded.
|
|
||||||
|
|
||||||
[horizontal]
|
[horizontal]
|
||||||
.Summary of ZMQ_XREP characteristics
|
.Summary of ZMQ_XREP characteristics
|
||||||
Compatible peer sockets:: 'ZMQ_XREQ', 'ZMQ_REQ'
|
Compatible peer sockets:: 'ZMQ_XREQ', 'ZMQ_REQ'
|
||||||
@ -196,8 +177,6 @@ high water mark for a _subscriber_, then any messages that would be sent to the
|
|||||||
_subscriber_ in question shall instead be dropped until the exceptional state
|
_subscriber_ in question shall instead be dropped until the exceptional state
|
||||||
ends. The _zmq_send()_ function shall never block for this socket type.
|
ends. The _zmq_send()_ function shall never block for this socket type.
|
||||||
|
|
||||||
This socket type doesn't use message labels.
|
|
||||||
|
|
||||||
[horizontal]
|
[horizontal]
|
||||||
.Summary of ZMQ_PUB characteristics
|
.Summary of ZMQ_PUB characteristics
|
||||||
Compatible peer sockets:: 'ZMQ_SUB', 'ZMQ_XSUB'
|
Compatible peer sockets:: 'ZMQ_SUB', 'ZMQ_XSUB'
|
||||||
@ -215,8 +194,6 @@ any messages, use the 'ZMQ_SUBSCRIBE' option of linkzmq:zmq_setsockopt[3] to
|
|||||||
specify which messages to subscribe to. The _zmq_send()_ function is not
|
specify which messages to subscribe to. The _zmq_send()_ function is not
|
||||||
implemented for this socket type.
|
implemented for this socket type.
|
||||||
|
|
||||||
This socket type doesn't use message labels.
|
|
||||||
|
|
||||||
[horizontal]
|
[horizontal]
|
||||||
.Summary of ZMQ_SUB characteristics
|
.Summary of ZMQ_SUB characteristics
|
||||||
Compatible peer sockets:: 'ZMQ_PUB', 'ZMQ_XPUB'
|
Compatible peer sockets:: 'ZMQ_PUB', 'ZMQ_XPUB'
|
||||||
@ -233,8 +210,6 @@ in form of incoming messages. Subscription message is a byte 1 (for
|
|||||||
subscriptions) or byte 0 (for unsubscriptions) followed by the subscription
|
subscriptions) or byte 0 (for unsubscriptions) followed by the subscription
|
||||||
body.
|
body.
|
||||||
|
|
||||||
This socket type doesn't use message labels.
|
|
||||||
|
|
||||||
[horizontal]
|
[horizontal]
|
||||||
.Summary of ZMQ_XPUB characteristics
|
.Summary of ZMQ_XPUB characteristics
|
||||||
Compatible peer sockets:: 'ZMQ_SUB', 'ZMQ_XSUB'
|
Compatible peer sockets:: 'ZMQ_SUB', 'ZMQ_XSUB'
|
||||||
@ -250,8 +225,6 @@ Same as ZMQ_SUB except that you subscribe by sending subscription messages to
|
|||||||
the socket. Subscription message is a byte 1 (for subscriptions) or byte 0
|
the socket. Subscription message is a byte 1 (for subscriptions) or byte 0
|
||||||
(for unsubscriptions) followed by the subscription body.
|
(for unsubscriptions) followed by the subscription body.
|
||||||
|
|
||||||
This socket type doesn't use message labels.
|
|
||||||
|
|
||||||
[horizontal]
|
[horizontal]
|
||||||
.Summary of ZMQ_XSUB characteristics
|
.Summary of ZMQ_XSUB characteristics
|
||||||
Compatible peer sockets:: 'ZMQ_PUB', 'ZMQ_XPUB'
|
Compatible peer sockets:: 'ZMQ_PUB', 'ZMQ_XPUB'
|
||||||
@ -282,8 +255,6 @@ _nodes_ at all, then any linkzmq:zmq_send[3] operations on the socket shall
|
|||||||
block until the exceptional state ends or at least one downstream _node_
|
block until the exceptional state ends or at least one downstream _node_
|
||||||
becomes available for sending; messages are not discarded.
|
becomes available for sending; messages are not discarded.
|
||||||
|
|
||||||
This socket type doesn't use message labels.
|
|
||||||
|
|
||||||
[horizontal]
|
[horizontal]
|
||||||
.Summary of ZMQ_PUSH characteristics
|
.Summary of ZMQ_PUSH characteristics
|
||||||
Compatible peer sockets:: 'ZMQ_PULL'
|
Compatible peer sockets:: 'ZMQ_PULL'
|
||||||
@ -301,8 +272,6 @@ from upstream pipeline _nodes_. Messages are fair-queued from among all
|
|||||||
connected upstream _nodes_. The _zmq_send()_ function is not implemented for
|
connected upstream _nodes_. The _zmq_send()_ function is not implemented for
|
||||||
this socket type.
|
this socket type.
|
||||||
|
|
||||||
This socket type doesn't use message labels.
|
|
||||||
|
|
||||||
[horizontal]
|
[horizontal]
|
||||||
.Summary of ZMQ_PULL characteristics
|
.Summary of ZMQ_PULL characteristics
|
||||||
Compatible peer sockets:: 'ZMQ_PUSH'
|
Compatible peer sockets:: 'ZMQ_PUSH'
|
||||||
@ -330,8 +299,6 @@ high water mark for the connected peer, or if no peer is connected, then
|
|||||||
any linkzmq:zmq_send[3] operations on the socket shall block until the peer
|
any linkzmq:zmq_send[3] operations on the socket shall block until the peer
|
||||||
becomes available for sending; messages are not discarded.
|
becomes available for sending; messages are not discarded.
|
||||||
|
|
||||||
This socket type doesn't use message labels.
|
|
||||||
|
|
||||||
NOTE: 'ZMQ_PAIR' sockets are experimental, and are currently missing several
|
NOTE: 'ZMQ_PAIR' sockets are experimental, and are currently missing several
|
||||||
features such as auto-reconnection.
|
features such as auto-reconnection.
|
||||||
|
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2010 iMatix Corporation
|
||||||
|
Copyright (c) 2011 VMware, Inc.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
@ -162,10 +164,13 @@ ZMQ_EXPORT int zmq_term (void *context);
|
|||||||
#define ZMQ_PUSH 8
|
#define ZMQ_PUSH 8
|
||||||
#define ZMQ_XPUB 9
|
#define ZMQ_XPUB 9
|
||||||
#define ZMQ_XSUB 10
|
#define ZMQ_XSUB 10
|
||||||
#define ZMQ_ROUTER 13
|
|
||||||
|
#define ZMQ_ROUTER ZMQ_XREP
|
||||||
|
#define ZMQ_DEALER ZMQ_XREQ
|
||||||
|
|
||||||
/* Socket options. */
|
/* Socket options. */
|
||||||
#define ZMQ_AFFINITY 4
|
#define ZMQ_AFFINITY 4
|
||||||
|
#define ZMQ_IDENTITY 5
|
||||||
#define ZMQ_SUBSCRIBE 6
|
#define ZMQ_SUBSCRIBE 6
|
||||||
#define ZMQ_UNSUBSCRIBE 7
|
#define ZMQ_UNSUBSCRIBE 7
|
||||||
#define ZMQ_RATE 8
|
#define ZMQ_RATE 8
|
||||||
@ -186,15 +191,11 @@ ZMQ_EXPORT int zmq_term (void *context);
|
|||||||
#define ZMQ_MULTICAST_HOPS 25
|
#define ZMQ_MULTICAST_HOPS 25
|
||||||
#define ZMQ_RCVTIMEO 27
|
#define ZMQ_RCVTIMEO 27
|
||||||
#define ZMQ_SNDTIMEO 28
|
#define ZMQ_SNDTIMEO 28
|
||||||
#define ZMQ_RCVLABEL 29
|
|
||||||
#define ZMQ_RCVCMD 30
|
|
||||||
#define ZMQ_IPV4ONLY 31
|
#define ZMQ_IPV4ONLY 31
|
||||||
|
|
||||||
/* Send/recv options. */
|
/* Send/recv options. */
|
||||||
#define ZMQ_DONTWAIT 1
|
#define ZMQ_DONTWAIT 1
|
||||||
#define ZMQ_SNDMORE 2
|
#define ZMQ_SNDMORE 2
|
||||||
#define ZMQ_SNDLABEL 4
|
|
||||||
#define ZMQ_SNDCMD 8
|
|
||||||
|
|
||||||
ZMQ_EXPORT void *zmq_socket (void *context, int type);
|
ZMQ_EXPORT void *zmq_socket (void *context, int type);
|
||||||
ZMQ_EXPORT int zmq_close (void *s);
|
ZMQ_EXPORT int zmq_close (void *s);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -9,6 +9,7 @@ libzmq_la_SOURCES = \
|
|||||||
array.hpp \
|
array.hpp \
|
||||||
atomic_counter.hpp \
|
atomic_counter.hpp \
|
||||||
atomic_ptr.hpp \
|
atomic_ptr.hpp \
|
||||||
|
blob.hpp \
|
||||||
clock.hpp \
|
clock.hpp \
|
||||||
command.hpp \
|
command.hpp \
|
||||||
config.hpp \
|
config.hpp \
|
||||||
@ -55,7 +56,6 @@ libzmq_la_SOURCES = \
|
|||||||
reaper.hpp \
|
reaper.hpp \
|
||||||
rep.hpp \
|
rep.hpp \
|
||||||
req.hpp \
|
req.hpp \
|
||||||
router.hpp \
|
|
||||||
select.hpp \
|
select.hpp \
|
||||||
session_base.hpp \
|
session_base.hpp \
|
||||||
signaler.hpp \
|
signaler.hpp \
|
||||||
@ -68,8 +68,6 @@ libzmq_la_SOURCES = \
|
|||||||
tcp_listener.hpp \
|
tcp_listener.hpp \
|
||||||
thread.hpp \
|
thread.hpp \
|
||||||
trie.hpp \
|
trie.hpp \
|
||||||
vtcp_connecter.hpp \
|
|
||||||
vtcp_listener.hpp \
|
|
||||||
windows.hpp \
|
windows.hpp \
|
||||||
wire.hpp \
|
wire.hpp \
|
||||||
xpub.hpp \
|
xpub.hpp \
|
||||||
@ -113,7 +111,6 @@ libzmq_la_SOURCES = \
|
|||||||
reaper.cpp \
|
reaper.cpp \
|
||||||
pub.cpp \
|
pub.cpp \
|
||||||
random.cpp \
|
random.cpp \
|
||||||
router.cpp \
|
|
||||||
rep.cpp \
|
rep.cpp \
|
||||||
req.cpp \
|
req.cpp \
|
||||||
select.cpp \
|
select.cpp \
|
||||||
@ -127,8 +124,6 @@ libzmq_la_SOURCES = \
|
|||||||
tcp_listener.cpp \
|
tcp_listener.cpp \
|
||||||
thread.cpp \
|
thread.cpp \
|
||||||
trie.cpp \
|
trie.cpp \
|
||||||
vtcp_connecter.cpp \
|
|
||||||
vtcp_listener.cpp \
|
|
||||||
xpub.cpp \
|
xpub.cpp \
|
||||||
xrep.cpp \
|
xrep.cpp \
|
||||||
xreq.cpp \
|
xreq.cpp \
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
35
src/blob.hpp
Normal file
35
src/blob.hpp
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
Copyright (c) 2010 250bpm s.r.o.
|
||||||
|
Copyright (c) 2010-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
0MQ is free software; you can redistribute it and/or modify it under
|
||||||
|
the terms of the GNU Lesser General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
0MQ is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __ZMQ_BLOB_HPP_INCLUDED__
|
||||||
|
#define __ZMQ_BLOB_HPP_INCLUDED__
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
namespace zmq
|
||||||
|
{
|
||||||
|
|
||||||
|
// Object to hold dynamically allocated opaque binary data.
|
||||||
|
typedef std::basic_string <unsigned char> blob_t;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2010-2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2010-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2010-2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2010-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2007-2011 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
20
src/dist.cpp
20
src/dist.cpp
@ -1,6 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2011 VMware, Inc.
|
||||||
|
Copyright (c) 2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
@ -111,8 +112,7 @@ int zmq::dist_t::send_to_all (msg_t *msg_, int flags_)
|
|||||||
int zmq::dist_t::send_to_matching (msg_t *msg_, int flags_)
|
int zmq::dist_t::send_to_matching (msg_t *msg_, int flags_)
|
||||||
{
|
{
|
||||||
// Is this end of a multipart message?
|
// Is this end of a multipart message?
|
||||||
bool msg_more =
|
bool msg_more = msg_->flags () & msg_t::more ? true : false;
|
||||||
msg_->flags () & (msg_t::more | msg_t::label) ? true : false;
|
|
||||||
|
|
||||||
// Push the message to matching pipes.
|
// Push the message to matching pipes.
|
||||||
distribute (msg_, flags_);
|
distribute (msg_, flags_);
|
||||||
@ -137,6 +137,16 @@ void zmq::dist_t::distribute (msg_t *msg_, int flags_)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (msg_->is_vsm ()) {
|
||||||
|
for (pipes_t::size_type i = 0; i < matching; ++i)
|
||||||
|
write (pipes [i], msg_);
|
||||||
|
int rc = msg_->close();
|
||||||
|
errno_assert (rc == 0);
|
||||||
|
rc = msg_->init ();
|
||||||
|
errno_assert (rc == 0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Add matching-1 references to the message. We already hold one reference,
|
// Add matching-1 references to the message. We already hold one reference,
|
||||||
// that's why -1.
|
// that's why -1.
|
||||||
msg_->add_refs ((int) matching - 1);
|
msg_->add_refs ((int) matching - 1);
|
||||||
@ -171,7 +181,7 @@ bool zmq::dist_t::write (pipe_t *pipe_, msg_t *msg_)
|
|||||||
eligible--;
|
eligible--;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!(msg_->flags () & (msg_t::more | msg_t::label)))
|
if (!(msg_->flags () & msg_t::more))
|
||||||
pipe_->flush ();
|
pipe_->flush ();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
|
Copyright (c) 2011 VMware, Inc.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
@ -89,14 +91,14 @@ bool zmq::encoder_t::message_ready ()
|
|||||||
tmpbuf [0] = (unsigned char) size;
|
tmpbuf [0] = (unsigned char) size;
|
||||||
tmpbuf [1] = (in_progress.flags () & ~msg_t::shared);
|
tmpbuf [1] = (in_progress.flags () & ~msg_t::shared);
|
||||||
next_step (tmpbuf, 2, &encoder_t::size_ready,
|
next_step (tmpbuf, 2, &encoder_t::size_ready,
|
||||||
!(in_progress.flags () & (msg_t::more | msg_t::label)));
|
!(in_progress.flags () & msg_t::more));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
tmpbuf [0] = 0xff;
|
tmpbuf [0] = 0xff;
|
||||||
put_uint64 (tmpbuf + 1, size);
|
put_uint64 (tmpbuf + 1, size);
|
||||||
tmpbuf [9] = (in_progress.flags () & ~msg_t::shared);
|
tmpbuf [9] = (in_progress.flags () & ~msg_t::shared);
|
||||||
next_step (tmpbuf, 10, &encoder_t::size_ready,
|
next_step (tmpbuf, 10, &encoder_t::size_ready,
|
||||||
!(in_progress.flags () & (msg_t::more | msg_t::label)));
|
!(in_progress.flags () & msg_t::more));
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
|
Copyright (c) 2011 VMware, Inc.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
@ -91,7 +93,7 @@ int zmq::fq_t::recvpipe (msg_t *msg_, int flags_, pipe_t **pipe_)
|
|||||||
if (pipe_)
|
if (pipe_)
|
||||||
*pipe_ = pipes [current];
|
*pipe_ = pipes [current];
|
||||||
more =
|
more =
|
||||||
msg_->flags () & (msg_t::more | msg_t::label) ? true : false;
|
msg_->flags () & msg_t::more ? true : false;
|
||||||
if (!more) {
|
if (!more) {
|
||||||
current++;
|
current++;
|
||||||
if (current >= active)
|
if (current >= active)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2010-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2010-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2010-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2010-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
|
Copyright (c) 2011 VMware, Inc.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
@ -75,7 +77,7 @@ int zmq::lb_t::send (msg_t *msg_, int flags_)
|
|||||||
// switch back to non-dropping mode.
|
// switch back to non-dropping mode.
|
||||||
if (dropping) {
|
if (dropping) {
|
||||||
|
|
||||||
more = msg_->flags () & (msg_t::more | msg_t::label) ? true : false;
|
more = msg_->flags () & msg_t::more ? true : false;
|
||||||
if (!more)
|
if (!more)
|
||||||
dropping = false;
|
dropping = false;
|
||||||
|
|
||||||
@ -88,8 +90,7 @@ int zmq::lb_t::send (msg_t *msg_, int flags_)
|
|||||||
|
|
||||||
while (active > 0) {
|
while (active > 0) {
|
||||||
if (pipes [current]->write (msg_)) {
|
if (pipes [current]->write (msg_)) {
|
||||||
more =
|
more = msg_->flags () & msg_t::more ? true : false;
|
||||||
msg_->flags () & (msg_t::more | msg_t::label) ? true : false;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2010-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2009-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
@ -237,6 +238,11 @@ bool zmq::msg_t::is_delimiter ()
|
|||||||
return u.base.type == type_delimiter;
|
return u.base.type == type_delimiter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool zmq::msg_t::is_vsm ()
|
||||||
|
{
|
||||||
|
return u.base.type == type_vsm;
|
||||||
|
}
|
||||||
|
|
||||||
void zmq::msg_t::add_refs (int refs_)
|
void zmq::msg_t::add_refs (int refs_)
|
||||||
{
|
{
|
||||||
zmq_assert (refs_ >= 0);
|
zmq_assert (refs_ >= 0);
|
||||||
@ -279,3 +285,4 @@ bool zmq::msg_t::rm_refs (int refs_)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
12
src/msg.hpp
12
src/msg.hpp
@ -1,5 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
|
Copyright (c) 2011 VMware, Inc.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
@ -47,10 +49,9 @@ namespace zmq
|
|||||||
// Mesage flags.
|
// Mesage flags.
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
label = 1,
|
more = 1,
|
||||||
command = 2,
|
identity = 64,
|
||||||
shared = 64,
|
shared = 128
|
||||||
more = 128
|
|
||||||
};
|
};
|
||||||
|
|
||||||
bool check ();
|
bool check ();
|
||||||
@ -68,6 +69,7 @@ namespace zmq
|
|||||||
void set_flags (unsigned char flags_);
|
void set_flags (unsigned char flags_);
|
||||||
void reset_flags (unsigned char flags_);
|
void reset_flags (unsigned char flags_);
|
||||||
bool is_delimiter ();
|
bool is_delimiter ();
|
||||||
|
bool is_vsm ();
|
||||||
|
|
||||||
// After calling this function you can copy the message in POD-style
|
// After calling this function you can copy the message in POD-style
|
||||||
// refs_ times. No need to call copy.
|
// refs_ times. No need to call copy.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2010-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
|
Copyright (c) 2011 VMware, Inc.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
@ -27,6 +29,7 @@ zmq::options_t::options_t () :
|
|||||||
sndhwm (1000),
|
sndhwm (1000),
|
||||||
rcvhwm (1000),
|
rcvhwm (1000),
|
||||||
affinity (0),
|
affinity (0),
|
||||||
|
identity_size (0),
|
||||||
rate (100),
|
rate (100),
|
||||||
recovery_ivl (10000),
|
recovery_ivl (10000),
|
||||||
multicast_hops (1),
|
multicast_hops (1),
|
||||||
@ -43,7 +46,9 @@ zmq::options_t::options_t () :
|
|||||||
ipv4only (1),
|
ipv4only (1),
|
||||||
delay_on_close (true),
|
delay_on_close (true),
|
||||||
delay_on_disconnect (true),
|
delay_on_disconnect (true),
|
||||||
filter (false)
|
filter (false),
|
||||||
|
send_identity (false),
|
||||||
|
recv_identity (false)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,6 +81,20 @@ int zmq::options_t::setsockopt (int option_, const void *optval_,
|
|||||||
affinity = *((uint64_t*) optval_);
|
affinity = *((uint64_t*) optval_);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
case ZMQ_IDENTITY:
|
||||||
|
|
||||||
|
// Empty identity is invalid as well as identity longer than
|
||||||
|
// 255 bytes. Identity starting with binary zero is invalid
|
||||||
|
// as these are used for auto-generated identities.
|
||||||
|
if (optvallen_ < 1 || optvallen_ > 255 ||
|
||||||
|
*((const unsigned char*) optval_) == 0) {
|
||||||
|
errno = EINVAL;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
identity_size = optvallen_;
|
||||||
|
memcpy (identity, optval_, identity_size);
|
||||||
|
return 0;
|
||||||
|
|
||||||
case ZMQ_RATE:
|
case ZMQ_RATE:
|
||||||
if (optvallen_ != sizeof (int) || *((int*) optval_) <= 0) {
|
if (optvallen_ != sizeof (int) || *((int*) optval_) <= 0) {
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
@ -232,6 +251,15 @@ int zmq::options_t::getsockopt (int option_, void *optval_, size_t *optvallen_)
|
|||||||
*optvallen_ = sizeof (uint64_t);
|
*optvallen_ = sizeof (uint64_t);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
case ZMQ_IDENTITY:
|
||||||
|
if (*optvallen_ < identity_size) {
|
||||||
|
errno = EINVAL;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
memcpy (optval_, identity, identity_size);
|
||||||
|
*optvallen_ = identity_size;
|
||||||
|
return 0;
|
||||||
|
|
||||||
case ZMQ_RATE:
|
case ZMQ_RATE:
|
||||||
if (*optvallen_ < sizeof (int)) {
|
if (*optvallen_ < sizeof (int)) {
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
|
Copyright (c) 2011 VMware, Inc.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
@ -41,6 +43,10 @@ namespace zmq
|
|||||||
// I/O thread affinity.
|
// I/O thread affinity.
|
||||||
uint64_t affinity;
|
uint64_t affinity;
|
||||||
|
|
||||||
|
// Socket identity
|
||||||
|
unsigned char identity_size;
|
||||||
|
unsigned char identity [256];
|
||||||
|
|
||||||
// Maximum tranfer rate [kb/s]. Default 100kb/s.
|
// Maximum tranfer rate [kb/s]. Default 100kb/s.
|
||||||
int rate;
|
int rate;
|
||||||
|
|
||||||
@ -93,6 +99,12 @@ namespace zmq
|
|||||||
|
|
||||||
// If 1, (X)SUB socket should filter the messages. If 0, it should not.
|
// If 1, (X)SUB socket should filter the messages. If 0, it should not.
|
||||||
bool filter;
|
bool filter;
|
||||||
|
|
||||||
|
// Sends identity to all new connections.
|
||||||
|
bool send_identity;
|
||||||
|
|
||||||
|
// Receivers identity from all new connections.
|
||||||
|
bool recv_identity;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2010-2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2010-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2010-2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2010-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
|
Copyright (c) 2010-2011 Miru Limited
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
|
Copyright (c) 2010-2011 Miru Limited
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
|
Copyright (c) 2010-2011 Miru Limited
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
|
Copyright (c) 2010-2011 Miru Limited
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
|
Copyright (c) 2010-2011 Miru Limited
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
|
Copyright (c) 2010-2011 Miru Limited
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
21
src/pipe.cpp
21
src/pipe.cpp
@ -1,5 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
|
Copyright (c) 2011 VMware, Inc.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
@ -63,8 +65,7 @@ zmq::pipe_t::pipe_t (object_t *parent_, upipe_t *inpipe_, upipe_t *outpipe_,
|
|||||||
peer (NULL),
|
peer (NULL),
|
||||||
sink (NULL),
|
sink (NULL),
|
||||||
state (active),
|
state (active),
|
||||||
delay (delay_),
|
delay (delay_)
|
||||||
pipe_id (0)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,14 +87,14 @@ void zmq::pipe_t::set_event_sink (i_pipe_events *sink_)
|
|||||||
sink = sink_;
|
sink = sink_;
|
||||||
}
|
}
|
||||||
|
|
||||||
void zmq::pipe_t::set_pipe_id (uint32_t id_)
|
void zmq::pipe_t::set_identity (const blob_t &identity_)
|
||||||
{
|
{
|
||||||
pipe_id = id_;
|
identity = identity_;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t zmq::pipe_t::get_pipe_id ()
|
zmq::blob_t zmq::pipe_t::get_identity ()
|
||||||
{
|
{
|
||||||
return pipe_id;
|
return identity;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool zmq::pipe_t::check_read ()
|
bool zmq::pipe_t::check_read ()
|
||||||
@ -136,7 +137,7 @@ bool zmq::pipe_t::read (msg_t *msg_)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(msg_->flags () & (msg_t::more | msg_t::label)))
|
if (!(msg_->flags () & msg_t::more))
|
||||||
msgs_read++;
|
msgs_read++;
|
||||||
|
|
||||||
if (lwm > 0 && msgs_read % lwm == 0)
|
if (lwm > 0 && msgs_read % lwm == 0)
|
||||||
@ -165,7 +166,7 @@ bool zmq::pipe_t::write (msg_t *msg_)
|
|||||||
if (unlikely (!check_write (msg_)))
|
if (unlikely (!check_write (msg_)))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
bool more = msg_->flags () & (msg_t::more | msg_t::label) ? true : false;
|
bool more = msg_->flags () & msg_t::more ? true : false;
|
||||||
outpipe->write (*msg_, more);
|
outpipe->write (*msg_, more);
|
||||||
if (!more)
|
if (!more)
|
||||||
msgs_written++;
|
msgs_written++;
|
||||||
@ -179,7 +180,7 @@ void zmq::pipe_t::rollback ()
|
|||||||
msg_t msg;
|
msg_t msg;
|
||||||
if (outpipe) {
|
if (outpipe) {
|
||||||
while (outpipe->unwrite (&msg)) {
|
while (outpipe->unwrite (&msg)) {
|
||||||
zmq_assert (msg.flags () & (msg_t::more | msg_t::label));
|
zmq_assert (msg.flags () & msg_t::more);
|
||||||
int rc = msg.close ();
|
int rc = msg.close ();
|
||||||
errno_assert (rc == 0);
|
errno_assert (rc == 0);
|
||||||
}
|
}
|
||||||
|
13
src/pipe.hpp
13
src/pipe.hpp
@ -1,5 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
|
Copyright (c) 2011 VMware, Inc.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
@ -27,6 +29,7 @@
|
|||||||
#include "object.hpp"
|
#include "object.hpp"
|
||||||
#include "stdint.hpp"
|
#include "stdint.hpp"
|
||||||
#include "array.hpp"
|
#include "array.hpp"
|
||||||
|
#include "blob.hpp"
|
||||||
|
|
||||||
namespace zmq
|
namespace zmq
|
||||||
{
|
{
|
||||||
@ -70,8 +73,8 @@ namespace zmq
|
|||||||
void set_event_sink (i_pipe_events *sink_);
|
void set_event_sink (i_pipe_events *sink_);
|
||||||
|
|
||||||
// Pipe endpoint can store an opaque ID to be used by its clients.
|
// Pipe endpoint can store an opaque ID to be used by its clients.
|
||||||
void set_pipe_id (uint32_t id_);
|
void set_identity (const blob_t &identity_);
|
||||||
uint32_t get_pipe_id ();
|
blob_t get_identity ();
|
||||||
|
|
||||||
// Returns true if there is at least one message to read in the pipe.
|
// Returns true if there is at least one message to read in the pipe.
|
||||||
bool check_read ();
|
bool check_read ();
|
||||||
@ -182,8 +185,8 @@ namespace zmq
|
|||||||
// asks us to.
|
// asks us to.
|
||||||
bool delay;
|
bool delay;
|
||||||
|
|
||||||
// Opaque ID. To be used by the clients, not the pipe itself.
|
// Identity of the writer. Used uniquely by the reader side.
|
||||||
uint32_t pipe_id;
|
blob_t identity;
|
||||||
|
|
||||||
// Returns true if the message is delimiter; false otherwise.
|
// Returns true if the message is delimiter; false otherwise.
|
||||||
static bool is_delimiter (msg_t &msg_);
|
static bool is_delimiter (msg_t &msg_);
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2010-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2010-2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2010-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2010-2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2010-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2009 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2010 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2010 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2010 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
|
Copyright (c) 2007-2010 iMatix Corporation
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user