summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2010-09-01sys transport introdced; inproc://log moved to sys://logMartin Sustrik
2010-09-01MSVC build fixedMartin Sustrik
2010-09-01context creates an inproc endpoint ('inproc://log') to distribute 0MQ's log ↵Martin Sustrik
messages
2010-09-01assert when pipe attaches to PUB socket in process of termination -- fixedMartin Sustrik
2010-09-01pipe being attached to the PAIR socket during its termination process is ↵Martin Sustrik
immediately asked to terminate itself
2010-09-01hangup when closing socket with no pipes attached -- fixedMartin Sustrik
2010-08-31naming cleanup: yarray->arrayMartin Sustrik
2010-08-31naming cleanup: zmq_encoder->encoder, zmq_decoder->decoderMartin Sustrik
2010-08-30OSX build fixed -- semaphore replaced by mutexMartin Sustrik
2010-08-30Issue 54 - socket_base.cpp:162 comparison errorMartin Sustrik
2010-08-28prefix_tree_t renamed to trie_tMartin Sustrik
2010-08-28swap's block size made into a compile-time parameterMartin Sustrik
2010-08-28msg_store_t renamed to swap_tMartin Sustrik
2010-08-28refactoring of pipe/swap interactionMartin Sustrik
2010-08-28terminology unified: revive->activateMartin Sustrik
2010-08-28bug in pipe deactivation fixedMartin Sustrik
2010-08-28zmq_poll: account for the fact that ZMQ_FD is edge-triggeredMartin Sustrik
2010-08-27assert on malformed messagesDhammika Pathirana
2010-08-27zmq_poll returns prematurely even if infinite timeout is set - fixedMartin Sustrik
2010-08-27forwarder and streamer devices handle multi-part messages correctlyJon Dyte
2010-08-26improved null checking in zmq_termIvo Danihelka
2010-08-25MSVC build fixedMartin Sustrik
2010-08-25elementary fixes to the named sessionMartin Sustrik
2010-08-25connecter object unregisters its fd correctlyMartin Sustrik
2010-08-25listener object unregisters its fd correctlyMartin Sustrik
2010-08-25sessions created by listerner are correctly shut downMartin Sustrik
2010-08-25added ZMQ_MAKE_VALGRIND_HAPPY compile-time optionMartin Sustrik
2010-08-25engine leak fixed; pgm compilation fixedMartin Sustrik
2010-08-25one more dezombification bug fixedMartin Sustrik
2010-08-25dezombification procedure fixedMartin Sustrik
2010-08-25engine termination on disconnect fixedMartin Sustrik
2010-08-25I/O object hierarchy implementedMartin Sustrik
2010-08-25zmq_poll(): Fix some corner casesMartin Lucina
Trying to optimize out the case where items_[i]. events is 0 would result in a bogus pollfds[i]. Similarly in the select()-based impl, while not strictly necessary it's better to get ZMQ_FD even if events is 0 since that detects ETERM and friends.
2010-08-25zmq_poll(): Rewrite to use ZMQ_FD/ZMQ_EVENTS pt2Martin Lucina
Rewrite the select()-based zmq_poll() implementation to use ZMQ_FD and ZMQ_EVENTS. Also fix some corner cases: We should not pollute revents with unrequested events, and we don't need to poll on ZMQ_FD at all if a pollitem with no events set was passed in.
2010-08-25Fix whitespaceMartin Lucina
Dunno where those <TAB>s came from...
2010-08-25zmq_poll(): Rewrite to use ZMQ_FD/ZMQ_EVENTS pt1Martin Lucina
Rewrite zmq_poll() to use ZMQ_FD and ZMQ_EVENTS introduced on the wip-shutdown branch. Only do the poll()-based version of zmq_poll (), the select()-based version will not compile at the moment.
2010-08-25REP socket layered on top of XREP socketMartin Sustrik
2010-08-25REQ socket implementation is layered on top of XREQMartin Sustrik
2010-08-25Destruction of session is delayed till both in & out pipes are closedMartin Sustrik
2010-08-25WIP: Socket migration between threads, new zmq_close() semanticsMartin Sustrik
Sockets may now be migrated between OS threads; sockets may not be used by more than one thread at any time. To migrate a socket to another thread the caller must ensure that a full memory barrier is called before using the socket from the target thread. The new zmq_close() semantics implement the behaviour discussed at: http://lists.zeromq.org/pipermail/zeromq-dev/2010-July/004244.html Specifically, zmq_close() is now deterministic and while it still returns immediately, it does not discard any data that may still be queued for sending. Further, zmq_term() will now block until all outstanding data has been sent. TODO: Many bugs have been introduced, needs testing. Further, SO_LINGER or an equivalent mechanism (possibly a configurable timeout to zmq_term()) needs to be implemented.
2010-08-25zmq_stopwatch_stop: Don't return EFAULTMartin Lucina
Function returning unsigned long int cannot return (-1)
2010-08-1146 - Devices vulnerable to invalid messagesPieter Hintjens
http://github.com/zeromq/zeromq2/issues#issue/46 Invalid messages are now discarded silently, instead of causing an assertion failure.
2010-08-08Added error checking (EFAULT) for null argumentsPieter Hintjens
* Fixed zmq_term, zmq_socket, zmq_close, zmq_setsockopt, * zmq_getsockopt, zmq_bind, zmq_connect, zmq_send, * zmq_recv, zmq_poll, zmq_device, zmq_stopwatch_stop * Updated Reference Manual for these methods
2010-08-07Added not-null assertions on pointer arguments in C API functionsPieter Hintjens
* zmq_term * zmq_socket * zmq_close * zmq_setsockopt * zmq_getsockopt * zmq_bind * zmq_connect * zmq_send * zmq_recv * zmq_poll * zmq_device * zmq_stopwatch_stop
2010-08-06Fix uninitialized use of nbytes in signaler fixMartin Lucina
2010-08-05zmq::signaler_t: Restart syscalls on EINTRMartin Lucina
This patch restarts the send() or recv() inside zmq::signaler_t if the call fails due to EINTR.
2010-08-04Renamed ZMQ_UPSTREAM to ZMQ_PULL, and ZMQ_DOWNSTREAM to ZMQ_PUSH. Left the oldPieter Hintjens
definitions as aliases, to be removed in release 3.0. Also renamed the source files implementing these two socket types. This change does not break existing applications nor bindings, but allows us to fix the documentation and user guide now, rather than keeping the old (confusing) names.
2010-07-30XREQ: Correct behaviour on hitting ZMQ_HWMMartin Lucina
This reverts part of commit 84e0c7991a9b316ed571533abc628cc1175750a3 to get correct ZMQ_HWM semantics with XREQ sockets: When sending a message to an XREQ socket, the underlying pipe is selected in a round-robin fashion. If an underlying pipe is full it is skipped. If there are no underlying pipes, or all underlying pipes are full then zmq_send() shall block or return EAGAIN, depending on whether or not the call is blocking. Messages are never dropped.
2010-07-24pipe: check_read() should check for message delimiterMartin Hurton
2010-07-24Make sure lwm > 0 when hwm > 0Martin Hurton