summaryrefslogtreecommitdiff
path: root/src/object.cpp
AgeCommit message (Collapse)Author
2012-04-05XS_PLUGIN and XS_FILTER implementationMartin Sustrik
This patch introduces following features: - XS_PLUGIN context option to add plugins to libxs - XS_FILTER option to switch between different filter types - Automatic loading of plug-ins is *not* implemented. From the implementation point of view: - standard prefix filter is implemented as a pluggable filter - trie_t and mtrie_t are joined into a single class - the code for 0MQ/3.1 compatibility is left in in the form of comments - new test for testing re-subscriptions is added Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-14Removed leftovers from a logging experimentMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
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-16ZeroMQ renamed to CrossroadsMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16More logging infrastructureMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16Logging functionality available for individual objectsMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16Old logging infrastructure removedMartin 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-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-15ZMQ_IDENTITY socket option removedMartin Sustrik
This patch simplifies the whole codebase significantly, including dropping depedency on libuuid. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-30Patches from sub-forward branch incorporatedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-22Introduces bi-directional pipesMartin Sustrik
So far, there was a pair of unidirectional pipes between a socket and a session (or an inproc peer). This resulted in complex problems with half-closed states and tracking which inpipe corresponds to which outpipe. This patch doesn't add any functionality in itself, but is essential for further work on features like subscription forwarding. 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>
2011-02-18Logging of duplicit identities addedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-09Reaper thread waits for commands rather them retrieving them periodicallyMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-09Initial implementation of reaper thread.Martin Sustrik
Reaper thread destroys the socket asynchronously. zmq_term() can be interrupted by a signal (EINTR). zmq_socket() will return ETERM after zmq_term() was called. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-01-10Size of inproc hwm and swap is sum of peers' hwms and swapsMartin Sustrik
The meat of the patch was contributed by Douglas Creager. Martin Sustrik implemented storing peer options in inproc endpoint repository. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-11-19Problem with blob_t initialisation fixed.Martin Sustrik
HP's version of STL doesn't allow for initialisation of basic_string (blob_t) using NULL pointer, while SGI's implementation is OK with that. Fixed. 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-10-23Merge branch 'maint'Martin Sustrik
* maint: SunStudio fixed.
2010-10-23SunStudio fixed.Martin Sustrik
With SunStudio's implementation of STL basic_string constructor doesn't accept NULL as a parameter even though size of string is set to zero. Fixed. 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-09when no I/O threads are available error is raised instead of assertionMartin Sustrik
2010-09-01context creates an inproc endpoint ('inproc://log') to distribute 0MQ's log ↵Martin Sustrik
messages
2010-08-28terminology unified: revive->activateMartin Sustrik
2010-08-25added ZMQ_MAKE_VALGRIND_HAPPY compile-time optionMartin Sustrik
2010-08-25one more dezombification bug fixedMartin Sustrik
2010-08-25dezombification procedure fixedMartin Sustrik
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-05-05dispatcher_t class renamed to ctx_tMartin Sustrik
2010-05-04signaler transports commands per se rather than one-bit signalsMartin Sustrik
2010-04-29signaler rewritten in such a way that any number (>64) of threads can be usedMartin Sustrik
2010-04-29lock-free polling removed; ZMQ_POLL flag removedMartin Sustrik
2010-04-08issue 13 (Assertion failed: load.get () == 0 (epoll.cpp:49)) fixedMartin 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-13Multi-hop REQ/REP, part IX., pass the peer identity as far as socket_base_tMartin 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 V., peer identity is passed from init object to sessionMartin Sustrik
2010-02-12Multi-hop REQ/REP, part IV., add command deallocation mechanismMartin Sustrik
2010-02-07ZMQII-59: TCP server crashes sometimes when message is send and socket is ↵Martin Sustrik
closed immediately
2010-01-05Copyrights transferred from FastMQ to iMatixMartin Sustrik
2009-12-02seqnum mechanism automatedMartin Sustrik
2009-12-01annoying optimisation in 'bind' command removedMartin Sustrik
2009-11-21race condition in inproc transport shutdown fixedMartin Sustrik