summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2012-03-13MSVC build fixed; xs_utils.h includes removedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-13xs_utils cleanup 2/2 (remove xs_utils.h)Martin Lucina
Moved xs_stopwatch_* functions from xs_utils.cpp/xs_utils.h, and removed those files. This leaves us with a single header file for libxs. Signed-off-by: Martin Lucina <martin@lucina.net>
2012-03-13xs_utils cleanup 1/2 (minimize exported api)Martin Lucina
Reduced xs_utils to the minimum functions required (xs_stopwatch_*) xs_sleep, xs_thread_* are internal to unit tests and have been moved to testutil.hpp, useless use of xs_sleep in perf/ has been removed. Signed-off-by: Martin Lucina <martin@lucina.net>
2012-03-13Merge branch 'for-sustrik' of git.lucina.net:libxsMartin Sustrik
2012-03-13Drop libxszmq, keep only libzmq compatibility library (--enable-libzmq)Martin Lucina
This simplifies the options for new users; either use libxs APIs or build with --enable-libzmq and get libzmq 2.1 emulation. Signed-off-by: Martin Lucina <martin@lucina.net>
2012-03-13io_threads argument removed from xs_init()Martin Sustrik
The argument was changed to a context option (XS_IO_THREADS). 0MQ compatibility mode sets the option and ensures that there's at least one I/O thread present. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-13Check for AI_V4MAPPED and don't use it on FreeBSDGabriele Svelto
Check if the constant is defined before using it. While the constant may be defined on FreeBSD, there's no support for the functionality and specifying the flag may cause errors. Signed-off-by: Gabriele Svelto <gabriele.svelto@gmail.com>
2012-03-08Removal of pipe from dist_t fixedMartin Sustrik
Removing the pipe may have caused problems with matching, active and eligible pipes. Some pipes may have moved from one category to another without any reason. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-06Fix IPC transport domain socket stream file not being removed when ↵Rob Gagnon
connection is closed
2012-03-06WSAEACCES correctly convrted into EACCESMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.cpm>
2012-02-28update lower bound flag when removing topicsBen Gray
2012-02-28Fixed a bug in the mtrie table compaction logic.Staffan Gimåker
Signed-off-by: Staffan Gimåker <staffan@spotify.com>
2012-02-26In case of duplicate identity XREP socket asserts.Martin Sustrik
This is a fail-fast mechanism to prevent undefined behaviour later on. In the future, the new connection should be closed in this case. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-25Leftover piece of experimental code removedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-22xszmq.c renamed to xszmq.cppMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-22Add zmq_version() to libxszmqMartin Lucina
Signed-off-by: Martin Lucina <martin@lucina.net>
2012-02-22Ensure libzmq.pc is installed if requiredMartin Lucina
Signed-off-by: Martin Lucina <martin@lucina.net>
2012-02-22Added optional drop-in libzmq libraryMartin Lucina
Enabled using --enable-libzmq-compat, this installs a drop-in libzmq library and headers. Not enabled by default since it will overwrite any existing libzmq install. Signed-off-by: Martin Lucina <martin@lucina.net>
2012-02-22Added libxszmq compatibility libraryMartin Lucina
Signed-off-by: Martin Lucina <martin@lucina.net>
2012-02-17Compact the trie/mtrie node tables where possible, to reduce memory usage.Staffan Gimåker
Signed-off-by: Staffan Gimåker <staffan@spotify.com>
2012-02-17Drop subscription messages when reaching the SNDHWM rather than asserting.Staffan Gimåker
This matches the behaviour of zmq_setsockopt(ZMQ_SUBSCRIBE, ...), which also silently drops subscription messages if the SNDHWM is reached. Signed-off-by: Staffan Gimåker <staffan@spotify.com>
2012-02-16Fix FD/handle conversion bugMartin Sustrik
On systems where int size != pointer size the coversion resulted in compile-time error. 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-16Some additional parameter checking for ZMQ_(UN)SUBSCRIBEMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16Avoid too long timeouts in xs_pollMartin Sustrik
The timeout should be int. For historical reasons, however, it is defined as long. To fix the problem the value is checked in the runtime to assure it is not larger than INT_MAX. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16ZMQ_REENTRANT functionality removedMartin Sustrik
It doesn't play well with multipart messages. 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-16Polling mechnisms updated to cope with io_thread_t removalMartin 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-16Intercept start() and stop() calls in poller_base_tMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16xs_poll implementation moved to a separate fileMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16Socket re-entrancy rewrittenMartin Sustrik
The inspiration for this re-write came form John Skaller's patch. Adding him to Credits section of the AUTHORS file. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16xs_thread_create and xs_thread_join implemented for POSIX platformsMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16Race condition during socket close fixedMartin Sustrik
zmq_close() cannot be synchronised even though ZMQ_REENTRANT is set. It's user's responsibility not to invoke the socket from another thread once zmq_close() have been called. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16Bug fixed in context terminationMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16Names of context options shortenedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16XS_CTX_REENTRANT option addedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16XS_CTX_MAX_SOCKETS option implementedMartin Sustrik
To implement context options properly, initialisation of context is postponed till creation of the first socket. In the meantime it is possible to set socket options. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16More MSVC tests addedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.cpm>
2012-02-16Windows version of the tests implementedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.cpm>
2012-02-16Bug in linger implementation fixedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16handle_valid removed from tcp_connecter_t and ipc_connecter_tMartin Sustrik
Invalid handle is now specified as handle == NULL 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-16Valid handle_t is never NULLMartin Sustrik
poll_t and select_t polling mechanism convert fd into void*. When fd 0 was converted NULL pointer resulted. Fixed. 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-16i_poll_events interface moved to poller_base.hppMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16poller_base_t is used instead of poller_tMartin Sustrik
Poller object is virtualised. You can access poller via its base class (poller_base_t) instead of using poller_t which was a typedef pointing to actual derived class. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16Simplify mechanism for choosing polling mechanismMartin Sustrik
Till now the selection process was implemented both in autotools build system and in the code itself. From now on, it's exclusively build system's taks to choose the right polling mechanism. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-02-16Polling handle is a fixed type now.Martin Sustrik
Polling handle type was previously dependent on polling mechanism used. Now it is void* in all cases. This patch is a first step in the long way to separate the transports from the core library. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>