0
0
mirror of https://github.com/zeromq/libzmq.git synced 2024-12-29 00:32:34 +08:00

1327 Commits

Author SHA1 Message Date
Steven McCoy
18d8be5e92 Fix pollin on Cygwin.
Signed-off-by: Steven McCoy <steven.mccoy@miru.hk>
Signed-off-by: Martin Sustrik <sustrik@250bom.com>
2011-07-18 10:54:53 +02:00
Martin Sustrik
ac20e17cbd Reference to C++ binding removed from zmq(7)
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-18 10:04:05 +02:00
Martin Sustrik
66ff99c457 Martin Lucina remove from MAINTAINERS file
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-18 10:00:09 +02:00
Martin Sustrik
f97f50c252 Signaler timeout bug on Windows fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-18 09:41:26 +02:00
Martin Sustrik
1a40880552 ZMQ_IDENTITY option removed from the documentation
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-18 09:30:37 +02:00
Martin Sustrik
89daa57faa Missing files for GENERIC socket implementation added
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-18 09:28:59 +02:00
Martin Sustrik
bf78e230ad GENERIC socket type and COMMAND flag added
GENERIC allows to use 0MQ as a dumb networking framework.
It provides user with connect/disconnect notifications.
Also, each inbound message is labeled by ID of the connection
it originated from. Outbound messages should be labeled by
the ID of the connection to send them to.

To distinguish connect/disconnect notifications from common
messages, COMMAND flag was introduced.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-17 23:31:29 +02:00
Martin Sustrik
c8e8f2a24c ZMQ_IDENTITY socket option removed
This patch simplifies the whole codebase significantly,
including dropping depedency on libuuid.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-15 11:24:33 +02:00
Martin Sustrik
ba67eff167 non-immediate_connect functionality removed
It was used only by ROUTER socket. After its removal it became
obsolete.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-15 08:26:29 +02:00
Martin Sustrik
364839f3e6 Debian packaging removed
It is now maintained as a separate project.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-15 08:18:20 +02:00
Martin Sustrik
e4f98d1e10 ROUTER and DEALER sockets removed
To be replaced by new generic socket type

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-15 08:16:40 +02:00
Martin Sustrik
73630de98a Version number bumped to 4.0.0
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-15 08:11:42 +02:00
Martin Sustrik
57c1342c68 Bug with setting options on SUB socket fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-12 13:05:58 +02:00
Martin Sustrik
29274811cc zmq_bind(3) and zmq_connect(3) describe EINVAL error
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-11 16:05:04 +02:00
Martin Sustrik
2afb791ec2 Subscription forwarding test added
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-11 15:54:13 +02:00
Martin Sustrik
215cfc653e REQ/REP drop test extended
The test now checks whether replies are dropped when reply pipe
is overflowed.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-11 15:28:02 +02:00
Martin Sustrik
c7542981d1 PGM transport reconciled with subscription forwarding
As PGM is not capable of passing subscriptions upstream,
subscriptions are ignored at sub side and engine subscribes
for all messages on pub side.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-11 10:18:30 +02:00
Martin Sustrik
d7adc3f19a ZMQ_FILTER option removed
The filtering is now done depending on the socket type. SUB socket
filters the messages (end-to-end filtering) while XSUB relies
on upstream nodes to do (imprefect) filtering.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-11 09:57:59 +02:00
Martin Sustrik
a154ef69da Man pages for send & recv function brought up to date
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-11 08:34:20 +02:00
Martin Sustrik
7e1251178b Experimental code from zmq_init_t removed.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-11 07:26:45 +02:00
Martin Sustrik
52eaf600e5 Drop outbound messages in XREP socket when SNDHWM is reached
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-09 09:40:40 +02:00
Martin Sustrik
aa2150c25c VSM data are aligned to 32/64 bit boundary
Till now the VSM buffer was aligned to 16 bit boundary
which could possibly cause problems on RISC architectures
when accessing the message data in unsafe manner.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-08 18:12:59 +02:00
Martin Sustrik
1526ff638c License text in autogen.sh fixed
autogen.sh incorrectly referred to the license as GPL.
Changed to LGPL.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-04 09:27:50 +02:00
Martin Sustrik
8d96036fcd Build system checks for presence of eventfd.h header
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-03 16:11:11 +02:00
Martin Sustrik
8fb9d3c6d0 Merge branch 'master' of github.com:zeromq/libzmq 2011-07-03 15:33:25 +02:00
Martin Sustrik
6ae1be1a12 Race condition in eventfd signaler fixed
recv function on eventfd signaler could accidentally
grab two signals instead of one. Fixed.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-03 15:30:31 +02:00
Martin Sustrik
9a9a0cf410 eventfd implementation of the signaler
Eventfd (on Linux) is more efficient that socketpair
for passing simple signals.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-03 15:13:57 +02:00
Martin Sustrik
c687c7e61e Fix MSVC build
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-03 14:11:33 +02:00
Martin Sustrik
da26134aa6 Inproc tests need no I/O threads
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-03 13:44:41 +02:00
Martin Sustrik
7c0c798120 Command are now stored in ypipes instead of in socketpairs
Storing commands in OS socket buffers caused whole lot of
problems when free space in the buffer ran out. This patch
stores commands in ypipes instead and uses socketpair just
to signal the other thread, ie. at most one byte is stored
in the socketpair at any single instant.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-03 13:33:45 +02:00
Martin Sustrik
de3838403b Testing for errors from pthread_* functions fixed
pthread_* functions return the error number rather than
setting errno. This was not accounter for till now.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-30 00:05:03 +02:00
Andrew Thompson
4f4cc73280 Use strrchr to ensure we split off the last colon for the service port
IPv6 addresses have colons and will produce invalid data for the getaddrinfo lookup.

Signed-off-by: Andrew Thompson <andy@fud.org.nz>
2011-06-29 23:48:19 +02:00
Martin Sustrik
543ad30e7d Packaging for MSVC build fixed
MSVC project files for inproc_lat and inproc_thr were not
packaged during make dist phase.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-28 10:22:27 +02:00
Martin Sustrik
f8bf3a4cef Rename i_inout to i_engine_sink
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-27 18:16:53 +02:00
Carl Clemens
3ae73ee11f Typo in zmq_msg_size(3) fixed
Signed-off-by: Carl Clemens <carlclemens1@yahoo.com>
2011-06-26 16:19:45 +02:00
Martin Sustrik
770d0bc77c Fix MSVC build
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-23 08:51:48 +02:00
Martin Sustrik
d1373792f7 Outstanding requests dropped when requester dies (issue 190)
So far the requests in req/rep pattern were delivered to and processed
by worker even though the original requester was dead. Thus,
the worker processing replies with noone to deliver results to.
This optimisation drops requests in two situations:

1. Queued inbound requests in XREP socket when peer disconnects.
2. Queued outbound requests in XREQ when socket is closed.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-23 07:57:47 +02:00
Martin Sustrik
12532c7940 O(1) fair-queueing in XREP implemented
Up to now the complexity of fair-queueing in XREP was O(n).

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-22 16:51:40 +02:00
Martin Sustrik
ec81f8fb25 New wire format for REQ/REP pattern
This patch introduces two changes:
1. 32-bit ID is used to identify the peer instead of UUID
2. REQ socket seeds the label stack with unique 32-bit request ID
   It also drops any replies with non-matching request ID

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-22 11:02:16 +02:00
Martin Sustrik
10a93bb79f Unspecified error code from mailbox_t::recv on Win32 fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-21 13:44:44 +02:00
Martin Sustrik
a28928fe37 Introduce ZMQ_ROUTER and ZMQ_DEALER sockets
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-20 13:36:18 +02:00
Martin Sustrik
f437c9ed9b Fix errors in zmq_getsockopt(3) manpage
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-20 12:27:56 +02:00
Martin Sustrik
ab99975ad4 LABEL flag added to the wire format
So far there was no distinction between message parts used by 0MQ
and message parts used by user. Now, the message parts used by 0MQ
are marked as 'LABEL'.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-20 11:33:54 +02:00
Martin Sustrik
ada5d42472 Basic tests now test multi-part messages instead of single-part
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-20 11:16:10 +02:00
Martin Sustrik
c80908c469 Bug fixed in pipe termination
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-20 08:21:00 +02:00
Fabien Ninoles
7572fee979 Optimise block/non-block switching in mailbox_t
For the platforms that don't support MSG_DONTWAIT the reader
socket in mailbox_t was kept in non-blocking state and flipped
to blocking state and back when blocking read was requested.
Now, the state is preserved between calls and flipped only
if different type of operation (block vs. non-block) is
requested.

Signed-off-by: Fabien Ninoles <fabien@tzone.org>
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-20 08:14:21 +02:00
Martin Sustrik
8440de2b14 Fix minor warning in MSVC build
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-20 08:11:48 +02:00
Martin Sustrik
f4760f02c3 Disable timeo test on MinGW
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-20 07:35:24 +02:00
Martin Sustrik
082f8e19b7 Mailbox timeouts fixed on Windows
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-19 19:08:48 +02:00
Martin Sustrik
ed680a395e Documentation for XPUB and XSUB socket added
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-19 16:39:27 +02:00