Constantin Rack
ec41f6540f
Problem: tcp_recv/send_buffer should be byte value instead of scale factor
...
Solution: change option behaviour and adopt documentation
2015-11-13 10:47:15 +01:00
Constantin Rack
5ba328d7f3
Problem: there is no test for setsockopt ZMQ_TCP_SEND/RECV_BUFFER
...
Solution: add test case
2015-11-13 10:44:00 +01:00
Pieter Hintjens
f80faeca29
Merge pull request #1640 from c-rack/fix-setsockopt
...
Solution: fix compilation errors
2015-11-13 10:27:31 +01:00
Constantin Rack
a992d9aca0
Problem: comparison between signed and unsigned integer expressions
...
Solution: make tcp_recv_buffer_size and tcp_send_buffer_size unsigned
2015-11-13 10:08:30 +01:00
Constantin Rack
98d5d4d7f0
Problem: call of overloaded ‘pow()’ is ambiguous
...
Solution: make base a double value
2015-11-13 09:47:03 +01:00
Constantin Rack
18c517020b
Merge pull request #1638 from jens-auer/tcp_buffer_options
...
Tcp buffer options to set RECV/SEND buffer
2015-11-12 23:17:14 +01:00
Jens Auer
908d6b6740
Update options.cpp
...
Fixed ZMQ_TCP_RECV_BUFFER set case.
2015-11-08 21:48:36 +01:00
Jens Auer
d2516a9c42
Merge branch 'tcp_buffer_options' of github.com:jens-auer/libzmq into tcp_buffer_options
2015-11-08 19:01:04 +01:00
Jens Auer
cdeec4c115
New options to set send/recv buffer size for TCP sockets.
2015-11-08 19:00:29 +01:00
Constantin Rack
c41fe88df6
Merge pull request #1636 from roalz/feature-add-msvc2015-build
...
Added solution and project files to build with Microsoft VS2015
2015-11-05 17:22:17 +01:00
roalz
5f5fb5e5ad
Added solution and project files to build with Microsoft Visual Studio 2015
2015-11-05 16:08:33 +01:00
Pieter Hintjens
c775c509da
Merge pull request #1631 from swansontec/master
...
Do not crash on unusual connection-failure cases
2015-11-03 00:08:00 +01:00
William Swanson
b2010432c7
Do not crash on unusual connection-failure cases
...
Only assert on errors we know are our fault,
instead of trying to whitelist every possible network-related failure.
This makes ZeroMQ more portable to other platforms
where the possible errors are different.
In particular, the previous code would often die under iOS.
2015-11-02 14:59:15 -08:00
Constantin Rack
22179afaba
Merge pull request #1629 from hintjens/master
...
Problem: Windows 7 TCP slow start
2015-11-01 13:16:55 +01:00
Pieter Hintjens
54e2e2a7ad
Problem: Windows 7 TCP slow start
...
See issue #1608 .
This is an old issue with Windows 7. The effect is that we see a latency
ramp on the first 500 messages.
* The ramp is unaffected by message size.
* Sleeping up to 100msec between sends has no effect except to switch
off ZeroMQ batching so making the ramp more visible.
* After 500 messages, latency falls back down to ~10-40 usec.
* Over inproc:// the ramp happens when we use the signaler class.
* Client-server over inproc:// does not show the ramp.
* Client-server over tcp:// shows a similar ramp.
We know that the signaller is using TCP on Windows. We can 'prime' the
connection by doing 500 dummy sends. This potentially causes new sockets
to be delayed on creation, which is not a good solution.
Note that the signaller sends zero-byte messages. This may also be
confusing TCP.
Solution: flood the receive buffer when creating a new FD pair; send a
1M buffer and discard it.
Fixes #1608
2015-11-01 12:57:53 +01:00
Constantin Rack
ac46e6da96
Merge pull request #1628 from hintjens/master
...
Fix for #1399
2015-11-01 10:47:33 +01:00
Pieter Hintjens
ba1515fe07
Problem: asserts if EINVAL recieved on read/write
...
This causes assertion failures after network reconnects.
Solution: allow EINVAL as a possible condition after read/write.
Fixes #829
Fixes #1399
Patch provided by Michele Dionisio @mdionisio, thanks :)
2015-11-01 08:56:50 +01:00
Pieter Hintjens
f38c11c063
Whitespace fixes
2015-10-30 10:22:05 +01:00
Pieter Hintjens
ab2c009d0d
Merge pull request #1626 from ahmetkakici/master
...
Added missing socket_poller.cpp file to msvc solutions.
2015-10-27 12:23:03 +01:00
ahmet
7c8e65e2cd
Added missing socket_poller.cpp file to msvc solutions.
...
also fixes issue https://github.com/zeromq/libzmq/issues/1624
2015-10-27 14:16:36 +02:00
Pieter Hintjens
182688d431
Merge pull request #1625 from lytboris/master
...
Acutally allow specifying interfaces as source address
2015-10-26 23:02:05 +01:00
Boris Lytochkin
a4baa36ba4
acutally allow specifying interfaces as source address
2015-10-27 00:37:53 +03:00
Constantin Rack
9b1432256d
Merge pull request #1623 from zeromq/sappo-patch-1
...
Problem: libzmq appveyor build status is not visible
2015-10-26 09:28:35 +01:00
Kevin Sapper
64ffb3fc92
Problem: libzmq appveyor build status is not visible
...
Solution: Add a travis like badge to the README
fixes #1622
2015-10-26 08:59:22 +01:00
Pieter Hintjens
dc04c5bbd6
Merge pull request #1621 from madebr/cmake_winci_fixes
...
Cmake winci fixes
2015-10-25 09:54:00 +01:00
Anonymous Maarten
0a0b9fd760
tweetNaCL: fix winrandom
...
problem: random byte generation on windows got stuck in an infinite loop
solution: the failure test is incorrect. Change it
2015-10-25 03:43:24 +01:00
Anonymous Maarten
571ee21eef
appveyor: build all relevant combinations
...
problem: not all configurations were built (and some were duplicated) in
Windows CI
solution: add all correct combinations to appveyor.yml
2015-10-25 01:14:27 +02:00
Anonymous Maarten
89338f43d5
CMake: fix library name on linux
...
problem: cmake added a prefix of lib to libzmq, resulting in
liblibzmq.so
solution: set an empty prefix
2015-10-25 01:14:27 +02:00
Pieter Hintjens
c5572211e7
Merge pull request #1620 from madebr/ctest_missing_tests
...
CTest: add all sources in tests folder to CTest
2015-10-24 12:19:10 +02:00
Anonymous Maarten
9930f1fc20
CTest: add missing tests + check for unknown tests
2015-10-24 00:17:52 +02:00
Anonymous Maarten
2f63231860
cmake: libzmq can now be built with both sodium and TweetNaCL
2015-10-24 00:16:01 +02:00
Constantin Rack
7fe032180a
Merge pull request #1619 from madebr/winrandombytes
...
TweetNaCL: add windows randombytes implementation
2015-10-24 00:01:55 +02:00
Anonymous Maarten
b2c87b9a70
TweetNaCL: add windows randombytes implementation
2015-10-23 23:34:53 +02:00
Pieter Hintjens
e182438ad6
Merge pull request #1618 from madebr/cmake_sodium
...
CMake: use libsodium + add Windows CI
2015-10-23 09:20:18 +02:00
Anonymous Maarten
35d723ce5b
Add Windows Continuous Integration (appveyor)
2015-10-23 04:07:12 +02:00
Anonymous Maarten
55ca9c5654
CMake: use libsodium if available, else use tweet_nacl
2015-10-23 04:06:57 +02:00
Constantin Rack
5d98e602c9
Merge pull request #1617 from somdoron/removing_pollfd
...
problem: zmq_pollfd is not needed anymore when zmq_poller in place.
2015-10-22 11:21:16 +02:00
somdoron
da2bc60abe
Removing zmq_pollfd as it is replaced by zmq_poller
2015-10-22 11:52:24 +03:00
Richard Newton
0650b59b10
Merge pull request #1616 from somdoron/ZMQ_POLLER
...
problem: ZMQ_POLLER doesn't support polling on out
2015-10-21 12:42:44 +01:00
somdoron
24fc0d4e89
drop the socket postfix from poller methods
2015-10-21 14:04:33 +03:00
somdoron
5c71fe6538
Fix socket_poller windows compiling issue
2015-10-21 10:34:00 +03:00
somdoron
024819b491
add ZMQ_HAVE_POLLER define to check if ZMQ_POLLER exist
2015-10-21 10:17:33 +03:00
somdoron
476ba22e0a
ZMQ_Poller support more event types
2015-10-21 10:14:36 +03:00
somdoron
544d1e3499
Change the error of zmq_poller from EAGAIN to ETIMEDOUT
2015-10-21 09:37:52 +03:00
Pieter Hintjens
a7ea57fb68
Merge pull request #1615 from jeroenooms/master
...
enable static libraries on mingw
2015-10-20 13:50:07 +02:00
Jeroen Ooms
9114d39577
enable static libraries on mingw
2015-10-20 13:10:38 +02:00
Pieter Hintjens
979e6bb45c
Merge pull request #1613 from maxkozlovsky/master
...
honor buffer reference count in zmq::shared_message_memory_allocator:…
2015-10-19 23:08:11 +02:00
Max Kozlovsky
06e882f8ea
honor buffer reference count in zmq::shared_message_memory_allocator::deallocate
2015-10-19 13:29:26 -07:00
Constantin Rack
f1e6cb8ba9
Merge pull request #1611 from somdoron/zpoller-port
...
problem: polling on multiple sockets is complicated
2015-10-18 21:13:31 +02:00
somdoron
e387ce1571
remove pollfd from sockets when destroying poller
2015-10-18 21:50:24 +03:00
somdoron
6501b8089f
port zpoller to libzmq as zmq_poller
2015-10-18 21:07:23 +03:00
Pieter Hintjens
500269955d
Merge pull request #1604 from wcs1only/master
...
Fixed for issue #1315
2015-10-09 15:56:27 +02:00
Charles Stanley
516b440e0d
fixes #1315 socket monitor hangs if zmq_bind fails
2015-10-09 09:02:09 -04:00
Constantin Rack
a28398a4e8
Merge pull request #1603 from jizhilong/fix/typo
...
fix a typo in ypipe.hpp
2015-10-09 05:48:39 +02:00
Zhilong.JI
9a7858245c
fix a typo in ypipe.hpp
2015-10-09 10:52:36 +08:00
Jens Auer
ea26e68b9d
New options to set send/recv buffer size for TCP sockets.
2015-10-08 22:06:33 +02:00
Constantin Rack
ca52520944
Merge pull request #1602 from scemama/master
...
Fixes issue #1556
2015-10-07 22:30:53 +02:00
Anthony Scemama
aefc5d120b
Default behavior is --with-libsodium=yes
2015-10-07 22:18:08 +02:00
Anthony Scemama
73a0eed75d
Fixes issue #1556
2015-10-07 21:45:49 +02:00
Pieter Hintjens
96014ee7ed
Merge pull request #1600 from lsniks/master
...
Issue 1588 : Rollback in case send fails for multipart msg
2015-10-05 20:57:51 +02:00
Nikhil Mishra
8ec747e14a
Issue 1588 : Rollback in case send fails for multipart msg
2015-10-05 11:46:48 -07:00
Constantin Rack
cca67fdd1b
Merge pull request #1595 from pijyoi/signaler_failable
...
create signaler::recv_failable()
2015-09-29 06:01:51 +02:00
KIU Shueng Chuan
596d6e5b1c
create signaler::recv_failable()
...
In real world usage, there have been reported signaler failures where the
eventfd read() or socket recv() system call in signaler::recv() fails,
despite having made a prior successful signaler::wait() call.
this patch creates a signaler::recv_failable() method that allows
unreadable eventfd / socket to return an error without asserting.
2015-09-29 09:14:02 +08:00
Richard Newton
52ee724144
Merge pull request #1593 from meox/master
...
fix error with gcc 5.2
2015-09-27 13:34:48 +01:00
meox
992ac3baa8
fix error with gcc 5.2
2015-09-27 14:24:08 +02:00
Pieter Hintjens
79daac119a
Merge pull request #1592 from c-rack/fix-test
...
Solution: full is if number of msg is greater than hwm, not greater than hwm - 1
2015-09-25 12:26:33 +02:00
Constantin Rack
e4c06bef18
Problem: check_hwm() has different semantic of 'full'
2015-09-25 11:56:54 +02:00
Pieter Hintjens
a8605f576e
Merge pull request #1591 from c-rack/check-hwm
...
Solution: use existing check_hwm() method
2015-09-25 11:36:41 +02:00
Constantin Rack
f1358c1243
Problem: duplicate code for hwm check
2015-09-25 11:24:48 +02:00
Constantin Rack
dd6bb9ae0c
Merge pull request #1586 from ricnewton/master
...
Update cmake to support Visual Studio 2015
2015-09-19 15:51:47 +02:00
Richard Newton
05d0451e29
Update cmake to support Visual Studio 2015
2015-09-19 14:39:18 +01:00
Pieter Hintjens
d89753cbf0
Merge pull request #1585 from msb-at-yahoo/fix-send-doc-typo
...
Fix typo on send documentation re: nullification
2015-09-18 20:28:50 +02:00
maurice barnum
b12b8ca23b
Fix typo on send documentation re: nullification
2015-09-18 11:22:12 -07:00
Constantin Rack
ed1009b3a5
Merge pull request #1584 from ymax/master
...
fixed zmq assertion in signaler.cpp under ubuntu
2015-09-18 16:57:19 +02:00
Maxim Yakhontov
e9e03f5ade
fixed zmq assertion in signaler.cpp under ubuntu
2015-09-18 20:48:08 +06:00
Constantin Rack
2452c598b7
Merge pull request #1582 from pengweichu/master
...
Fixed the bug which cause the application crashed when use TCP connec…
Fixes #1581
2015-09-17 11:31:10 +02:00
PP
5dc8b51ceb
Fixed the bug which cause the application crashed when use TCP connect to an invalid address(such as 192.168.1.255).
2015-09-17 16:59:25 +08:00
Pieter Hintjens
0f51190c27
Merge pull request #1580 from ricnewton/master
...
Fix windows cmake build
2015-09-14 14:24:37 +02:00
Richard Newton
3f4f3c1137
Fix windows cmake build
2015-09-14 13:21:20 +01:00
Constantin Rack
ee7f2a278a
Merge pull request #1579 from staticfloat/patch-2
2015-09-14 07:59:12 +02:00
Elliot Saba
1fbc67a40a
Fix pointer indirection precedence issue in docs
...
Without this change, a segmentation fault is likely to occur when using the proposed snippet of code, as `*address[size]` is equivalent to `*(address[size])`, not `(*address)[size]` as clearly intended.
2015-09-13 20:46:14 -07:00
Constantin Rack
2c94bb42c5
Merge pull request #1578 from hintjens/master
...
Problem: drop tests on CLIENT/SERVER are misleading
2015-09-13 14:18:49 +02:00
Pieter Hintjens
3f9255019b
Problem: description of ZMQ_CLIENT/SERVER has inaccuracies
...
- both are thread safe
- they do not accept ZMQ_SNDMORE nor ZMQ_RCVMORE
2015-09-13 12:28:43 +02:00
Pieter Hintjens
50859e40b9
Problem: drop tests on CLIENT/SERVER are misleading
...
These sockets deal only with single part data (at present), so the
drop tests are misleading / inappropriate.
Solution: remove them.
2015-09-13 12:17:53 +02:00
Joe Eli McIlvain
fb57110b94
Merge pull request #1577 from hintjens/master
...
Various cleanups for CLIENT-SERVER sockets
2015-09-11 14:24:51 -07:00
Pieter Hintjens
f3ee8c69db
Problem: request-reply pattern is lousy
...
REQ-REP barely work, and DEALER-ROUTER are misnamed. As we move to
formalizing CLIENT-SERVER, we can deprecate request-reply.
Solution: move this section to the end of the man page, and mark as
"will be deprecated".
2015-09-11 17:22:37 -04:00
Pieter Hintjens
e7da0ea07b
Problem: client/server pattern is not documented
...
Solution: add man pages/sections for:
* ZMQ_SERVER
* ZMQ_CLIENT
* ZMQ_THREADSAFE
* zmq_msg_routing_id
* zmq_msg_set_routing_id
2015-09-11 17:12:58 -04:00
Pieter Hintjens
4db73fc18b
Problem: msg.cpp:set_routing_id accepts a zero routing ID
...
Solution: check/reject a zero routing ID with EINVAL.
2015-09-11 17:09:24 -04:00
Pieter Hintjens
6b00f40f74
Problem: test_client/server_drop_more are invalid
...
These tests connected CLIENT and SERVER to DEALER... this isn't
allowed. I changed to CLIENT-to-SERVER in both cases. The result
was aborts in client.cpp and server.cpp which cannot handle
invalid multipart data.
I removed the asserts in each of these in xsend.
Solution: fix the test cases and remove the (unwanted?) asserts
in client.cpp:xsend and server.cpp:xsend.
2015-09-11 17:07:50 -04:00
Pieter Hintjens
c2dffb9908
Problem: threadsafe test uses CLIENT-to-CLIENT
...
Solution: fix to use CLIENT-to-SERVER and increase number of messages
sent to 100K per thread, to better stress thread safety.
2015-09-11 17:01:27 -04:00
Pieter Hintjens
d416ffcec5
Problem: cannot build single test case in tests
...
This is due to the mangled include of platform.h, which was to make
CMake happy.
Solution: in CMakeLists.txt, define USING_CMAKE and then look for
platform.h in current directory if that is defined, else look in
../src/ as one would expect.
2015-09-11 16:42:26 -04:00
Pieter Hintjens
5e936fe955
Problem: routing ID cycles back to zero
...
It should never be zero.
Solution: if rid cycles back to zero, bump to 1.
2015-09-11 14:30:27 -04:00
Pieter Hintjens
60fdfd9a1b
Problem: whitespace at end of lines, removed
2015-09-11 14:30:20 -04:00
Pieter Hintjens
c5b1de368a
Problem: code lets CLIENT connect to CLIENT
...
This has no sense IMO; people who need this can still use DEALER-DEALER.
Solution: let CLIENT talk only to SERVER.
2015-09-11 13:46:02 -04:00
Pieter Hintjens
87f2dff38c
Problem: zmq_msg_get_routing_id () is not consistent with API
...
We do not use 'get' for getters.
Solution: rename to zmq_msg_routing_id () for public API.
2015-09-11 13:15:00 -04:00
Pieter Hintjens
7be6ad0504
Replaced tabs in some files, with spaces
2015-09-11 13:03:31 -04:00
Constantin Rack
d0ffb91323
Merge pull request #1574 from pijyoi/master
...
avoid dereferencing uint32_t on unaligned address
2015-09-08 11:40:04 +02:00
KIU Shueng Chuan
25a50ca0d5
avoid dereferencing uint32_t on unaligned address
2015-09-08 17:26:31 +08:00
Pieter Hintjens
734a73c63d
Merge pull request #1571 from c-rack/fix-typos
...
Solution: fix typos
2015-09-06 19:00:56 +02:00
Constantin Rack
bd923f0fbb
Problem: some comments contain typos
2015-09-06 18:46:32 +02:00