0
0
mirror of https://github.com/zeromq/libzmq.git synced 2024-12-27 15:41:05 +08:00

38 Commits

Author SHA1 Message Date
Ian Barber
95cbad3841 Revert "After speaking with Ben Gray and the discussion on the mailing list, this is an attempt to create a sockopt to allow connecting pipes to not immediately be available for traffic. The problem is in a PUSH to many PULL situation, where there is a connect to a PULL which is not there. This connect will immediately create a pipe (unlike bind), and traffic will be load balanced to that pipe. This means if there is a persistently unavailable end point then the traffic will queue until HWM is hit, and older messages will be lost."
This reverts commit fe3fb419fe249d7015a6c864d18464d434a55468.
2012-06-12 14:53:57 +01:00
Ian Barber
fe3fb419fe After speaking with Ben Gray and the discussion on the mailing list, this is an attempt to create a sockopt to allow connecting pipes to not immediately be available for traffic. The problem is in a PUSH to many PULL situation, where there is a connect to a PULL which is not there. This connect will immediately create a pipe (unlike bind), and traffic will be load balanced to that pipe. This means if there is a persistently unavailable end point then the traffic will queue until HWM is hit, and older messages will be lost.
This patch adds a sockopt ZMQ_DELAY_ATTACH_ON_CONNECT, which if set to 1 will attempt to preempt this behavior. It does this by extending the use of the session_base to include in the outbound as well as the inbound pipe, and only associates the pipe with the socket once it receives the connected callback via a process_attach message. This works, and a test has been added to show so, but may introduce unexpected complications. The shutdown logic in this class has become marginally more awkward because of this, requiring the session to serve as the sink for both pipes if shutdown occurs with a still-connecting pipe in place. It is also possible there could be issues around flushing the messages, but as I could not directly think how to create such an issue I have not written any code with regards to that.

The documentation has been updated to reflect the change, but please do check over the code and test and review.
2012-06-01 17:58:19 +01:00
Lourens Naudé
d0461752ff Merge branch 'master' into events 2012-05-11 22:08:17 +01:00
Ian Barber
e65d228f4f gitignore endpoint test and add docs for unbind and disconnect 2012-05-11 14:17:45 +01:00
Lourens Naudé
5c6f72c17c ZMQ_MONITOR socket option registers a callback / event sink for changes in socket state 2012-05-04 02:32:46 +01:00
Pieter Hintjens
f26e4ab784 Simplified zmq_msg_get/set functions
* Return integer property
* Fixed up man pages, which were inaccurate
* Fixed test case
2012-03-21 14:19:40 -05: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
Pieter Hintjens
bd4f703264 Ignored generated files 2012-02-15 09:27:42 -06:00
Stuart Webster
3fb5c11b03 Added MSVC10 solution and project files for Windows
These include configurations for both Win32 and x64 platforms. All project
settings have been normalised in property sheets (the ".props" files under
builds/msvc/properties) to simplify maintenance. Build artefacts are all
generated in platform-specific subfolders of bin, lib and obj directories.

Also enables the use of precompiled headers with MSVC10.

This significantly reduces the time required to compile libzmq with Visual
Studio on Windows. It should have no impact on other platforms.

Signed-off-by: Stuart Webster <sw_webster@hotmail.com>
2011-12-15 14:03:43 +01:00
Stuart Webster
a610b3d1b4 Line-ending conversion rules for hg-git users and enabled use of .gitignore by hg-git users
Mercurial does not have built-in support for converting line-endings. This is a
settings file for hg eol (http://mercurial.selenic.com/wiki/EolExtension), an
extension that replicates the behaviour of git with core.autocrlf=true.

Mercurial uses Python regex syntax by default in its .hgignore files. Adding
this line to .gitignore overrides that setting, so hg-git users can just create
a hardlink to it (e.g "mklink /H .hgignore .gitignore" on Windows) to use it.

Signed-off-by: Stuart Webster <sw_webster@hotmail.com>
2011-11-19 10:02:23 +01:00
Chuck Remes
93529d8c5d Add zmq_getmsgopt to the API
The new function allows to retrieve options (flags)
from zmq_msg_t.

Signed-off-by: Chuck Remes <cremes@mac.com>
Renamed from zmq_msg_flags to zmq_getmsgopt
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-06 14:03:51 +01:00
Martin Sustrik
42737f0918 test_invlid_rep added to .gitignore
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-14 14:24:59 +02:00
Martin Sustrik
258e7e6794 Code cleanup
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-26 20:13:54 +02:00
Martin Sustrik
9906c652ca Outdated entries removed from .gitignore
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-26 12:21:49 +02:00
Martin Sustrik
ec81f8fb25 New wire format for REQ/REP pattern
This patch introduces two changes:
1. 32-bit ID is used to identify the peer instead of UUID
2. REQ socket seeds the label stack with unique 32-bit request ID
   It also drops any replies with non-matching request ID

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-22 11:02:16 +02:00
Fabien Ninoles
d7923f08ca Add sockopt ZMQ_RCVTIMEO/ZMQ_SNDTIMEO.
- Add doc and tests
- Add options and setup
- Wait using poll/select

Signed-off-by: Fabien Ninoles <fabien@tzone.org>
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-06-17 12:22:02 +02:00
Martin Sustrik
54ea458f62 Git ignores .gcno files
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-04-03 07:36:02 +02:00
Martin Sustrik
ae90d3bdbe inproc_lat and inproc_thr added to .gitignore
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-04-01 11:55:10 +02:00
Mikko Koppanen
fbf1f51468 Upstream the openpgm build fixes. Add DSO symbol visibility to OpenPGM builds
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2011-03-31 18:42:09 +02:00
Martin Sustrik
c8e5be87d8 test-hwm added to .gitignore
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-05 15:04:15 +01:00
Martin Sustrik
0bc2a05d84 .gitignore modified to ignore test executables
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-11-27 12:51:43 +01:00
Martin Lucina
eb83678b2b Add INSTALL to Git, thus making it a normal file
INSTALL gets added in somewhat magically by automake, or not. Adding it into
Git ensures it's always included in the distribution.

Signed-off-by: Martin Lucina <mato@kotelna.sk>
2010-11-01 14:12:33 +01:00
Gonzalo Diethelm
26d7669464 Added bin directory to ignore list. 2010-10-14 08:02:43 -03:00
Martin Lucina
1e8451961e Update .gitignore 2010-09-04 17:44:11 +02:00
Martin Sustrik
ad75d02134 Add MSVC build files to distribution 2010-03-16 15:48:16 +01:00
Martin Lucina
10bbe6af99 Cleanup .gitignore 2010-03-11 20:43:51 +01:00
Martin Sustrik
deda7ca54a Java Poller patch 2010-02-26 17:28:09 +01:00
Martin Lucina
39b8961974 Update OpenPGM to 2.0.24 (stable) 2010-02-24 09:41:10 +01:00
Martin Sustrik
025c9e173c execution disabled on certain source files; some comments on java binding; MSVC temp files added to .gitignore 2010-02-23 17:22:52 +01:00
Martin Sustrik
a2f9899f6a missing COPYING file added 2010-02-16 17:50:36 +01:00
Martin Lucina
b09eeeb2fa Update gitignore 2010-02-15 23:52:08 +01:00
Martin Lucina
354efc513f Convert documentation to AsciiDoc 2010-02-10 16:18:46 +01:00
Martin Sustrik
f17f0fa67b CL binding ripped out of the tree 2010-01-28 12:45:12 +01:00
Martin Sustrik
4ceb839350 typos in man pages fixed 2010-01-18 13:16:14 +01:00
Martin Sustrik
4617fd9e9c c++ perf tests added 2009-08-30 09:14:15 +02:00
Martin Sustrik
176879e5bb engine virtualised; chatroom example removed 2009-08-30 08:18:31 +02:00
Martin Sustrik
cc3755a16f renamed from zs to zmq 2009-08-03 11:30:13 +02:00
Martin Sustrik
183b688764 git ignoring intermediary files 2009-07-30 13:53:46 +02:00