summaryrefslogtreecommitdiff
path: root/src/config.hpp
AgeCommit message (Collapse)Author
2011-09-29Use single port for creating signalers on WindowsMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-08VSM data are aligned to 32/64 bit boundaryMartin Sustrik
Till now the VSM buffer was aligned to 16 bit boundary which could possibly cause problems on RISC architectures when accessing the message data in unsafe manner. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-03Command are now stored in ypipes instead of in socketpairsMartin Sustrik
Storing commands in OS socket buffers caused whole lot of problems when free space in the buffer ran out. This patch stores commands in ypipes instead and uses socketpair just to signal the other thread, ie. at most one byte is stored in the socketpair at any single instant. Signed-off-by: Martin Sustrik <sustrik@250bpm.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-24SWAP functionality removedMartin Sustrik
On-disk storage should be implemented in devices rather than in 0MQ core. 0MQ is a networking library and there's no point in storing network buffers on disk. 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-17Add delay before reconnectingMartin Sustrik
So far ZMQ_RECONNECT_IVL delay was used only when TCP connect failed. Now it is used even if connect succeeds and the peer closes the connection afterwards. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-11-04Automatically resize signalling socket buffer if fullMartin Lucina
If the socketpair used by signaler_t fills up, this can lead to deadlock. This patch provides partial resolution by attempting to resize SO_SNDBUF on the writer side, and if that fails we shall at least assert rather than hang. I've also refactored the signaler_t code to make the platform-dependent parts clearer and have tested both the MSG_DONTWAIT and standard POSIX path in recv. The Win32 implementation currently does not implement resizing as I'm not convinced that it's safe, but it will also assert like other platforms if signaler_t::send() cannot succeed. The OpenVMS implementation has been carried forward but is untested. Signed-off-by: Martin Lucina <mato@kotelna.sk>
2010-10-30Name of "GNU Lesser Public License" corrected.Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-17ZMQ_BACKLOG socket option added.Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-17ZMQ_RECONNECT_IVL socket options added.Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-16Obsolete compile-time option removed.Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-08Scalability improvements for large amounts of connectionsMartin Lucina
Add signaler_sndbuf_size option to config.hpp which allows the user to increase the size of the send buffer used by the signalling socketpair. Implement random backoff for reconnection attempts using a primitive pseudo-random generation to prevent reconnection storms. Add wait_before_connect option to config.hpp to allow the user to enable random delay even on initial connect. Default is false for low latency. Signed-off-by: Martin Lucina <mato@kotelna.sk>
2010-09-26timers properly implementedMartin Sustrik
2010-09-26new interfaces for timers; the implementation is not changed yetMartin Sustrik
2010-09-26minor beautificationsMartin Sustrik
2010-09-26clock_t class addedMartin Sustrik
2010-08-28swap's block size made into a compile-time parameterMartin 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-25LWM is computed rather than explicitly specified by userMartin Sustrik
2010-05-05number of application threads to use 0MQ sockets is unlimited; app_threads ↵Martin Sustrik
parameter in zmq_init is unused and obsolete
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-02-11Integrate version numbering into autoconfMartin Lucina
configure.in is now the master source for the package version number, this propagates to src/platform.hpp (for zmq_version) and doc/Makefile.am (for documentation generation) automagically.
2010-02-11ZMQII-72: Add zmq_version functionMartin Sustrik
2010-01-05Copyrights transferred from FastMQ to iMatixMartin Sustrik
2009-09-11added OpenPGM sender - ZMQ_PUBmalosek
2009-08-27pipes addedMartin Sustrik
2009-08-03renamed from zs to zmqMartin Sustrik
2009-07-29initial commitMartin Sustrik