summaryrefslogtreecommitdiff
path: root/src/pgm_sender.cpp
AgeCommit message (Collapse)Author
2012-06-13Revert "Implement SP wire protocol"Martin Sustrik
This reverts commit a34ea4d80609395150742259fd8c9caa4409e961.
2012-06-01Assertions improvedMartin Sustrik
This patch is replaces generic xs_asserts by errno_assers and alloc_asserts as appropriate. It is based on 0MQ patch by Martin Hurton. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-05-25Implement SP wire protocolMartin Lucina
Implements the SP wire protocol, and infrastructure for legacy wire protocol support. Also added an XS_SERVICE_ID socket option to set the service id and renamed the XS_PROTOCOL option to XS_PATTERN_VERSION. The following pattern versions are supported: PAIR: v3 PUBSUB: v1 (legacy), v4 REQREP: v2 PIPELINE: v3 SURVEY: v2 Note that all existing pattern versions have been bumped by 1 to allow for use of legacy protocols (otherwise there would be no way to distinguish between e.g. PUBSUB v3 and PUBSUB v3 using SP). Signed-off-by: Martin Lucina <martin@lucina.net>
2012-02-16Full name of the project used in license headersMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16poller_base_t renamed to io_thread_tMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
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-16Fix data loss for PUB/SUB and unidirectional transports (LIBZMQ-268)Martin Lucina
With the introduction of subscription forwarding, the first message sent on a PUB socket using a unidirectional transport (e.g. PGM) is always lost due to the "subscribe to all" being done asynchronously. This patch fixes the problem and also refactors the code to have a single point where the "subscribe to all" is performed. Signed-off-by: Martin Lucina <martin@lucina.net>
2012-02-16Timers identified by dynamically generated handlesMartin Sustrik
Timers are not longer identified by hard-wired IDs. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16cancel_timer function renamed to rm_timerMartin Sustrik
This is more consistent with adjacent add_fd and rm_fd functions. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16File descriptor passed to in_event and out_eventMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16Fix assertion in pgm_sender_t::plug() (LIBZMQ-303)Martin Lucina
Opening any PGM socket gives this assertion. The problem is in pgm_sender_t::plug() which is incorrectly testing the return value from session::write(). Signed-off-by: Martin Lucina <martin@lucina.net>
2012-02-16ZeroMQ renamed to CrossroadsMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-01Copyright dates adjusted to reflect realityMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-01Miru copyrights addedMartin 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-08-17Fix the PGM support on win64Martin Sustrik
On win64 the size of file descriptor is not the same as size of int. The bug in PGM transport caused a runtime error because of this. The problem is fixed now. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-24PGM subscription forwarding fixedMartin Sustrik
PGM when using in XPUB socket has to subscribe for all the messages as it has no idea what the subscribers are interesred in. This generic subscribe message was malformed. Fixed. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-24Session classes merged into a single classMartin Sustrik
Removal of ZMQ_IDENTITY resulted in various session classes doing almost the same thing. This patch merges the classes into a single class. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-11PGM transport reconciled with subscription forwardingMartin Sustrik
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-06-27Rename i_inout to i_engine_sinkMartin Sustrik
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>
2011-02-22Added explicit error message in case of memory exhaustionMartin Sustrik
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-16Cancel tx_timer_id in pgm_sender_t::out_event().Toralf Wittner
Signed-off-by: Toralf Wittner <toralf.wittner@gmail.com>
2010-10-15Timers correctly canceled by PGM engines on shutdown.Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-11Fix assertion in PGM transports on cancel_timerSteven McCoy
Signed-off-by: Steven McCoy <steven.mccoy@miru.hk>
2010-09-30more fixes to (e)pgm transportSteven McCoy
2010-08-25engine leak fixed; pgm compilation fixedMartin Sustrik
2010-03-20XREP-style prefixing/trimming messages removedMartin Sustrik
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-02-16Multi-hop REQ/REP, part XI., finalise the XREQ/XREP functionalityMartin Sustrik
2010-02-13Multi-hop REQ/REP, part VIII., new blob_t type used for holding identityMartin Sustrik
2010-02-12Multi-hop REQ/REP, part I., tracerouting switched on on XREP socketMartin Sustrik
2010-01-05added pending event fd handling by the pgm_sendermalosek
2010-01-05Copyrights transferred from FastMQ to iMatixMartin Sustrik
2009-12-28PGM code cleanupMartin Sustrik
2009-12-23ZMQII-28: Bidirectional introduction on TCP connection establishmentMartin 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-13XREP & XREQ socket types added; zmq_queue device addedMartin Sustrik
2009-12-13debug code removed from PGM enginesMartin Sustrik
2009-12-13OpenPGM v1 support removedMartin Sustrik
2009-12-13PGM transport fixedMartin Sustrik
2009-11-30minor tweaks in pgm codemalosek
2009-10-060MQ compilable on winXP mingw with --with-pgm2 optionmalosek
2009-09-28PGM2 sendermalosek
2009-09-24--with-pgm2 compilablemalosek
2009-09-24added --with-pgm2 into build systemmalosek
2009-09-16added udp:// transport prefix for PGM UDP encapsulationmalosek
2009-09-16added OpenPGM receiver - ZMQ_SUBmalosek