Age | Commit message (Collapse) | Author |
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Done because of POSIX compliance
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
These new options allow to control the maximum size of the
inbound and outbound message pipe separately.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
This mimics POSIX specification.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
There's only one option now -- ZMQ_RECOVRY_IVL --
and it's measured in milliseconds.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
On-disk storage should be implemented in devices rather than
in 0MQ core. 0MQ is a networking library and there's no point
in storing network buffers on disk.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
send/recv now complies with POSIX by using raw buffers instead
of message objects and by returning number of bytes sent/recvd
instead of 0/-1.
The return value is changed accordingly for sendmsg and recvmsg.
Note that related man pages will be fixed in a separate patch.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Devices are basically applications on top of 0MQ stack. They
should reside in separate libraties.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Multicast loopback is not a real multicast, rather a kernel-space
simulation. Moreover, it tends to be rather unreliable and lossy.
Removing the option will force users to use transports better
suited for the job, such as inproc or ipc.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
The old timeout in microsecond haven't been compliant with
POSIX and was impractical at the same time.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
If the peer getting the message have disconnected in the middle
of multiplart message, the remaining part of the message went
to a different peer. This patch fixes the issue.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
When new peer connects to a PUB socket while it is in the middle
of sending of multi-part messages, it gets just the remaining
part of the message, i.e. message atomicity is broken.
This patch drops the tail part of the message and starts sending
to the peer only when new message is started.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Jon Dyte <jon@totient.co.uk>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
There was an error in pgm_receiver wrt strict aliasing.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Compilation of ip.cpp have failed because EPROTONOSUPPORT
was undefined. Including zmq.h should help as the error
code is defined there.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
The new option allows user to guard against peers sending
oversized messages. Connection to peer sending oversized message
is dropped.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
The identity of bound socket was not used. Instead, transient
identity was generated.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Till now the deallocation of such socket was delayed
till zmq_term() thus creating a "leak".
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
This means that all the handshaking while accepting incoming
connection is done exclusively in I/O threads, thus it won't
overload the application thread's mailbox.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
So far ZMQ_RECONNECT_IVL delay was used only when TCP connect
failed. Now it is used even if connect succeeds and the peer
closes the connection afterwards.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
- ctx constructor was calling mailbox_t constructor implicitly
- moved WSAStartup and WSACleanup to be outside constructor/destructor
Signed-off-by: Pieter Hintjens <ph@imatix.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Reaper thread destroys the socket asynchronously.
zmq_term() can be interrupted by a signal (EINTR).
zmq_socket() will return ETERM after zmq_term() was called.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
The internal log socket was subtracted from the number of
available sockets. So, if max_sockets was set to 100,
you could create only 99 sockets. Fixed.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
The patch allows for running 0MQ on Solaris and HP-UX
even though ulimit for max number of file descriptors
is set to unlimited.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
The problem was that RLIMIT_NOFILE can be set to RLIM_INIFINITY
(and that appears to be default on AIX) which caused 0MQ to fail.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
It allows for exponential back-off strategy when reconnecting.
Signed-off-by: Thijs Terlouw <thijsterlouw@gmail.com>
|