Age | Commit message (Collapse) | Author |
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.cpm>
|
|
|
|
Signed-off-by: Staffan Gimåker <staffan@spotify.com>
|
|
This is a fail-fast mechanism to prevent undefined behaviour later
on. In the future, the new connection should be closed in this case.
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 Lucina <martin@lucina.net>
|
|
Signed-off-by: Martin Lucina <martin@lucina.net>
|
|
Enabled using --enable-libzmq-compat, this installs a drop-in
libzmq library and headers. Not enabled by default since it will
overwrite any existing libzmq install.
Signed-off-by: Martin Lucina <martin@lucina.net>
|
|
Signed-off-by: Martin Lucina <martin@lucina.net>
|
|
Signed-off-by: Staffan Gimåker <staffan@spotify.com>
|
|
This matches the behaviour of zmq_setsockopt(ZMQ_SUBSCRIBE, ...), which also
silently drops subscription messages if the SNDHWM is reached.
Signed-off-by: Staffan Gimåker <staffan@spotify.com>
|
|
On systems where int size != pointer size the coversion
resulted in compile-time error.
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 timeout should be int. For historical reasons, however,
it is defined as long. To fix the problem the value is
checked in the runtime to assure it is not larger than INT_MAX.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
It doesn't play well with multipart messages.
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 relationship of these two classes was 1:1.
Thus one of them was obsolete.
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 inspiration for this re-write came form John Skaller's
patch. Adding him to Credits section of the AUTHORS file.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
zmq_close() cannot be synchronised even though ZMQ_REENTRANT is set.
It's user's responsibility not to invoke the socket from another
thread once zmq_close() have been called.
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>
|
|
To implement context options properly, initialisation of context
is postponed till creation of the first socket. In the meantime
it is possible to set socket options.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.cpm>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.cpm>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Invalid handle is now specified as handle == NULL
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
With the introduction of subscription forwarding, the first message
sent on a PUB socket using a unidirectional transport (e.g. PGM) is
always lost due to the "subscribe to all" being done asynchronously.
This patch fixes the problem and also refactors the code to have a
single point where the "subscribe to all" is performed.
Signed-off-by: Martin Lucina <martin@lucina.net>
|
|
Timers are not longer identified by hard-wired IDs.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
poll_t and select_t polling mechanism convert fd into void*.
When fd 0 was converted NULL pointer resulted. Fixed.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
This is more consistent with adjacent add_fd and rm_fd functions.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Poller object is virtualised. You can access poller via its
base class (poller_base_t) instead of using poller_t which
was a typedef pointing to actual derived class.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Till now the selection process was implemented both
in autotools build system and in the code itself.
From now on, it's exclusively build system's taks to
choose the right polling mechanism.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Polling handle type was previously dependent on polling mechanism
used. Now it is void* in all cases. This patch is a first step
in the long way to separate the transports from the core library.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
When there are multiple subscribers connected to the same PUB socket and one
of them disconnects, one of the orhers loses one message. Fixed.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Staffan Gimåker <staffan@spotify.com>
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Iterator was checked although the item it was pointing to was erased.
Now it never happens.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Till now the "valid" tag of the socket was removed only after
the socket was properly deallocated by the reaper thread. That
allowed user to access it while it was in the process of being
deallocated. Now, the "valid" tag is removed as soon as zmq_close
is called.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
It was possible to open a new socket while the log socket was being shut down.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|
|
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
|