Commit Graph

156 Commits

Author SHA1 Message Date
Ivo Danihelka
1d8b132d36 Updated connector open() doc strings.
Signed-off-by: Ivo Danihelka <ivo@danihelka.net>
2011-12-21 16:33:16 +01:00
Martin Lucina
a9e03336b0 A synchronous connect() failure in ipc_connecter can result in Assertion
failed: s == retired_fd (ipc_connecter.cpp:174), as reported in LIBZMQ-294.

This patch fixes the bug, and also an identical problem in tcp_connecter
which has not hit people since TCP connect() usually completes via the
asynchronous code path (poll, out_event).

Signed-off-by: Martin Lucina <martin@lucina.net>
2011-12-15 13:23:40 +01:00
Martin Sustrik
8e21d64c97 Copyright dates adjusted to reflect reality
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-01 18:06:11 +01:00
Martin Sustrik
ac7717b7b3 250bpm copyrights added
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-31 16:20:30 +01: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
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
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
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
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
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
Martin Sustrik
d5f3628ad0 Different connecters simplified
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-29 09:37:43 +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
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
258e7e6794 Code cleanup
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-26 20:13:54 +02:00
Martin Sustrik
279302c5f5 Experimental VTCP listener added
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-26 18:35:40 +02:00
Martin Sustrik
9119b4fd7b TCP transport classes simplified
zmq_engine and tcp_socket merged into tcp_engine
zmq_connecter and tcp_connecter merged into tcp_connecter
zmq_listener and tcp_listener merged into tcp_listener

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-26 00:43:57 +02:00
Martin Sustrik
6052709c2a ENETDOWN is a legal error from TCP connect
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-19 09:33:01 +02:00
Martin Sustrik
e895607ca7 ENETUNREACH is a valid error from connect
This patch fixed the JIRA issue 223

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-14 09:58:18 +02:00
Martin Sustrik
49387874ef Async connect doesn't fail on EWSANETDOWN
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-08 09:03:49 +02:00
Martin Sustrik
96213d5735 WSAENETUNREACH is a valid networking error
Till now, 0MQ asserted on Windows when connect () returned
WSAENETUNREACH.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-04-29 07:23:30 +02:00
Martin Sustrik
e0246e32d7 Message-related functionality factored out into msg_t class.
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-21 22:27:48 +02:00
Martin Sustrik
18b9ebea32 The copyrights in file headers updated.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-02 16:30:40 +01:00
Martin Sustrik
b358df9fff Name of "GNU Lesser Public License" corrected.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-30 15:08:28 +02:00
Martin Sustrik
269904361b minor comment clarification 2010-07-13 11:46:56 +02:00
Martin Sustrik
5ee355d188 if connect asserts, exact error is reported 2010-06-11 07:02:36 +02:00
Martin Sustrik
27877d73ea EHOSTUNREACH is acceptable outcome from connect 2010-06-11 06:55:30 +02:00
Martin Sustrik
d329c55da9 issue 31 - Assertion failed: err == ECONNREFUSED || err == ETIMEDOUT (tcp_connecter.cpp:296) 2010-06-10 07:12:00 +02:00
Martin Sustrik
240fc33f65 minor comment clarification 2010-06-07 20:23:48 +02:00
Brett Cameron
714a8d50a0 fixes for OpenVMS 2010-05-12 12:45:12 +02:00
Martin Lucina
27e2d08449 Restructure language bindings
C and C++ headers moved from bindings/ to include/, bindings/ removed
--with-c and --with-cpp options to configure removed, C and C++ now built
and installed by default
2010-03-11 20:33:27 +01:00
Martin Sustrik
2d44bf3644 ZMQII-69: Make 0MQ build on HP-UX 2010-02-10 11:04:28 +01:00
Martin Sustrik
d21bf21a36 allow async connect on Win32 return WSAECONNABORTED 2010-02-05 13:00:49 +01:00
Martin Sustrik
30076c4f7a ZMQII-58: TCP connecting asserts on Win32 (same fix for POSIX) 2010-02-04 17:46:47 +01:00
unknown
c46b7ed197 ZMQII-58: TCP connecting asserts on Win32 2010-02-04 17:40:04 +01:00
Martin Sustrik
2634934999 IPv6 patch part 2/2 2010-01-23 08:19:30 +01:00
Martin Sustrik
34d65e22c5 Tero Marttila's Ipv6 patch - part I. 2010-01-22 13:13:52 +01:00
Martin Sustrik
6a46ca75e5 ZMQ-42: Building with ICC fails 2010-01-20 09:22:41 +01:00
Martin Sustrik
51e012c446 Solaris build fixed 2010-01-16 09:39:44 +01:00
unknown
a507d16e13 Win32 build fixed 2010-01-15 14:21:20 +01:00
Martin Sustrik
2bb57ac57a ZMQII-39: Implement IPC transport 2010-01-15 14:11:39 +01:00
Martin Sustrik
4f6baf4dde Copyrights transferred from FastMQ to iMatix 2010-01-05 08:29:35 +01:00
unknown
49a9ef5fcb windows error handling improved 2009-10-01 13:48:04 +02:00
Martin Sustrik
e940878b3f build on win32 fixed 2009-09-11 16:59:47 +02:00
Martin Sustrik
f824b8a067 classify error from async connect as network related or 0MQ bugs 2009-09-10 16:59:22 +02:00