Commit Graph

4242 Commits

Author SHA1 Message Date
Ilya Kulakov
68b13fbddb Add the VMCI transport.
VMCI transport allows fast communication between the Host
and a virtual machine, between virtual machines on the same host,
and within a virtual machine (like IPC).

It requires VMware to be installed on the host and Guest Additions
to be installed on a guest.
2015-12-08 13:16:09 +06:00
Pieter Hintjens
61f74e2dfc Merge pull request #1652 from chrisstaite/master
Adjust start of heartbeat timer
2015-11-30 21:32:37 +01:00
Chris
ba3cf3c006 Only start the heartbeat timer when the underlying mechanism is ready to stop cipher streams from trying to encrypt a heartbeat before the handshake has completed. Addresses issue #1601. 2015-11-30 20:18:25 +00:00
Pieter Hintjens
f6018e81d8 Merge pull request #1651 from wcs1only/master
fixes #1565: Allow session to flush commands on an engine error
2015-11-30 16:14:30 +01:00
Charles Stanley
54799c8c6f fixes #1565: Allow session to flush commands on an engine error 2015-11-30 10:05:47 -05:00
Pieter Hintjens
e56b486735 Merge pull request #1650 from c-rack/show-log-on-build-error
Solution: print test-suite.log if "make check" fails
2015-11-27 08:47:53 +01:00
Constantin Rack
dfaa92cd1e Problem: test-suite.log is not accessible on failing CI build
Currently, a test fails on Travis-CI but that can not be reproduced locally.
Without the contents of the test-suite.log, this is difficult to analyze.

Solution: print test-suite.log if "make check" fails

This is based on the following answer on SO:
http://stackoverflow.com/a/32597140
2015-11-25 09:17:53 +01:00
Constantin Rack
782fbe5bef Merge pull request #1649 from sheremetyev/fix-pipe-activation-race
Fix pipe activation race
2015-11-24 19:02:36 +01:00
Fedor Sheremetyev
bad93c536a Set LWM to half of HWL.
This reduces chances of race between writer deactivation and activation.

Reader sends activation command to writer when number or messages is
multiple of LWM. In situation with high throughput (millions of messages
per second) and correspondingly large HWM (e.g. 10M) the difference
between HWM needs to be large enough - so that activation command is
received before pipe becomes full.
2015-11-24 17:33:38 +00:00
Fedor Sheremetyev
234018d749 Add test demostrating that HWM applies to messages that have been already consumed. 2015-11-24 17:33:19 +00:00
Pieter Hintjens
6e064f9f75 Merge pull request #1648 from c-rack/remove-out-batch-size
Solution: remove `out_batch_size` from src/config.hpp
2015-11-24 10:13:52 +02:00
Constantin Rack
f9b8a94c90 Problem: out_batch_size has been replaced by ZMQ_TCP_SEND_BUFFER option in cdeec4c1
Solution: remove `out_batch_size` from src/config.hpp
2015-11-24 09:04:07 +01:00
Constantin Rack
b407b54b44 Merge pull request #1647 from banburybill/master
Add new option ZMQ_MULTICAST_MAXTPDU to set PGM_MTU.
2015-11-23 21:31:42 +01:00
Jim Hague
e71471b2e8 Add new option ZMQ_MULTICAST_MAXTPDU to set PGM_MTU.
Fixes #1646
2015-11-23 19:35:02 +00:00
Constantin Rack
5d04dc354e Merge pull request #1645 from somdoron/master
Problem: router socket can do pipe handover while reading multipart message
2015-11-21 18:12:42 +01:00
somdoron
804bce8294 Fix pipe terimation in router while reading message 2015-11-20 21:27:56 +02:00
Pieter Hintjens
4f7dc49642 Merge pull request #1643 from somdoron/master
Problem: when STREAM socket HWM is reached an assert will happen as metadata is trying to set twice
2015-11-19 13:47:28 +02:00
somdoron
210572201d Fix a bug when stream_engine try to set alreadt set metadata 2015-11-18 15:02:19 +02:00
Pieter Hintjens
afc7c5c745 Merge pull request #1641 from c-rack/fix-recv-send-buffer
Solution: change behaviour of tcp_send/recv_buffer_size option
2015-11-13 12:29:09 +01:00
Constantin Rack
fc1099ffd1 Problem: documentation shows wrong default value
Solution: fix documentation
2015-11-13 11:08:23 +01:00
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