summaryrefslogtreecommitdiff
path: root/src/xreq.cpp
AgeCommit message (Collapse)Author
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-10-16ZMQ_LINGER socket option added.Martin Sustrik
1. ZMQ_LINGER option can be set/get 2. options are part of own_t base class rather than being declared separately by individual objects 3. Linger option is propagated with "term" command so that the newest value of it is used rather than the stored old one. 4. Session sets the linger timer if needed and terminates as soon as it expires. 5. Corresponding documentation updated. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-09-28ZMQ_TYPE socket option addedGonzalo Diethelm
2010-09-18single term ack counting mechanism for every socket (no separate mechanisms ↵Martin Sustrik
for fq_t and lb_t)
2010-08-25I/O object hierarchy implementedMartin 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-07-30XREQ: Correct behaviour on hitting ZMQ_HWMMartin Lucina
This reverts part of commit 84e0c7991a9b316ed571533abc628cc1175750a3 to get correct ZMQ_HWM semantics with XREQ sockets: When sending a message to an XREQ socket, the underlying pipe is selected in a round-robin fashion. If an underlying pipe is full it is skipped. If there are no underlying pipes, or all underlying pipes are full then zmq_send() shall block or return EAGAIN, depending on whether or not the call is blocking. Messages are never dropped.
2010-05-02queue device fixedMartin Sustrik
2010-03-13ZMQ_NOFLUSH and zmq_flush obsoletedMartin Sustrik
2010-03-12Implement flow control for ZMQ_XREQ 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-02-16Multi-hop REQ/REP, part XI., finalise the XREQ/XREP functionalityMartin 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-12-15zmq_encoder/decoder are able to add/trim prefixes from messages; fair ↵Martin Sustrik
queueing and load balancing algorithms factorised into separate classes
2009-12-13zmq_streamer & zmq_queue are built under MSVCunknown
2009-12-13XREP & XREQ socket types added; zmq_queue device addedMartin Sustrik