- 12 Jun, 2012 2 commits
-
-
Ian Barber authored
Revert "Fix a number of whitespace issues in various parts of the code, add validation to most calls on the test and take a first stab at implementing the reconnection pipe blocking." This reverts commit 6f6466f0.
-
Ian Barber authored
Revert "On the advice of Martin Hurton, removed the new command type and just terminated the pipe in a reconnect situation, and notified the socket of the same. This handles the blocking properly, but at the cost of potentially losing in flight messages. However, this is a reasonable trade off given how much simpler it makes the patch." This reverts commit c13f1d52.
-
- 04 Jun, 2012 1 commit
-
-
Ian Barber authored
On the advice of Martin Hurton, removed the new command type and just terminated the pipe in a reconnect situation, and notified the socket of the same. This handles the blocking properly, but at the cost of potentially losing in flight messages. However, this is a reasonable trade off given how much simpler it makes the patch.
-
- 03 Jun, 2012 1 commit
-
-
Ian Barber authored
Fix a number of whitespace issues in various parts of the code, add validation to most calls on the test and take a first stab at implementing the reconnection pipe blocking. It didn't seem straightforward to use any of the existing process calls, so I have added a new command to command_t and friends called detach. This instructs the socket_base to remove the pipe from it's pipe list. The session base stores a copy of the outpipe, and will resend the bind command on reconnection. This should allow balancing again.
-
- 04 May, 2012 1 commit
-
-
Lourens Naudé authored
-
- 28 Apr, 2012 1 commit
-
-
Martin Hurton authored
-
- 20 Apr, 2012 1 commit
-
-
Sergey KHripchenko authored
-
- 18 Apr, 2012 1 commit
-
-
Sergey KHripchenko authored
-
- 17 Apr, 2012 1 commit
-
-
Ian Barber authored
socket. Thus, it is shared between subsequent calls to xs_recv (and xs_send). That in turn significantly limits the number of invocations of getimeofday (or similar) when timeouts are used and recv/send is called in a tight loop.
-
- 20 Mar, 2012 1 commit
-
-
Pieter Hintjens authored
* Implemented new ctx API (_new, _destroy, _get, _set) * Removed 'typesafe' macros from zmq.h * Added support for MAX_SOCKETS (was tied into change for #337) * Created new man pages
-
- 19 Mar, 2012 1 commit
-
-
Pieter Hintjens authored
-
- 03 Feb, 2012 2 commits
-
-
skaller authored
We use a distinct context initialisation function to specify all sockets derived therefrom will be thread safe. However the inheritance is done exclusively in the C interface. This is not really correct, but it is chosen to minimise interference with the existing C++ code, including any construct or other calls within the C++ code base. Semantically the C++ code should be unchanged, physically some data structures and extra methods are provided by they're only used from the C binding.
-
skaller authored
1. Reorganise C API socket functions to eliminate bad practice of public functions calling other public functions. This should be done for msg's too but hasn't been in this patch. 2. Reorganise code in C API socket functions so that the socket is cast on one line, the C++ function called on the next with the result retained, then the result is returned. This makes the code much simpler to read and also allows pre- and post- call hooks to be inserted easily. 3. Insert pre- and post- call hooks which set and release a mutex iff the thread_safe flag is on. 4. Add the thread_safe_flag to base_socket_t initialised to false to preserve existing semantics. Add an accessor for the flag, add a mutex, and add lock and unlock functions. Note: as yet no code to actually set the flag.
-
- 02 Feb, 2012 1 commit
-
-
Martin Lucina authored
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>
-
- 09 Nov, 2011 1 commit
-
-
AJ Lewis authored
Older versions of gcc have problems with in-line forward declarations when there's a naming conflict with a global symbol. Signed-off-by:
AJ Lewis <aj.lewis@quantum.com> Expand the original patch to all such forward declarations. Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 01 Nov, 2011 2 commits
-
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 31 Oct, 2011 1 commit
-
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 17 Jul, 2011 1 commit
-
-
Martin Sustrik authored
GENERIC allows to use 0MQ as a dumb networking framework. It provides user with connect/disconnect notifications. Also, each inbound message is labeled by ID of the connection it originated from. Outbound messages should be labeled by the ID of the connection to send them to. To distinguish connect/disconnect notifications from common messages, COMMAND flag was introduced. Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 15 Jul, 2011 1 commit
-
-
Martin Sustrik authored
This patch simplifies the whole codebase significantly, including dropping depedency on libuuid. Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 20 Jun, 2011 1 commit
-
-
Martin Sustrik authored
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>
-
- 17 Jun, 2011 1 commit
-
-
Fabien Ninoles authored
- 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>
-
- 30 May, 2011 1 commit
-
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 23 May, 2011 2 commits
-
-
Fabien Ninoles authored
Allow to have the same item part of two different arrays, as long as they are using different array identifier.
-
Martin Sustrik authored
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>
-
- 22 May, 2011 1 commit
-
-
Martin Sustrik authored
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>
-
- 21 Apr, 2011 1 commit
-
-
Martin Sustrik authored
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>
-
- 09 Apr, 2011 1 commit
-
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 02 Mar, 2011 1 commit
-
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 25 Feb, 2011 1 commit
-
-
Martin Sustrik authored
Till now the deallocation of such socket was delayed till zmq_term() thus creating a "leak". Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 09 Feb, 2011 2 commits
-
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
Martin Sustrik authored
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>
-
- 13 Jan, 2011 1 commit
-
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 13 Dec, 2010 1 commit
-
-
Dhammika Pathirana authored
Signed-off-by:
Dhammika Pathirana <dhammika@gmail.com>
-
- 05 Nov, 2010 2 commits
-
-
Martin Sustrik authored
For historical reasons queue to transfer commands between threads was called 'signaler'. Given that it was used to pass commands rather than signals it was renamed to 'mailbox', see Erlang mailboxes. Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
Martin Sustrik authored
Threads were so far identified by integers called 'slots'. This patch renames them to more comprehensible 'tid's (thread IDs). Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 30 Oct, 2010 1 commit
-
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 16 Oct, 2010 1 commit
-
-
Martin Sustrik authored
1. ZMQ_LINGER option can be set/get 2. options are part of own_t base class rather than being declared separately by individual objects 3. Linger option is propagated with "term" command so that the newest value of it is used rather than the stored old one. 4. Session sets the linger timer if needed and terminates as soon as it expires. 5. Corresponding documentation updated. Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 26 Sep, 2010 1 commit
-
-
Martin Sustrik authored
-
- 21 Sep, 2010 1 commit
-
-
Martin Sustrik authored
-