Commit Graph

4028 Commits

Author SHA1 Message Date
Joe Eli McIlvain
fd560b489c Merge pull request #1319 from rodgert/master
Remove more test_id2fd cruft
2015-01-21 14:46:15 -08:00
Thomas Rodgers
73bf0fb1a3 Remoe more test_id2fd cruft 2015-01-21 16:44:41 -06:00
Constantin Rack
3d440507ea Merge pull request #1317 from topher200/master
documentation clarification on pipe::write failure
2015-01-20 21:20:09 +01:00
Topher Brown
708298eaf1 documentation clarification on pipe::write failure
When pipe::write succeeds, it takes control of the message's data buffer.
When it fails, it has not taken control. The caller should clean up the
message appropriately (msg::close).
2015-01-20 15:06:58 -05:00
Joe Eli McIlvain
be23e699c9 Merge pull request #1314 from topher200/master
Close messages that failed to send
2015-01-19 18:10:11 -08:00
Topher Brown
866a04656e Close messages that failed to send
pipe_t.write only takes control of the underlying message memory when it
succeeds. When it returns failure, we must close the message ourselves to
clean up that memory.

This patch is sponsored by FarSounder, Inc (farsounder.com)
2015-01-19 19:46:26 -05:00
Telford Berkey
03a1b0e296 Merge remote-tracking branch 'upstream/master' 2015-01-19 15:19:56 -05:00
KAPP Arnaud
94b0ad3eaa Merge pull request #1312 from rodgert/master
fix typo in zmq_msg_gets documentation
2015-01-18 03:48:29 +01:00
Thomas Rodgers
40d2f9ad5d fix typo in zmq_msg_gets documentation 2015-01-17 20:15:31 -06:00
Constantin Rack
53431a5583 Merge pull request #1310 from rodgert/master
Fix typo in zmq_msg_gets documentation
2015-01-16 22:54:17 +01:00
Thomas Rodgers
4e89ae616a Fix typo in zmq_msg_gets documentation 2015-01-16 15:45:09 -06:00
KAPP Arnaud
0e404ec844 Merge pull request #1309 from rodgert/master
Add 'Peer-Address' property to connection metadata
2015-01-16 22:43:04 +01:00
Thomas Rodgers
cf2bd3b6ae Expand on 'Peer-Address' property documentation 2015-01-16 15:37:22 -06:00
Thomas Rodgers
97f3126175 Formatting cleanup 2015-01-16 15:04:19 -06:00
Thomas Rodgers
b443618333 Code cleanup
std::map::insert() has always had range based insertion, removed
explicit loops.
2015-01-16 15:03:13 -06:00
Thomas Rodgers
7d224d7871 Add 'Peer-Address' property to connection metadata
Allows non-C/C++ based clients easy access to the peer's IP address via
zmq_msg_gets(&msg, "Peer-Address") instead of zmq_msg_get(&msg, ZMQ_SRCFD)
followed by calls to getpeername and getnameinfo
2015-01-16 14:52:16 -06:00
Constantin Rack
2e76bbe4f6 Merge pull request #1308 from rodgert/master
Try to clarify the intent of zmq_msg_gets() in documentation
2015-01-16 18:27:40 +01:00
Thomas Rodgers
39285cb969 Try to clarify the intent of zmq_msg_gets() in documentation 2015-01-16 10:50:04 -06:00
Pieter Hintjens
10466626be Merge pull request #1301 from rodgert/master
Make alignment compiler directive
2015-01-13 23:54:25 +01:00
Thomas Rodgers
413f835bc8 Make alignment compiler directive 2015-01-13 16:47:00 -06:00
Pieter Hintjens
b6b990f5f9 Merge pull request #1300 from moteus/master
Fix. Use C++03 compatible way to align struct. (Build on MSVC)
2015-01-13 17:07:19 +01:00
Alexey Melnichuk
57cb34f123 Fix. Use C++03 compatible way to align struct. (Build on MSVC)
#1299 break compiling with MSVC 2010.
2015-01-13 19:09:49 +04:00
Pieter Hintjens
3503fdad33 Merge pull request #1299 from rodgert/master
Align inter-thread shared structures on cache-line granularity
2015-01-12 20:43:29 +01:00
Thomas Rodgers
6372fc2e56 Align inter-thread shared structers on cache-line granularity
Specifically ypipe_t specializations for msg_t and command_t.

Currently only supports platforms where posix_memalign is available.
2015-01-12 13:37:32 -06:00
Pieter Hintjens
c816e42266 Merge pull request #1298 from rodgert/master
Increase size of zmq_msg_t to 64 bytes
2015-01-10 23:58:57 +01:00
Thomas Rodgers
90194036bf Increase size of zmq_msg_t to 64 bytes
Increasing it would have at least two benefits -

* More messages would be 'VSM' messages, so it would reduce allocation
overhead a bit.
* Remove any chance of false sharing of things that are, by design,
pushed by value onto a ypipe_t<msg_t> which is shared between two threads.

The only downside I see is slightly increased memory consumption on memory
constrained applications.

- Full discussion of this rationale is part of issue #1295
2015-01-10 16:44:55 -06:00
Constantin Rack
95e7611471 Merge pull request #1297 from rodgert/master
Remove ZMQ_IDENTITY_FD socket option
2015-01-10 00:44:45 +01:00
Thomas Rodgers
a55005feb1 Remove documentation for ZMQ_IDENTITY_FD 2015-01-09 17:32:05 -06:00
Thomas Rodgers
7c0a644625 Remove of ZMQ_IDENTITY_FD socket option
Revert "linking fd to pipe identity via socket option"

This reverts commit fe3e8c5c70.

Conflicts:
	include/zmq.h
	src/pipe.hpp
	src/session_base.cpp
2015-01-09 17:28:50 -06:00
Thomas Rodgers
a450bdefec Revert "resolve #1292 ZMQ_IDENTITY_FD does not validate option_len"
This reverts commit 45c6815446.
2015-01-09 16:44:35 -06:00
Pieter Hintjens
1ae98c7422 Merge pull request #1293 from rodgert/master
resolve #1292 ZMQ_IDENTITY_FD does not validate option_len
2015-01-08 16:39:18 +01:00
Thomas Rodgers
45c6815446 resolve #1292 ZMQ_IDENTITY_FD does not validate option_len 2015-01-08 08:37:28 -06:00
Telford Berkey
fa1f676ce5 Merge remote-tracking branch 'upstream/master' 2015-01-05 12:56:35 -05:00
Pieter Hintjens
4e9e719ff3 Merge pull request #1286 from ricnewton/master
Remove int typedefs and use stdint.h for windows.
2015-01-05 15:01:06 +01:00
Richard Newton
b1305bbec3 Remove int typedefs and use stdint.h for windows. 2015-01-05 13:45:39 +00:00
Pieter Hintjens
25f153980b Merge pull request #1283 from DaiyuHurst/master
Implement a definitive cygwin target for libzmq.
2015-01-05 11:47:09 +01:00
Joe Eli McIlvain
c993ac88ae Merge pull request #1284 from hintjens/master
Problem: incomplete definition of integer types
2014-12-31 06:26:49 -08:00
Pieter Hintjens
89a2041755 Problem: incomplete definition of integer types
Firstly, only a few types are defined, leaving it hard for higher layers
to complete the set. Secondly, the code incorrectly tries to use ifndef
to avoid re-defining typedefs, which does not work in C.

Solution: define all types, unconditionally for all MSVC compilers.
Additionally, define ZMQ_DEFINED_STDINT that tells higher layers that we
already defined these integer types.
2014-12-31 13:26:48 +01:00
DaiyuHurst
5d084cdfdd Implement a definitive cygwin target for libzmq. 2014-12-29 17:39:19 -05:00
Mário Kašuba
4b4adbbc1d Merge branch 'master' of github.com:zeromq/libzmq 2014-12-26 19:21:37 +01:00
Joe Eli McIlvain
d2bacdf591 Merge pull request #1282 from hintjens/master
Fixed atomic API, which used 'bool'
2014-12-23 09:30:46 -05:00
Pieter Hintjens
eacd4d9cba Problem: test cases were sporadically failing
Solution: increase settle time for bind/unbind tests
2014-12-23 15:21:22 +01:00
Pieter Hintjens
04664f0ef7 Problem: 'bool' is not defined by default
zmq_atomic_counter_dec returned a 'bool' value, yet this isn't
defined by standard, so causes compile errors in upstream code.

Solution: return an int that can be safely converted to bool if
needed by bindings.
2014-12-23 15:20:10 +01:00
Constantin Rack
ae53b27b70 Merge pull request #1281 from hintjens/master
Problem: need atomic reference counting in several projects
2014-12-23 09:43:01 +01:00
Pieter Hintjens
2de940b422 Problem: need atomic reference counting in several projects
Solution: as libzmq already provides this across all platforms,
expose an atomic counter API. I've not wrapped atomic pointers,
though someone who needs this may want to do so.
2014-12-23 01:14:38 +01:00
Joe Eli McIlvain
07229c72ba Merge pull request #1280 from hintjens/master
Problem: very hard to debug security mechanism mismatch
2014-12-19 16:45:07 -08:00
Pieter Hintjens
17937ffcf0 Problem: very hard to debug security mechanism mismatch
E.g. when server is not configured, and client tries PLAIN security,
there is no hint of why this does not work.

Solution: add debugging output for this case. Note that the various
debugging outputs for security failures should probably be sent to
an inproc monitor of some kind.
2014-12-19 22:17:14 +01:00
Telford Berkey
f78f4e3f73 Changed library name to zmq.lib. 2014-12-12 16:45:29 -05:00
Telford Berkey
5b1b3b56d3 Updated Cmake file to remove ascii doc. 2014-12-09 10:33:15 -05:00
Pieter Hintjens
187c743841 Merge pull request #1276 from hintjens/master
Problem: zmq_epgm is duplicate of zmq_pgm
2014-12-07 17:08:29 +01:00