summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2011-06-18Refactor Windows versioning and WinSock usage.Signed-off-by: Steven McCoy ↵Steven McCoy
<steven.mccoy@miru.hk>
2011-06-17Add sockopt ZMQ_RCVTIMEO/ZMQ_SNDTIMEO.Fabien Ninoles
- Add doc and tests - Add options and setup - Wait using poll/select Signed-off-by: Fabien Ninoles <fabien@tzone.org> Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-12ZMQ_FILTER socket option addedMartin Sustrik
This option is a performance tweak. In devices XSUB socket filters the messages just to send them to XPUB socket which filters them once more. Setting ZMQ_FILTER option to 0 allows to switch the filtering in XSUB socket off. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-15ZMQ_MULTICAST_HOPS socket option addedMartin Sustrik
Sets the time-to-live field in every multicast packet sent from the socket. 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-04-19Message validity is checked in the runtimeMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-04-09Missing ENOTSOCK added on Win32Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-26ZMQ_NOBLOCK renamed ZMQ_DONTWAITMartin Sustrik
Done because of POSIX compliance Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-24ZMQ_HWM split into ZMQ_SNDHWM and ZMQ_RCVHWMMartin Sustrik
These new options allow to control the maximum size of the inbound and outbound message pipe separately. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-24ZMQ_RECOVERY_IVL and ZMQ_RECOVERY_IVL_MSEC reconciledMartin Sustrik
There's only one option now -- ZMQ_RECOVRY_IVL -- and it's measured in milliseconds. 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-24send/recv was changed to send/recv/sendmsg/recvmsgMartin Sustrik
send/recv now complies with POSIX by using raw buffers instead of message objects and by returning number of bytes sent/recvd instead of 0/-1. The return value is changed accordingly for sendmsg and recvmsg. Note that related man pages will be fixed in a separate patch. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-24C++ binding removed from the coreMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-23zmq_device removedMartin Sustrik
Devices are basically applications on top of 0MQ stack. They should reside in separate libraties. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-23ZMQ_MCAST_LOOP removedMartin Sustrik
Multicast loopback is not a real multicast, rather a kernel-space simulation. Moreover, it tends to be rather unreliable and lossy. Removing the option will force users to use transports better suited for the job, such as inproc or ipc. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-23Obsolete constants ZMQ_UPSTREAM and ZMQ_DOWNSTREAM removedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-23Version bumped to 3.0.0Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-12Added missing close method w/ check if socket is already closed.Guido Goldstein
Signed-off-by: Guido Goldstein <github@a-nugget.de>
2011-03-02The copyrights in file headers updated.Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-02ZMQ_MAXMSGSIZE option addedMartin Sustrik
The new option allows user to guard against peers sending oversized messages. Connection to peer sending oversized message is dropped. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-22Version bumped to 2.2.0Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-04operator void* () added to context_t.Thijs Terlouw
Makes it possible to share the context from C++ to C. Signed-off-by: Thijs Terlouw <thijsterlouw@gmail.com>
2011-01-26ZMQ_RECONNECT_IVL_MAX socket option addedThijs Terlouw
It allows for exponential back-off strategy when reconnecting. Signed-off-by: Thijs Terlouw <thijsterlouw@gmail.com>
2011-01-11Version bumped to 2.1.1Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-01-06resolve "function declaration isn't a prototype"Min Ragan-Kelley
change two declarations in headers to form f(void); instead of f(); which eliminates the warnings when compiling against zeromq Signed-off-by: MinRK <benjaminrk@gmail.com>
2010-12-09Added Recovery Interval in MillisecondsBob Beaty
For very high-speed message systems, the memory used for recovery can get to be very large. The corrent limitation on that reduction is the ZMQ_RECOVERY_IVL of 1 sec. I added in an additional option ZMQ_RECOVERY_IVL_MSEC, which is the Recovery Interval in milliseconds. If used, this will override the previous one, and allow you to set a sub-second recovery interval. If not set, the default behavior is to use ZMQ_RECOVERY_IVL. Signed-off-by: Bob Beaty <rbeaty@peak6.com>
2010-12-04XPUB and XSUB socket types added.Martin Sustrik
These are just placeholders. At the moment XPUB behaves th same as PUB and XSUB as SUB. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-12-01Prefix variables with "ac_zmq_"Mikko Koppanen
- Added a macro for checking clang compiler - Moved basic compiler checks to a macro - Added a macro for checking if compiler supports a flag - Added --enable-debug flag - Added a macro for running normal autoconf check with compiler flags - Added a macro for checking for verbose flag for different compilers (-Wall) - Added a macro for turning on strict standards compliance - Added a macro for turning warnings to errors - Added a macro for checking if compiler supports given pragma - Most of the flags now go through checks if the compilers supports them rather than enumerating different compilers - Added DSO symbol visibility for sun compiler - Enabled verbose mode for sun compiler - Fixed build for ICC 12.x by adding -wd279 to size_t checks - Removed pkg-config checks as those don't seem to be used anywhere Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2010-11-25Control symbol exports using -fvisibilityMartin Lucina
On systems using GCC 4.0 or newer which support symbol visibility in shared libraries, use -fvisibility=hidden and only export explict API functions defined in zmq.cpp. We do not enable -fvisibility on MinGW since this uses a separate mechanism (__declspec). 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-29Add function to zmq::error_t to access errnumPeter Bourgon
Signed-off-by: Peter Bourgon <peter.bourgon@gmail.com>
2010-10-28switch to c++-specific headersBurak Arslan
Signed-off-by: Burak Arslan <burak-github@arskom.com.tr>
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-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-10-15Merge branch 'maint'Martin Sustrik
* maint: Makefile.am: Add missing files to distribution, improve maintainer-clean configure.in: Extract API version from zmq.h Added bin directory to ignore list. Conflicts: configure.in include/zmq.h
2010-10-15configure.in: Extract API version from zmq.hMartin Lucina
* Added a version.sh and relevant changes to configure.in to extract the API version from zmq.h at the time autogen.sh is run. * Moved the version macros to be next to zmq_version in zmq.h and improved the comments. * Modified ZMQ_MAKE_VERSION to use (x) instead of plain x when expanding macro parameters. Signed-off-by: Martin Lucina <mato@kotelna.sk>
2010-10-09Merge branch 'maint'Martin Sustrik
* maint: Version macros added Conflicts: builds/msvc/platform.hpp Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-09Version macros addedMartin Sustrik
Macro ZMQ_VERSION represents the current version of 0MQ Macro ZMQ_MAKE_VERSION(major,minor,patch) allows to create a representation of the specified version. The versions can be compared using simple <, >, ==, etc. operators. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-09-30C++ binding destructors don't throw exceptionsIlja Golshtein
2010-09-28ZMQ_TYPE socket option addedGonzalo Diethelm
2010-09-09when no I/O threads are available error is raised instead of assertionMartin Sustrik
2010-09-08EMTHREAD error code returned to zmq.h to ensure backward compatibilityMartin Sustrik
2010-09-04Merge branch 'maint'Martin Sustrik
* maint: Broken device numbering reverted assert on malformed messages forwarder and streamer devices handle multi-part messages correctly improved null checking in zmq_term Conflicts: AUTHORS include/zmq.h src/zmq.cpp
2010-09-04Broken device numbering revertedMartin Sustrik
2010-09-04Merge branch 'maint'Martin Lucina
* maint: zmq::select_t, zmq_poll(): assert if FD_SETSIZE reached zmq.h: Fix typo and use of C99 comment Conflicts: src/zmq.cpp
2010-09-04zmq.h: Fix typo and use of C99 commentMartin Lucina
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-08-04Renamed ZMQ_UPSTREAM to ZMQ_PULL, and ZMQ_DOWNSTREAM to ZMQ_PUSH. Left the oldPieter Hintjens
definitions as aliases, to be removed in release 3.0. Also renamed the source files implementing these two socket types. This change does not break existing applications nor bindings, but allows us to fix the documentation and user guide now, rather than keeping the old (confusing) names.
2010-06-17Windows build fixedMartin Sustrik