- 23 Jul, 2015 4 commits
-
-
KIU Shueng Chuan authored
-
KIU Shueng Chuan authored
-
Ricardo Catalinas Jiménez authored
Fixes not receiving unsubscription messages in XPUB socket with ZMQ_XPUB_VERBOSE and using a XSUB-XPUB proxy in front. This adds two modifications: - It adds a new flag, ZMQ_XPUB_VERBOSE_UNSUBSCRIBE, to enable verbose unsubscription messages, necessary when using a XSUB/XPUB proxy. - It adds a boolean switch to zmq::mtrie_t::rm () to control if the callback is invoked every time or only in the last removal. Necessary when a pipe is terminated and the verbose mode for unsubscriptions is enabled.
-
Richard Newton authored
-
- 22 Jul, 2015 4 commits
-
-
Giulio Eulisse authored
-
Brian Silverman authored
Previously, AddressSanitizer flagged leaks when running tests/test_many_sockets.cpp.
-
KIU Shueng Chuan authored
-
Brian Silverman authored
I traced memory leaks found using AddressSanitizer down to these.
-
- 20 Jul, 2015 1 commit
-
-
Jens Auer authored
Fixed wrong message::init arguments.
-
- 08 Jul, 2015 1 commit
-
-
Juha Reunanen authored
LIBZMQ-195 allow explicitly setting sndbuf and rcvbuf to 0 (see https://support.microsoft.com/en-us/kb/201213)
-
- 07 Jul, 2015 2 commits
-
-
Juha Reunanen authored
-
Juha Reunanen authored
-
- 05 Jul, 2015 4 commits
-
-
Thomas Köppe authored
-
Thomas Köppe authored
-
Jens Auer authored
- Replaced stdlib.h with cstdlib - Made single-argument constructors explicit
-
Jens Auer authored
A memcpy is eliminated when receiving data on a ZMQ_STREAM socket. Instead of receiving into a static buffer and then copying the data into the buffer malloced in msg_t::init_size, the raw_decoder allocates the memory for together with the reference-counter and creates a msg_t object on top of that memory. This saves the memcpy operation. For small messages, data is still copied and the receive buffer is reused.
-
- 02 Jul, 2015 1 commit
-
-
Thomas Köppe authored
-
- 01 Jul, 2015 2 commits
-
-
Thomas Köppe authored
-
Thomas Köppe authored
-
- 30 Jun, 2015 3 commits
-
-
Thomas Köppe authored
-
Thomas Köppe authored
-
Thomas Köppe authored
-
- 26 Jun, 2015 1 commit
-
-
Jonathan Reams authored
Set the ZMQ_HEARTBEAT_TIMEOUT to default to the value of ZMQ_HEARTBEAT_IVL if it's not explicitly set. Change the units of ZMQ_HEARTBEAT_TTL to milliseconds in the API and round down to the nearest decisecond so that all the options are using the same units. Make the maximum heartbeat TTL match the spec (6553 seconds)
-
- 24 Jun, 2015 1 commit
-
-
Jonathan Reams authored
This commit adds ZMTP connection heartbeats described in http://rfc.zeromq.org/spec:37/ZMTP.
-
- 23 Jun, 2015 2 commits
-
-
Marin Atanasov Nikolov authored
-
Constantin Rack authored
-
- 14 Jun, 2015 3 commits
-
-
Jens Auer authored
-
Jens Auer authored
The shared reference count was not shared but copied. msg_t cannot store the refcnt itsef but has to store a pointer to an externally allocated (shared) refcnter. The changes to lmsg are reverted to use content_t again. Howver, this introduces an allocation in v2_decoder when creating the message which can be avoided. When allocating the reception buffer, space is allocated for the maximum number of reference counts (8192 / max_vsm_size = 8192/64 = 128 zmq:atomic_counter objects). This increases the buffer by 128*sizeof(atomic_counter) = 128*4 = 512 bytes only. When creating a message, the refcnt member is set to the address of one of the pre-allocated atomic_counter_t objects. To do so, a new msg_t type zcmsg is introduced because msg::copy must discriminate between the message types when releasing memory.
-
Jens Auer authored
zero-copy msg_t::init cannot be used when the message exceeds either the buffer end or the last received byte. To detect this, the buffer is now resized to the numnber of received bytes.
-
- 13 Jun, 2015 1 commit
-
-
Kapp Arnaud authored
See #1220 recent comments. This change is untested yet seems safe.
-
- 07 Jun, 2015 2 commits
-
-
Min RK authored
-
Kapp Arnaud authored
Fixes #1431.
-
- 05 Jun, 2015 3 commits
-
-
Richard Newton authored
-
Richard Newton authored
-
Richard Newton authored
-
- 03 Jun, 2015 2 commits
-
-
Jens Auer authored
Construct messages from a reference-counted buffer allocated once per receive instead of copying the data.
-
Jens Auer authored
With a msg_t size of 64 bytes, it becomes possible to embedd the content_t's members struct for large messages directly in the msg_t. This saves the dynamic allocation of content_t obejcts when using msg_t::init_data. content_t contains a zmq::atomic_counter_t object which is not a POD in C++98 and thus it cannot be used as a member of the union u. To bypass this, C++11 is used which has relaxed rules for POD and atomic_counter is a C++11-POD. An alternative would have been to make atomic_counter a classical POD by removing constructors and all private member functions, i.e. have a struct and free functions to manipulate it. A new msg_t::init function is added which decides to either to copy the data for size<64 bytes or use msg_t::init_data to do zero-copy initialization.
-
- 02 Jun, 2015 2 commits
-
-
Pieter Hintjens authored
Of course people still "can" distributed the sources under the LGPLv3. However we provide COPYING.LESSER with additional grants. Solution: specify these grants in the header of each source file.
-
ALEKSANDR MELNIKOV authored
-
- 27 May, 2015 1 commit
-
-
Rik van der Heijden authored
Fix another degradation, CPU maxes out when POLLOUT is set because poll exits on POLLOUT and doesn't wait for POLLIN.
-