Mikko Koppanen
da1920d944
Revert NULL checks in the API
2012-02-17 09:48:04 +00:00
Ian Barber
82bd5431ce
Updating documentation to remove ECANTROUTE error code
2012-02-17 08:01:36 +00:00
Pieter Hintjens
c9898d2419
Merge pull request #255 from jtzl/master
...
Adding more specific installation instructions
2012-02-16 20:27:49 -08:00
Jtzl Forshizl
132112afeb
added more specific installation documentation
2012-02-16 19:50:28 -05:00
Ian Barber
244f3a3c11
Merge pull request #254 from pieterh/minor-cleanups
...
Minor cleanups
2012-02-16 13:59:53 -08:00
Pieter Hintjens
ccdb7a6305
Minor cleanups
...
* Fixed use of ssize_t in zmq_msg_t class
* Corrected error after merge, old reference to inner_fctname (broke build)
2012-02-16 15:55:18 -06:00
Chuck Remes
a457be315b
Merge pull request #246 from pieterh/arguments
...
Return EFAULT if required arguments are null
2012-02-16 13:20:33 -08:00
Chuck Remes
9321dfb845
Merge pull request #248 from pieterh/scattered
...
Renamed scatter/gather methods, cleaned up source
2012-02-16 13:19:11 -08:00
Pieter Hintjens
5d9432b282
Merge pull request #253 from ianbarber/master
...
Remove inet_ntop
2012-02-16 13:13:11 -08:00
Ian Barber
2da76a3003
Updating to use getnameinfo rather than inet_ntop
2012-02-16 21:05:02 +00:00
Pieter Hintjens
4b62344023
Merge pull request #252 from gimaker/compact-trie-table
...
Compact the trie/mtrie node tables where possible, to reduce memory usag...
2012-02-16 10:49:23 -08:00
Pieter Hintjens
c9d124b27e
Merge pull request #251 from gimaker/sub-sndhwn-assert
...
Drop subscription messages when reaching the SNDHWM rather than assertin...
2012-02-16 10:45:13 -08:00
Pieter Hintjens
bfbe556e00
Merge pull request #250 from gimaker/connect-assert
...
Resolve addresses in the calling thread on connect.
2012-02-16 10:35:48 -08:00
Pieter Hintjens
4697634c0b
Resolved conflicts after merge
2012-02-16 12:31:57 -06:00
Pieter Hintjens
3ee99ae81f
Renamed scatter/gather methods, cleaned up source
2012-02-16 12:30:37 -06:00
Pieter Hintjens
8a497e2ffc
Resolved conflicts after merge
2012-02-16 12:27:39 -06:00
Pieter Hintjens
0efb49f12f
Fixed up all references to zmq_msg_size
2012-02-16 12:26:00 -06:00
Pieter Hintjens
02b81d42ce
Changed return type of zmq_msg_size to ssize_t to allow error return
2012-02-16 12:25:58 -06:00
Pieter Hintjens
dc09da4569
Return EFAULT if required arguments are null
2012-02-16 12:25:17 -06:00
Pieter Hintjens
07b49ffb9c
Fixed up all references to zmq_msg_size
2012-02-16 12:04:25 -06:00
Mikko Koppanen
2f44faa7ce
Merge pull request #247 from pieterh/sendrecv
...
Added zmq_msg_send/recv functions
2012-02-16 08:58:03 -08:00
Mikko Koppanen
2b646cbf63
Merge pull request #249 from pieterh/msgpeekpoke
...
Renamed zmq_getmsgopt to zmq_msg_get
2012-02-16 08:56:29 -08:00
Staffan Gimåker
2cd04c54df
Compact the trie/mtrie node tables where possible, to reduce memory usage.
...
Signed-off-by: Staffan Gimåker <staffan@spotify.com>
2012-02-16 15:56:19 +01:00
Staffan Gimåker
e18f9da012
Drop subscription messages when reaching the SNDHWM rather than asserting.
...
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>
2012-02-16 14:49:47 +01:00
Staffan Gimåker
b9fb48f47b
Resolve addresses in the calling thread on connect.
...
This allows us to actually report an error to the caller on resolve
failure, rather than asserting later on in the io thread.
Signed-off-by: Staffan Gimåker <staffan@spotify.com>
2012-02-16 14:42:55 +01:00
Pieter Hintjens
d092f2615c
Renamed peek/poke to get/set
2012-02-15 19:28:29 -06:00
Pieter Hintjens
dcc1725a90
Renamed zmq_getmsgopt to zmq_msg_peek
...
* Added zmq_msg_poke for orthogonality
* Added zmq_msg_more for simplicity
* Fixed up man pages and test program
2012-02-15 18:44:28 -06:00
Pieter Hintjens
b3d7b29280
Renamed scatter/gather methods, cleaned up source
2012-02-15 16:47:24 -06:00
Pieter Hintjens
fb4748f257
Added zmq_msg_send/recv functions
2012-02-15 15:37:35 -06:00
Pieter Hintjens
6b2ec366b1
Changed return type of zmq_msg_size to ssize_t to allow error return
2012-02-15 15:17:01 -06:00
Pieter Hintjens
d38951db87
Return EFAULT if required arguments are null
2012-02-15 13:03:40 -06:00
Chuck Remes
b2e2fa622d
Merge pull request #244 from pieterh/master
...
Cleanups to man pages
2012-02-15 08:54:27 -08:00
Pieter Hintjens
0c4a19c408
Deprecated XREQ/XREP
2012-02-15 10:48:31 -06:00
Pieter Hintjens
5f6b95f4a2
Fixed footers to refer to man page, not all docs
2012-02-15 10:39:18 -06:00
Pieter Hintjens
c85ecfc066
Cleaned up description of multi-part messages
2012-02-15 10:39:18 -06:00
Pieter Hintjens
636de46fe1
Removed section on devices, added new methods
2012-02-15 10:39:18 -06:00
Pieter Hintjens
086c059430
Ported numerous fixes from 2.1 man page
2012-02-15 10:39:18 -06:00
Chuck Remes
9bc0e10818
Merge pull request #243 from pieterh/master
...
Fixed error in documentation build
2012-02-15 07:33:03 -08:00
Pieter Hintjens
bd4f703264
Ignored generated files
2012-02-15 09:27:42 -06:00
Pieter Hintjens
2000d44109
Fixed syntax error in zmq_getsockopt man page
2012-02-15 09:26:39 -06:00
Pieter Hintjens
a50a8aa364
Revert "more checks for parameters of API functions"
...
This reverts commit e646ce43c155f9710aa4486abd2daf6d4a30ca5b.
2012-02-14 18:43:33 -06:00
Pieter Hintjens
afe8cd503f
Revert "fix warn unused"
...
- anonymous contributor
This reverts commit 7b7d404269cc9bb28e1954ed38dbeb8f63079fd1.
2012-02-14 18:43:33 -06:00
Pieter Hintjens
b2e9347372
Merge pull request #238 from ianbarber/master
...
Wildcard support in TCP and IPC addresses
2012-02-14 16:39:32 -08:00
Ian Barber
cc10c00193
Updating docs with new sockopt
2012-02-14 23:14:33 +00:00
Ian Barber
b6c97230ed
Merge branch 'master' of https://github.com/zeromq/libzmq
2012-02-14 23:10:15 +00:00
Ian Barber
b5d3373905
Moving to std::string in options
2012-02-14 23:10:06 +00:00
Pieter Hintjens
a908ccbf35
Merge pull request #241 from skaller/master
...
provide type safe sockets and contexts
2012-02-13 08:55:58 -08:00
Pieter Hintjens
48423c9e40
Merge pull request #242 from niXman/master
...
more checks for parameters of API functions
2012-02-13 08:35:59 -08:00
niXman
e646ce43c1
more checks for parameters of API functions
2012-02-12 20:10:52 +04:00
skaller
4807935605
Implement type safe sockets and contexts.
2012-02-12 10:15:51 +11:00
Ian Barber
770f84331f
Allowing value 0, and moving code to get_address functions based on feedback
2012-02-11 15:09:03 +00:00
Ian Barber
91bf4944da
Merge branch 'master' of https://github.com/zeromq/libzmq
2012-02-11 15:08:23 +00:00
Chuck Remes
256fa5d2b8
Merge pull request #240 from niXman/master
...
fix warn unused variables
2012-02-11 06:10:50 -08:00
niXman
7b7d404269
fix warn unused
2012-02-10 13:39:34 +04:00
Pieter Hintjens
40052c1251
Merge pull request #239 from skaller/master
...
Provide scatter/gather array I/O
2012-02-10 00:20:56 -08:00
Ian Barber
7fa14f3823
Merge branch 'master' of https://github.com/zeromq/libzmq
2012-02-08 22:06:50 +00:00
Ian Barber
7b32c9cb51
Adding ZMQ_LAST_ENDPOINT for wildcard support on TCP and IPC sockets
2012-02-08 22:06:46 +00:00
skaller
c3f7543ebe
Fix uio support.
...
We have to use an incomplete type in the interface.
The definition of iovec is only in the implementation.
This appears to following existing practice in 0MQ.
It seems a bit flakey that zmq.h is not included in zmq.cpp,
which is normal practice to ensure the implementation matches
the specified interface. YMMV. I follow 0MQ style.
2012-02-08 13:15:47 +11:00
skaller
970a005399
Provide interface.
...
Also move iovec definition from implementation to interface.
Not clear to me at present if an incomplete type should
be used to avoid gratuitously including <sys/uio.h> in
the interface. The interface can't be used with this include.
2012-02-08 12:58:35 +11:00
skaller
383a49dadf
Implement zmq_recvmmsg.
2012-02-08 11:45:36 +11:00
skaller
531835bba8
Implement zmq_sendv.
...
Posix style send multiple messages using scatter/gather array.
2012-02-08 03:20:25 +11:00
skaller
f59fff7bf2
Add check for sys/uio.h to configure script.
...
sys/uio.h contains the XSI vector I/O data structure.
2012-02-08 02:47:51 +11:00
Pieter Hintjens
21571cf085
Merge pull request #237 from skaller/master
...
Fix comments to conform to style guide.
2012-02-04 02:47:10 -08:00
skaller
81662d70be
Add a test for thread safe sockets.
2012-02-04 15:13:36 +11:00
skaller
759b2e01fd
Fix comments to conform to style guide.
2012-02-04 12:34:06 +11:00
Pieter Hintjens
9dab56c1df
Merge pull request #235 from skaller/master
...
Thread Safe Sockets.
2012-02-03 12:40:05 -08:00
Pieter Hintjens
cbf6126b08
Merge pull request #234 from ianbarber/master
...
Semicolon missing
2012-02-03 12:39:47 -08:00
Pieter Hintjens
935f17488a
Merge pull request #236 from danielnorberg/master
...
add missing semicolon
2012-02-03 12:39:11 -08:00
Daniel Norberg
67fd4c9a2c
add missing semicolon
2012-02-03 17:28:45 +01:00
skaller
520ad3c2d7
Set and arrange propagation of thread safe sockets flag.
...
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.
2012-02-04 02:17:35 +11:00
skaller
988efbc73a
Thread Safe Sockets.
...
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.
2012-02-04 01:41:09 +11:00
skaller
4dd6ce0639
Add mission ; character
2012-02-04 00:10:01 +11:00
Ian Barber
43b71ae4bf
Fixing missing semicolon in xpub.cpp as reported on the list by Emmanuel TAUREL
2012-02-03 12:44:19 +00:00
Pieter Hintjens
dc50bf5dca
Merge pull request #233 from danielnorberg/master
...
LIBZMQ-300: free received subscription messages
2012-02-03 02:12:09 -08:00
Daniel Norberg
79f753bf56
xpub: free received subscription messages
2012-02-03 11:04:46 +01:00
Chuck Remes
4f4d72afc6
Merge pull request #232 from chuckremes/master
...
mato: merge patch to close libzmq-268
2012-02-02 12:22:46 -08:00
Chuck Remes
93db782a1d
Merge branch 'libzmq-268' of git://git.lucina.net/libzmq
2012-02-02 14:17:30 -06:00
Chuck Remes
adee8270dd
Merge pull request #231 from chuckremes/master
...
mato: merge patch to close libzmq-303
2012-02-02 12:16:32 -08:00
Chuck Remes
762bcff73f
Merge branch 'libzmq-303' of git://git.lucina.net/libzmq
2012-02-02 14:14:56 -06:00
Chuck Remes
e89a5f1e1a
Merge pull request #230 from chuckremes/master
...
mato: merge patch to close libzmq-205
2012-02-02 12:14:27 -08:00
Chuck Remes
c54ad48c9b
Merge branch 'libzmq-205' of git://git.lucina.net/libzmq
2012-02-02 14:09:37 -06:00
Martin Lucina
0319cb2cd1
Fix data loss for PUB/SUB and unidirectional transports (LIBZMQ-268)
...
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>
2012-02-02 13:07:48 +01:00
Pieter Hintjens
edf7db74d9
Merge pull request #227 from gimaker/smaller-mtrie
...
Reduce memory usage of mtrie.
2012-01-30 01:28:47 -08:00
Staffan Gimåker
e6c97c5ecc
Reduce memory usage of mtrie.
...
Signed-off-by: Staffan Gimåker <staffan@spotify.com>
2012-01-30 09:47:33 +01:00
Martin Lucina
1925c92fe9
Merge branches 'libzmq-205' and 'libzmq-303'
2012-01-30 01:57:18 +01:00
Pieter Hintjens
7e8a839a22
Merge pull request #226 from gitfoxi/master
...
Support Epoll on cross-compile without runtime test.
2012-01-27 16:01:20 -08:00
m
1e5a48f521
Epoll is default for cross-compile. For regular-compile, test kernel (run) support.
2012-01-27 15:24:47 -08:00
Pieter Hintjens
281dcd2544
Merge pull request #221 from fidlej/master
...
Updated connector open() doc strings.
2012-01-27 14:48:43 -08:00
Pieter Hintjens
676d4f4e18
Merge pull request #222 from gimaker/trie-pruning
...
Fix for LIBZMQ-305
2012-01-27 14:48:17 -08:00
Pieter Hintjens
0c94cd036a
Merge pull request #223 from gimaker/libzmq-310
...
Throw away unexpected data received by XPUB sockets, rather than asserting
2012-01-27 14:47:36 -08:00
Pieter Hintjens
95f6a07403
Merge pull request #224 from vortechs2000/master
...
Patch from Mikko Koppanen for #LIBZMQ-301
2012-01-27 14:47:14 -08:00
Pieter Hintjens
57f64c5079
Merge pull request #225 from gitfoxi/master
...
Fix build on old-ass Linux
2012-01-27 14:44:42 -08:00
m
c71375ea72
Fix: Case where system library has epoll but kernel does not support it.
2012-01-27 13:27:21 -08:00
m
c4f2240851
Fix: runtime patch for when system has clock_gettime but does not support CLOCK_MONOTONIC.
2012-01-27 12:40:56 -08:00
m
b5dbff8ed4
Fix basic_string<unsigned char> not implemented in stdc++ 3
2012-01-27 12:24:14 -08:00
m
99df984be1
Fix bad combination of gcc3, -Werror and private destructor.
2012-01-27 12:23:32 -08:00
Staffan Gimåker
bc4d1b6002
Fixed segfault bug sometimes happening when pruning the trie/mtrie.
...
The cause behind the segfault was next.node being deleted but count still
being non-zero.
Signed-off-by: Staffan Gimåker <staffan@spotify.com>
2012-01-26 14:12:11 +01:00
AJ Lewis
2e0c4330fa
Patch from Mikko Koppanen for #LIBZMQ-301
...
Add the '-Ae' flag and check for gethrtime() on HPUX
Check if CLOCK_MONOTONIC defined before using it - if not, use
gethrtime() if it's available, otherwise fall back to the old
behavior.
Signed-off-by: AJ Lewis <aj.lewis@quantum.com>
2012-01-19 13:09:23 -06:00
Staffan Gimåker
36215656eb
Throw away unexpected data received by XPUB sockets, rather than asserting.
...
Fixes LIBZMQ-310.
Signed-off-by: Staffan Gimåker <staffan@spotify.com>
2012-01-09 12:19:59 +01:00
Martin Lucina
c34a144365
Fix pgm_receiver.cpp: zmq_assert (pending_bytes == 0) (LIBZMQ-205)
...
This patch fixes the problem described in LIBZMQ-205. The assertion itself
is probably caused by previously queued POLLIN events arriving after POLLIN
has been disabled on the socket.
The following additional bugs have been fixed as part of debugging this
problem:
- pgm_receiver_t does not flush messages written to the session in all
cases which can lead to a stalled reader. Add calls to session->flush ()
in the appropriate places.
- ensure to restart polling when a pending message is flushed in
activate_in ().
Signed-off-by: Martin Lucina <martin@lucina.net>
2012-01-04 11:48:41 +01:00