summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-09-16Check message syntax in REQ asynchronouslyMartin Sustrik
This patch adds support for checking messages as they arrive (as opposed to when they are recv'd by the user) and drop the connection if they are malformed. It also uses this new feature to check for validity of inbound messages in REQ socket. 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-09-14Minor optimisation in message distribution algorithmMartin Sustrik
If several of the outbound pipes become passive while sending a single message, the refcount on the message is adjusted once only, not multiple times. It's an atomic operation so the cost is not negligible. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-14Bug in message distribution algorithm fixed (issue 251)Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-14test_invlid_rep added to .gitignoreMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-13Fixed issue with req assertions (issue 252)Mikko Koppanen
Signed-off-by: Mikko Koppanen <mkoppanen@php.net> Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-06Fix polling system detection on mingw32 buildMikko Koppanen
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2011-09-04Added option to choose internal polling systemMikko Koppanen
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2011-09-03Accept square brackets around IPv6 addressMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-03Fixed doc to clarify how label parts workPieter Hintjens
Signed-off-by: Pieter Hintjens <ph@imatix.com> Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-03Improve error reporting in a minor wayMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-02Close file descriptors on exec (issue 218)Martin Sustrik
When exec is executed to start a different process image old 0MQ file descriptors could stay open, thus blocking TCP ports and alike. This patch should solve the problem. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-02msg_t::rm_refs closes the message when number of refs drops to 0 (issue 245)Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-01Premature deallocation bug in XSUB fixed (issue 244)Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-01Fixed warnings on Win64Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-31zmq_msg_t changed to structureMartin Sustrik
zmq_msg_t being defined as unsigned char[32] could not be stored in STL containers. Fixed by this commit. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-19Typo fixed in zmq_socket(3)Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-19NIC name resolution moved to tcp_address_tMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-18Missing include added to ip.cppMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-18Windows build fixedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-18TCP address related functionality moved to tcp_address_tMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-18MSVC build fixedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-18IPC address related functionality refactored into ipc_address_t classMartin Sustrik
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-08-16MSVC build fixedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-16tcp_engine renamed to stream engineMartin Sustrik
The engine was not used exclusively for TCP connections. Rather it was used to handle any socket with SOCK_STREAM semantics. The class was renamed to reflect its true function. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-15Semaphores are not used anymore, build system is adjusted accordinglyMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-15EAFNOSUPPORT defined on Windows platformMartin Sustrik
Windows headers don't defined this error. This patch defines it if not already defined. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-15Preliminary Android supportGhislain Putois
Some small changes to prepare a cross-compilation for the Android platform Signed-off-by: Ghislain Putois <ghpu@infonie.fr> Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-15Added Android supportMikko Koppanen
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2011-08-15Add IPv6 support to tcp_listenerSteven McCoy
Signed-off-by: Steven McCoy <steven.mccoy@miru.hk> Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-15Minor problems in MSVC build fixedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-14select version zmq_poll reports invalid FDsMartin Sustrik
Till now, passing invalid file descriptor to zmq_poll() caused asseration. Now it returns error. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-14Compilation error on HP-UX and AIX fixedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-14Compilation error on FreeBSD fixedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-08Minor compile-time bug on Windows fixedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-08tcp_connecter disables IPV6_IPV6ONLY if needed.Steven McCoy
Signed-off-by: Steven McCoy <steven.mccoy@miru.hk> Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-08Update resolve_ip_interface and resolve_ip_hostname with ipv4only parameter.Steven McCoy
Signed-off-by: Steven McCoy <steven.mccoy@miru.hk> Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-08Update resolve_nic_name to take more generic sockaddr parameter.Steven McCoy
Signed-off-by: Steven McCoy <steven.mccoy@miru.hk>
2011-08-08ZMQ_IPV4ONLY option addedSteven McCoy
At this point option exists, is documented and can be set, however, it has no effect. Signed-off-by: Steven McCoy <steven.mccoy@miru.hk> Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-07Minor bug in vtcp_listener fixedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-04vtcp connection string simplifiedMartin Sustrik
Till now, vtcp connection contained both port and subport. Now the port, if not specified, defaults to 9220. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-04MSVC build brought up-to-dateMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-29Different connecters simplifiedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-28Different listener implementations simplifiedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-28Tuning of TCP sockets is done at a single placeMartin Sustrik
Instead of being spread throughout the codebase, the tuning is done in tune_tcp_socket() function. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-28Dead code removed from TCP and IPC transportsMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-28Implementations of TCP and IPC transports separatedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-28Precise reconnect interval randomisedMartin Sustrik
Till now the random fraction of the reconnect interval was computed based on process ID. This patch uses pseudo-random generated (seeded by exact time of when the process was started) to compute the interval. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-28Setting TCP socket options moved to tcp_engine_tMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>