Martin Sustrik
5936379b29
Bug in mtrie fixed
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-16 15:02:52 +02:00
Martin Sustrik
06bdf2c4f9
Check message syntax in REQ asynchronously
...
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-16 09:29:43 +02:00
Martin Sustrik
f78d9b6bfc
Session class separated into socket-type-specific sessions
...
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-15 10:00:23 +02:00
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