summaryrefslogtreecommitdiff
path: root/src/rep.cpp
AgeCommit message (Collapse)Author
2012-02-16io_thread_t merged with poller_base_tMartin Sustrik
The relationship of these two classes was 1:1. Thus one of them was obsolete. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16ZeroMQ renamed to CrossroadsMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16Socket ID addedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-01LABELS and COMMANDs removedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-31250bpm copyrights addedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-15Session class separated into socket-type-specific sessionsMartin Sustrik
This is a preliminary patch allowing for socket-type-specific functionality in the I/O thread. For example, message format can be checked asynchronously and misbehaved connections dropped straight away. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-09Drop outbound messages in XREP socket when SNDHWM is reachedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-23Fix MSVC buildMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-22New wire format for REQ/REP patternMartin Sustrik
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-20LABEL flag added to the wire formatMartin Sustrik
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-05-08Fixed REP assert on missing envelopePieter Hintjens
Signed-off-by: Pieter Hintjens <ph@imatix.com>
2011-04-21Message-related functionality factored out into msg_t class.Martin Sustrik
This patch addresses serveral issues: 1. It gathers message related functionality scattered over whole codebase into a single class. 2. It makes zmq_msg_t an opaque datatype. Internals of the class don't pollute zmq.h header file. 3. zmq_msg_t size decreases from 48 to 32 bytes. That saves ~33% of memory in scenarios with large amount of small messages. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-02The copyrights in file headers updated.Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-11-05slots renamed to tidsMartin Sustrik
Threads were so far identified by integers called 'slots'. This patch renames them to more comprehensible 'tid's (thread IDs). Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-30Name of "GNU Lesser Public License" corrected.Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-09-28ZMQ_TYPE socket option addedGonzalo Diethelm
2010-08-25REP socket layered on top of XREP socketMartin Sustrik
2010-08-25WIP: Socket migration between threads, new zmq_close() semanticsMartin Sustrik
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-05-31memory leak in REP socket fixedMartin Sustrik
2010-04-27initial version of multi-hop REQ/REPMartin Sustrik
2010-04-08few fixed related to multi-part messages in REP socketMartin Sustrik
2010-03-31Handle full-pipe for REP sockets more gracefullyMartin Hurton
2010-03-27ZMQ_TBC renamed to ZMQ_MOREMartin Sustrik
2010-03-27multi-part messages work with REQ/REP socketsMartin Sustrik
2010-03-13ZMQ_NOFLUSH and zmq_flush obsoletedMartin Sustrik
2010-03-12Implement flow control for ZMQ_REP socketsMartin Hurton
2010-03-12Implement flow controlMartin Hurton
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-11Restructure language bindingsMartin Lucina
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-03Fix typo: zmq_close -> zmq_msg_closeMartin Hurton
2010-03-03Fix possible lockups when reading from ZMQ_REP socketsMartin Hurton
2010-02-19Merge branch 'master' of git@github.com:sustrik/zeromq2Martin Sustrik
2010-02-17ZMQII-76: Bug in how replies are handled when the REQ endpoint goes awayMartin Sustrik
2010-02-16Multi-hop REQ/REP, part XI., finalise the XREQ/XREP functionalityMartin Sustrik
2010-02-14Multi-hop REQ/REP, part X., optional delayed creation of pipes during connectMartin Sustrik
2010-02-12Multi-hop REQ/REP, part III., change 'type' in options to simple ↵Martin Sustrik
'traceroute' flag
2010-02-12Multi-hop REQ/REP, part I., socket type is known to all associated objectsMartin Sustrik
2010-01-05Copyrights transferred from FastMQ to iMatixMartin Sustrik
2009-11-24ZMQII-25: Implement streamed request/replyMartin Sustrik
2009-11-14Fixing concurrency issue in rep.cpp resulting in broken connections with ↵Martin Sustrik
multiple requesters under heavy load.
2009-10-01ZMQII-18: Implement I/O multiplexing (first approximation)Martin Sustrik
2009-09-23ZMQII-16: Change "struct zmq_msg_t" to "zmq_msg_t" in C bindingMartin Sustrik
2009-09-22ZMQ-specific error codes addedMartin Sustrik
2009-09-22Windows build fixedMartin Sustrik
2009-09-21different fixes to req/repMartin Sustrik
2009-09-21initial version of req/rep socketsMartin Sustrik
2009-08-06clean up - session/socket/engine stuff removedMartin Sustrik
2009-08-03renamed from zs to zmqMartin Sustrik
2009-07-29initial commitMartin Sustrik