1356 Commits

Author SHA1 Message Date
Pieter Hintjens
d826c53b9b Bumped ZMTP revision to 2
* Starting draft ZMTP/2.1 protocol (revision 2)
* Basis for adding security to the wire protocol
* Maintains backward compatibility
2013-03-12 15:49:23 +01:00
Pieter Hintjens
785ef41f67 Refactored codecs to match ZMTP version numbers 2013-03-12 15:29:37 +01:00
Pieter Hintjens
f0f16505e5 Removed corporate advertisements from source file headers
Copyrights had become ads for Sustrik's corporate sponsors, going against the original
agreement to share copyrights with the community (that agreement was: one line stating
iMatix copyright + one reference to AUTHORS file). The proliferation of corporate ads
is also unfair to the many individual authors. I've removed ALL corporate title from
the source files so the copyright statements can now be centralized in AUTHORS and
source files can be properly updated on an annual basis.
2013-03-12 13:24:57 +01:00
Guido Goldstein
b0b8ab27c5 Changed message structure for event notifications. 2013-03-08 13:48:18 +01:00
Guido Goldstein
21eeb03b6c Simplified the zmq_event_t structure for easier access and better usability towards language bindings. 2013-03-08 10:34:25 +01:00
Duane Littleton
1e52a451d6 Windows: Fix rounding error when calculating now_us
Improve accuracy of time calculations and avoid division by zero when
ticksPerSecond.QuadPart < 1000000.
2013-02-27 13:53:07 -05:00
Ian Barber
897023c3c1 Merge pull request #518 from hintjens/master
Fixed MAXMSGSIZE setsockopt, which I'd broken
2013-02-20 11:44:22 -08:00
Pieter Hintjens
a85c9f45d1 MAXMSGSIZE broke when I cleaned up this code - fixed 2013-02-20 14:05:55 +01:00
Sébastien Rombauts
57f84d6811 Windows CE support : some more #if !defined _WIN32_WCE
- Windows CE does not manage security attributes (no SetSecurityDescriptorDacl(), SetEvent (NULL, xxx) ...)
- Windows CE does not inheritance of sockets for child process (SetHandleInformation ((HANDLE) *w_, HANDLE_FLAG_INHERIT...)
- see comments about story "Porting ZeroMQ to Windows Mobile" on webpage http://www.zeromq.org/story:5
2013-02-19 18:57:12 +01:00
Sébastien Rombauts
41d79bc19e Windows CE support : using standard _WIN32_WCE flag instead of WINCE
- when compiling for Windows CE, a C++ project must define the preprocessor definitions: UNDER_CE=$(CEVersion),_WIN32_WCE=$(CEVersion)
- choosing the "_WIN32_CE" form for uniformization with "_WIN32" and "_WIN32_WINNT" already used in libzmq (boost is using both forms)
- see http://msdn.microsoft.com/en-us/library/ee479161(v=winembedded.60).aspx
2013-02-19 16:49:23 +01:00
Sébastien Rombauts
927000fe2f Fixed 7 MSVC2008 Compiler Warning (level 3) C4800: 'const int' : forcing value to bool 'true' or 'false' (performance warning)
- added explicit test "(xxx != 0)" to get a "bool" value out of the "int" expression
- see the MSDN recommandation http://msdn.microsoft.com/en-us/library/b6801kcy(v=vs.90).aspx
2013-02-19 14:27:14 +01:00
KIU Shueng Chuan
8c71ac47e8 release critical section on failure to create signaler fdpair 2013-02-15 10:45:43 +08:00
Min(Dongmin Yu)
2c1a3c55f7 LIBZMQ-497 there could be unsent bytes in encoder
When we send a large message, the message can be splitted into two chunks.
One is in the encoder buffer and the other is the zero-copy pointer.
The session could get the term before the last chunk is sent.
2013-02-01 17:32:28 +09:00
Pieter Hintjens
8ab3c4a1bf Fixed issue #500 2013-01-31 21:52:30 +01:00
Pieter Hintjens
309740e197 Fixed issue #499 2013-01-31 20:47:45 +01:00
Pieter Hintjens
18a14aedea Added ZMQ_IPV6 option, cleaned up setsockopt code, it was nasty 2013-01-30 23:53:09 +01:00
Bjorn Topel
f1e77f2246 Removed heap allocation for in zmq_poll for small item sets
Until now, zmq_poll always allocates the poll items on the heap.
Now, small item sets, up to ZMQ_POLLITEMS_DFLT, are stack allocated
and only larger sets are allocated on the heap.
2013-01-30 16:46:45 +01:00
Pieter Hintjens
e8cbfac966 Merge pull request #503 from chazmcgarvey/define-dummy-eproto
define a dummy EPROTO for platforms that don't use it
2013-01-23 11:55:48 -08:00
Charles McGarvey
ba3e18f700 define a dummy EPROTO for platforms that don't use it
This accomplishes the same thing as 2e2ef7fd in a potentially cleaner way.
2013-01-21 17:14:26 -07:00
Ian Barber
d850272417 Add size check on XSUB message sends
Ensures 0 length messages aren't being checked for subscribtion status on whatever data happens to be following the data pointer.
2013-01-21 16:11:27 -08:00
Charles McGarvey
2e2ef7fd33 do not use EPROTO on platforms that do not have it 2013-01-21 15:00:55 -07:00
MinRK
edd43e1ca4 deprecate zmq_ctx_destroy in favor of zmq_ctx_term
in order to avoid logical collisions with pre-existing notions of context destruction in bindings (czmq, pyzmq).
2013-01-17 15:48:18 -08:00
Pieter Hintjens
a4bedc5255 Whitespace and comment fixes 2013-01-08 09:16:50 +01:00
Pieter Hintjens
ef186fe15b Spelling fixes 2013-01-08 09:08:01 +01:00
John Muehlhausen
d32e392278 allow XSUB/XPUB to send/recv messages unrelated to sub/unsub (LIBZMQ-490)
zmq::xpub_t::xread_activated() – change to process messages without 0
or 1 prefix, but without affecting subscriptions

zmq::xsub_t::xsend() – change to send rather than discard messages
without 0 or 1 prefix, but without affecting subscriptions

Update documentation
2013-01-07 22:24:24 -06:00
Pieter Hintjens
949d157897 Merge pull request #492 from arsenm/master
Make CMake build usable for other systems
2013-01-02 00:32:15 -08:00
Matt Arsenault
6ce464414b Fix typos 2013-01-02 03:24:11 -05:00
Matt Arsenault
f770954d30 Fix a couple more warnings 2013-01-02 03:24:11 -05:00
Matt Arsenault
6ecb796e77 Fix warnings with MinGW 2013-01-02 03:24:11 -05:00
Matt Arsenault
1ffc5d11dc Fix some of the -Wshadows 2013-01-02 03:24:11 -05:00
Matt Arsenault
14d3245e02 Fix -Wmismatched-tags 2013-01-02 03:24:11 -05:00
Matt Arsenault
edb5a05add Fix -Wmissing-field-initializers 2013-01-02 03:24:11 -05:00
Matt Arsenault
3ebab09ce4 Fix unused argument warnings 2013-01-02 03:24:11 -05:00
Matt Arsenault
f3901b35d4 Comments about ICC build failure with 12.x were crazy
Fix warnings with ICC.
2013-01-02 03:24:10 -05:00
Matt Arsenault
0362c310a5 First pass at getting cmake build to work with non-Windows systems.
Make doc building option dependent on asciidoc being installed
Fix MSVC build requiring cygwin.
Don't use try_run to get the version
2013-01-02 03:24:10 -05:00
Matt Arsenault
73c370dd17 Fix inconsistently using #if or #ifdef instead of #if defined 2013-01-02 03:24:10 -05:00
KIU Shueng Chuan
151a80619b set SO_LINGER on first signaler socket to close in order to avoid
TIME_WAIT state.
2012-12-29 18:05:15 +08:00
KIU Shueng Chuan
322808be9c eliminate code moved into zmq_utils.cpp 2012-12-29 13:21:50 +08:00
KIU Shueng Chuan
942c654d1c win32: close zmq-signaler-port-sync event object to avoid handle leak 2012-12-27 21:31:12 +08:00
Min(Dongmin Yu)
a0cecc718d returns -1 with EAGAIN when mandatory is set and pipe is full 2012-12-11 19:41:36 +09:00
Min(Dongmin Yu)
394d755cf3 return EHOSTUNREACH at full only when mandatory is set 2012-12-09 16:52:45 +09:00
Min(Dongmin Yu)
9382941adc returns EHOSTUNREACH when a peer is full if ZMQ_ROUTER_MANDATORY is set 2012-12-08 10:20:42 +09:00
Stefan Radomski
21345ffa50 Break early when pipe to be removed was found 2012-12-04 17:40:43 +01:00
Stefan Radomski
f9770e93ef Fixed iterator when erasing from inprocs multimap 2012-12-04 17:31:46 +01:00
Stefan Radomski
624dd1e5b5 Removal of terminated pipes from inproc and ignoring peer ends 2012-12-04 17:10:32 +01:00
Stefan Radomski
66c22456b9 Close pipes for inproc sockets on zmq_disconnect
- fixes LIBZMQ-476 and LIBZMQ-475
2012-12-04 15:14:21 +01:00
Victor Perron
3fc8c7073d Same fix, in-line style 2012-11-30 22:16:20 +01:00
Victor Perron
33f42efb48 Change NULL to 0 to keep compatibility with some cross-compiling GCC
versions
2012-11-30 21:39:22 +01:00
Pieter Hintjens
cae5d3b817 Merge pull request #478 from methodmissing/event-messages-3.2
Event message memory corruption fixes
2012-11-22 01:16:55 -08:00
Lourens Naudé
359a505949 Prefer malloc to new for event address allocation as per Martin's recommendation 2012-11-22 00:12:17 +00:00