Martin Sustrik
a28928fe37
Introduce ZMQ_ROUTER and ZMQ_DEALER sockets
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-20 13:36:18 +02:00
Martin Sustrik
f437c9ed9b
Fix errors in zmq_getsockopt(3) manpage
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-20 12:27:56 +02:00
Martin Sustrik
ab99975ad4
LABEL flag added to the wire format
...
So far there was no distinction between message parts used by 0MQ
and message parts used by user. Now, the message parts used by 0MQ
are marked as 'LABEL'.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-20 11:33:54 +02:00
Martin Sustrik
ada5d42472
Basic tests now test multi-part messages instead of single-part
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-20 11:16:10 +02:00
Martin Sustrik
c80908c469
Bug fixed in pipe termination
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-20 08:21:00 +02:00
Fabien Ninoles
7572fee979
Optimise block/non-block switching in mailbox_t
...
For the platforms that don't support MSG_DONTWAIT the reader
socket in mailbox_t was kept in non-blocking state and flipped
to blocking state and back when blocking read was requested.
Now, the state is preserved between calls and flipped only
if different type of operation (block vs. non-block) is
requested.
Signed-off-by: Fabien Ninoles <fabien@tzone.org>
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-20 08:14:21 +02:00
Martin Sustrik
8440de2b14
Fix minor warning in MSVC build
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-20 08:11:48 +02:00
Martin Sustrik
f4760f02c3
Disable timeo test on MinGW
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-20 07:35:24 +02:00
Martin Sustrik
082f8e19b7
Mailbox timeouts fixed on Windows
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-19 19:08:48 +02:00
Martin Sustrik
ed680a395e
Documentation for XPUB and XSUB socket added
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-19 16:39:27 +02:00
Martin Sustrik
9f4d3767fe
Session termination error fixed
...
When session is already terminating and reconnection happens at
that point, the session should not create new pipe to its socket.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-19 12:48:36 +02:00
Martin Sustrik
00dc0245e6
Race condition in pipe_t fixed.
...
pipe_t now correctly drops pointer to the underlying pipe when
sending pipe_term_ack command.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-19 11:17:20 +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
5b77a41eaf
Throughput tests fixed.
...
Introduction of subscription forwarding have broken throughput tests.
This patch changes the pattern used in the tests to PUSH/PULL.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-19 09:22:11 +02:00
Martin Sustrik
4b60023b96
Merge branch 'master' of github.com:zeromq/libzmq
2011-06-19 09:15:06 +02:00
Steven McCoy
9b795de4af
Refactor Windows versioning and WinSock usage.Signed-off-by: Steven McCoy <steven.mccoy@miru.hk>
2011-06-18 20:44:03 +02:00
Martin Sustrik
dc66053530
Minor MSVC warning fixed
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-18 20:41:21 +02:00
Fabien Ninoles
d7923f08ca
Add sockopt ZMQ_RCVTIMEO/ZMQ_SNDTIMEO.
...
- 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-17 12:22:02 +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
65d2b70312
Minor patch to fix ICC build
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-13 08:15:05 +02:00
Martin Sustrik
970798ff98
mtrie.cpp added to MSVC build
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-13 07:54:58 +02:00
Martin Sustrik
c7fb5c54b6
Reverting previous commit that broke MSVC2010 build
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-13 07:53:22 +02:00
Steven McCoy
b164023cca
Fix scope on Windows includes.
...
Fix windows.h included before winsock2.h.
Remove definition of _WINSOCKAPI_.
Signed-off-by: Steven McCoy <steven.mccoy@miru.hk>
2011-06-12 19:37:11 +02:00
Martin Sustrik
ff93f54653
ZMQ_FILTER socket option added
...
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-06-12 15:24:08 +02:00
Martin Sustrik
e080e3e8b6
Publisher-side filtering for multi-part messages fixed
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-12 10:19:21 +02:00
Martin Sustrik
bd86def1c7
Actual message filtering happens in XPUB socket
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-11 20:29:56 +02:00
Martin Sustrik
3935258b82
Minor code beautification for mtrie_t
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-01 11:54:33 +02:00
Martin Sustrik
ee7313b4d8
Subscriptions are processed immediately in XPUB socket
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-31 16:21:17 +02:00
Martin Sustrik
a24a7c15a8
Session termination induced by socket fixed
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-31 14:36:51 +02:00
Martin Sustrik
0b59866a84
Patches from sub-forward branch incorporated
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-30 10:07:34 +02:00
Martin Sustrik
311fb0d852
Subscription matching moved from XSUB to SUB socket
...
This patch will prevent duplicate matching in devices in the future.
Instead of matching in both XPUB and XSUB, it'll happen only
in XPUB. Receiver endpoint will still filter messages via SUB
socket.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-28 09:02:21 +02:00
Martin Sustrik
718885fdcd
Pending messages are delivered even if connection doesn't exist yet
...
Bug in previous refactoring fixed.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-26 11:30:25 +02:00
Martin Sustrik
87a6490b39
All pipe termination code moved to pipe_t
...
Till now the code was spread over mutliple locations.
Additionally, the code was made more formally correct,
with explicit pipe state machine etc.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-25 10:25:51 +02:00
Martin Sustrik
3d4203decf
Fabien Ninoles added to the AUTHORS file
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-23 21:37:52 +02:00
Fabien Ninoles
71ac91ba41
Add multi-array support to array_item_t.
...
Allow to have the same item part of two different arrays, as long as
they are using different array identifier.
2011-05-23 21:36:00 +02:00
Martin Sustrik
0f6f7276e3
Move the pipe termination code to socket_base_t
...
So far, the pipe termination code was spread among socket type
classes, fair queuer, load balancer, etc. This patch moves
all the associated logic to a single place.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-23 20:30:01 +02:00
Martin Sustrik
acf0b0e515
Introduces bi-directional pipes
...
So far, there was a pair of unidirectional pipes between a socket
and a session (or an inproc peer). This resulted in complex
problems with half-closed states and tracking which inpipe
corresponds to which outpipe.
This patch doesn't add any functionality in itself, but is
essential for further work on features like subscription
forwarding.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-22 17:26:53 +02:00
Martin Sustrik
9e6b399256
Couple of minor issues in MSVC build fixed
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-17 14:27:03 +02:00
Martin Sustrik
da7b6d0b38
Paul Colomiets added to AUTHORS file
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-17 10:13:54 +02:00
Paul Colomiets
38e5f8699c
Better handling of memory error in resolve_ip_hostname
...
Signed-off-by: Paul Colomiets <pc@gafol.net>
2011-05-17 10:12:27 +02:00
Paul Colomiets
864c18f797
zmq_msg_init_data returns ERRNO instead aborting
...
Signed-off-by: Paul Colomiets <pc@gafol.net>
2011-05-17 10:09:04 +02:00
Martin Sustrik
d8d5a627b1
Duplicate initialisation of PGM_MULTICAST_HOPS removed
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-16 10:44:38 +02:00
Martin Sustrik
5d0cffc52f
ZMQ_MULTICAST_HOPS socket option added
...
Sets the time-to-live field in every multicast packet sent from the socket.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-15 18:25:43 +02:00
Martin Sustrik
49df2f416c
Fixes warning when compiling with MSVC on Win64
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-15 13:12:09 +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
Pieter Hintjens
da1ef4d268
Fixed REP assert on missing envelope
...
Signed-off-by: Pieter Hintjens <ph@imatix.com>
2011-05-08 09:02:47 +02:00
Martin Sustrik
0c5b781e97
urrent pipe pointer in XREP out of range -- fixed.
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-06 15:51:56 +02:00
Martin Sustrik
3ef7c747ac
Tore Halvorsen added to the AUTHORS file
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-04 12:43:23 +02:00
Tore Halvorsen
10120214ac
Accessing an iterator after it is accessed is not valid.
...
Moving the erase after the access and check agains current_id.
2011-05-04 12:41:10 +02:00
Martin Sustrik
ceb5e1a073
Deallocation functions in zmq.h and msg_t class are consistent.
...
The two functions had different calling conventions (C vs. C++).
It is fixed now.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-05-03 23:20:43 +02:00