Commit Graph

1297 Commits

Author SHA1 Message Date
Martin Sustrik
78b02d142e Minor optimisation in message distribution algorithm
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-14 15:16:48 +02:00
Martin Sustrik
cf499ee016 Bug in message distribution algorithm fixed (issue 251)
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-14 14:31:09 +02:00
Martin Sustrik
42737f0918 test_invlid_rep added to .gitignore
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-14 14:24:59 +02:00
Mikko Koppanen
8f8bfcaba0 Fixed issue with req assertions (issue 252)
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-13 16:27:07 +02:00
Mikko Koppanen
e191e806ea Fix polling system detection on mingw32 build
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2011-09-06 08:51:23 +02:00
Mikko Koppanen
9d0e122bfa Added option to choose internal polling system
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2011-09-04 10:28:15 +02:00
Martin Sustrik
193fa1c079 Accept square brackets around IPv6 address
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-03 10:19:08 +02:00
Pieter Hintjens
4138aca54b Fixed doc to clarify how label parts work
Signed-off-by: Pieter Hintjens <ph@imatix.com>
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-03 09:02:56 +02:00
Martin Sustrik
9fb9fea633 Improve error reporting in a minor way
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-03 07:40:49 +02:00
Martin Sustrik
8b7ac4c2a9 Close file descriptors on exec (issue 218)
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-02 15:34:12 +02:00
Martin Sustrik
2910a728dc msg_t::rm_refs closes the message when number of refs drops to 0 (issue 245)
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-02 13:44:22 +02:00
Martin Sustrik
82ab08d871 Premature deallocation bug in XSUB fixed (issue 244)
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-01 13:02:22 +02:00
Martin Sustrik
65bb75863d Fixed warnings on Win64
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-01 07:26:17 +02:00
Martin Sustrik
940c5b346b zmq_msg_t changed to structure
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-31 15:23:00 +02:00
Martin Sustrik
dd7c629a27 Typo fixed in zmq_socket(3)
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-19 14:42:31 +02:00
Martin Sustrik
80a5f60e33 NIC name resolution moved to tcp_address_t
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-19 12:34:31 +02:00
Martin Sustrik
f0c7edbc9c Missing include added to ip.cpp
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-18 21:16:22 +02:00
Martin Sustrik
898ee99dc1 Windows build fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-18 17:58:46 +02:00
Martin Sustrik
b6ecb00d23 TCP address related functionality moved to tcp_address_t
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-18 17:40:42 +02:00
Martin Sustrik
4a8dd1e404 MSVC build fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-18 11:24:14 +02:00
Martin Sustrik
b01a8e1751 IPC address related functionality refactored into ipc_address_t class
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-18 11:08:22 +02:00
Martin Sustrik
3488af048f Fix the PGM support on win64
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-17 18:41:02 +02:00
Martin Sustrik
ed373450a2 MSVC build fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-16 12:59:49 +02:00
Martin Sustrik
b3bac17607 tcp_engine renamed to stream engine
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-16 12:44:34 +02:00
Martin Sustrik
41457e1ff1 Semaphores are not used anymore, build system is adjusted accordingly
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-15 22:02:15 +02:00
Martin Sustrik
714d3b288f EAFNOSUPPORT defined on Windows platform
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-15 20:39:48 +02:00
Ghislain Putois
85851d3127 Preliminary Android support
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-15 19:39:21 +02:00
Mikko Koppanen
0354d4d37f Added Android support
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2011-08-15 19:09:04 +02:00
Steven McCoy
57440b86e2 Add IPv6 support to tcp_listener
Signed-off-by: Steven McCoy <steven.mccoy@miru.hk>
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-15 08:56:00 +02:00
Martin Sustrik
3c3c0bfd1f Minor problems in MSVC build fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-15 08:02:36 +02:00
Martin Sustrik
9196c48256 select version zmq_poll reports invalid FDs
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-14 14:23:16 +02:00
Martin Sustrik
9380098534 Compilation error on HP-UX and AIX fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-14 14:06:42 +02:00
Martin Sustrik
6dc3b2a657 Compilation error on FreeBSD fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-14 13:48:28 +02:00
Martin Sustrik
a3f27400de Minor compile-time bug on Windows fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-08 18:49:30 +02:00
Steven McCoy
1c54ce37b3 tcp_connecter disables IPV6_IPV6ONLY if needed.
Signed-off-by: Steven McCoy <steven.mccoy@miru.hk>
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-08 16:07:54 +02:00
Steven McCoy
c27b9ac7de Update resolve_ip_interface and resolve_ip_hostname with ipv4only parameter.
Signed-off-by: Steven McCoy <steven.mccoy@miru.hk>
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-08 15:23:46 +02:00
Steven McCoy
9184a54f64 Update resolve_nic_name to take more generic sockaddr parameter.
Signed-off-by: Steven McCoy <steven.mccoy@miru.hk>
2011-08-08 12:39:13 +02:00
Steven McCoy
784041f5b9 ZMQ_IPV4ONLY option added
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-08 12:10:31 +02:00
Martin Sustrik
8378180cbb Minor bug in vtcp_listener fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-07 16:09:52 +02:00
Martin Sustrik
24230515f5 vtcp connection string simplified
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-04 13:11:15 +02:00
Martin Sustrik
be48970977 MSVC build brought up-to-date
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-08-04 07:44:35 +02:00
Martin Sustrik
d5f3628ad0 Different connecters simplified
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-29 09:37:43 +02:00
Martin Sustrik
f63db009a1 Different listener implementations simplified
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-28 16:32:08 +02:00
Martin Sustrik
b45fec337a Tuning of TCP sockets is done at a single place
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-28 15:13:04 +02:00
Martin Sustrik
46b053b8d6 Dead code removed from TCP and IPC transports
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-28 13:46:16 +02:00
Martin Sustrik
5ac63140b0 Implementations of TCP and IPC transports separated
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-28 13:19:55 +02:00
Martin Sustrik
6e987428d4 Precise reconnect interval randomised
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-28 09:02:54 +02:00
Martin Sustrik
ce7a9a58e3 Setting TCP socket options moved to tcp_engine_t
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-28 08:06:21 +02:00
Martin Sustrik
588c728702 vtcp_connecter fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-27 09:29:48 +02:00
Martin Sustrik
d7319de3d0 First version of vtcp_connecter added
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-26 22:57:19 +02:00