28 Commits

Author SHA1 Message Date
Martin Sustrik
f22e85f19f Reverting commit 1d431190f50c86f62460
The patch was supposed to check that pipe writer sends messages
in atomic fashion. However, it prevented the user to read
half of a message and close the socket.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-11 12:23:18 +02:00
Martin Sustrik
73e7ef37c2 When XREP silently drops message, it does not empty it -- fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-10 09:23:37 +02:00
Martin Sustrik
7a685b0f88 Clean-up of session termination process
Specifically, shutdown of child objects is initiated *before* termination
handshake with socket object.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-08 17:23:21 +02:00
Nir Soffer
1d431190f5 make sure that reader does not terminate in the middle of a multipart message 2010-10-02 10:01:18 +02:00
Martin Sustrik
0bb76b667b assert when xrep socket gets reconnected in the middle of the shutdown -- fixed 2010-10-01 13:37:46 +02:00
Martin Sustrik
ac9b05c36b Merge branch 'maint'
* maint:
  zmq_msg_move called on uninitialised message in xrep_t::xrecv -- fixed
2010-09-30 15:12:06 +02:00
Max Wolf
79aea5ffa6 zmq_msg_move called on uninitialised message in xrep_t::xrecv -- fixed 2010-09-30 15:10:47 +02:00
Martin Sustrik
98fa2fa802 fix in XREP's fair queueing mechanism 2010-09-30 14:03:54 +02:00
Gonzalo Diethelm
87beaaa00d ZMQ_TYPE socket option added 2010-09-28 15:27:45 +02:00
Martin Sustrik
d13933bc62 I/O object hierarchy implemented 2010-08-25 15:39:20 +02:00
Martin Sustrik
05d908492d WIP: Socket migration between threads, new zmq_close() semantics
Sockets may now be migrated between OS threads; sockets may not be used by
more than one thread at any time. To migrate a socket to another thread the
caller must ensure that a full memory barrier is called before using the
socket from the target thread.

The new zmq_close() semantics implement the behaviour discussed at:

http://lists.zeromq.org/pipermail/zeromq-dev/2010-July/004244.html

Specifically, zmq_close() is now deterministic and while it still returns
immediately, it does not discard any data that may still be queued for
sending. Further, zmq_term() will now block until all outstanding data has
been sent.

TODO: Many bugs have been introduced, needs testing. Further, SO_LINGER or
an equivalent mechanism (possibly a configurable timeout to zmq_term())
needs to be implemented.
2010-08-25 15:39:20 +02:00
Pieter Hintjens
5be54b9120 46 - Devices vulnerable to invalid messages
http://github.com/zeromq/zeromq2/issues#issue/46
Invalid messages are now discarded silently, instead of causing an assertion
failure.
2010-08-11 17:05:19 +02:00
Martin Hurton
fd707fedc5 issue 38 - Assertion failed: fetched (xrep.cpp:196) 2010-07-07 12:41:53 +02:00
Martin Sustrik
acfd0f8ca2 prefix in XREP recv'd message misses MORE flag 2010-04-30 04:53:41 +02:00
Martin Sustrik
ad6fa9d0d4 initial version of multi-hop REQ/REP 2010-04-27 17:36:00 +02:00
Martin Sustrik
dfdaff5eba XREP-style prefixing/trimming messages removed 2010-03-20 10:58:59 +01:00
Martin Sustrik
61ad236e95 ZMQ_NOFLUSH and zmq_flush obsoleted 2010-03-13 14:40:10 +01:00
Martin Hurton
42e575cb6b Implement flow control fox ZMQ_XREP sockets 2010-03-12 11:07:39 +01:00
Martin Hurton
61ee6fae53 Implement flow control
This commit introduces the necessary changes necessary
for implementing flow control. None of the socket types
implements the flow control yet. The code will crash when
the flow control is enabled and the thw lwm is reached.

The following commits will add flow-control support for
individual socket types.
2010-03-12 11:07:38 +01:00
Martin Lucina
27e2d08449 Restructure language bindings
C and C++ headers moved from bindings/ to include/, bindings/ removed
--with-c and --with-cpp options to configure removed, C and C++ now built
and installed by default
2010-03-11 20:33:27 +01:00
Martin Sustrik
b9caa319e2 Multi-hop REQ/REP, part XI., finalise the XREQ/XREP functionality 2010-02-16 18:30:38 +01:00
Martin Sustrik
43620b3d35 Multi-hop REQ/REP, part X., optional delayed creation of pipes during connect 2010-02-14 13:34:48 +01:00
Martin Sustrik
313b5dfadd Multi-hop REQ/REP, part III., change 'type' in options to simple 'traceroute' flag 2010-02-12 19:42:35 +01:00
Martin Sustrik
7b4cf2a4d0 Multi-hop REQ/REP, part I., socket type is known to all associated objects 2010-02-12 13:33:50 +01:00
Martin Sustrik
4f6baf4dde Copyrights transferred from FastMQ to iMatix 2010-01-05 08:29:35 +01:00
Martin Sustrik
e49115224a zmq_encoder/decoder are able to add/trim prefixes from messages; fair queueing and load balancing algorithms factorised into separate classes 2009-12-15 09:09:19 +01:00
unknown
0637e06387 zmq_streamer & zmq_queue are built under MSVC 2009-12-13 14:59:25 +01:00
Martin Sustrik
fa6bf24d80 XREP & XREQ socket types added; zmq_queue device added 2009-12-13 14:45:23 +01:00