libzmq/.gitignore
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

72 lines
1.1 KiB
Plaintext

syntax: glob # for hg-git users
Makefile
Makefile.in
configure
libtool
config
config.status
config.log
aclocal.m4
autom4te.cache
*.o
*.gcno
*.ncb
*.lo
*.loT
*.la
*.html
*.pdf
*.ps
.*
*~
.*~
tests/test_term_endpoint
tests/test_monitor
tests/test_last_endpoint
tests/test_pair_inproc
tests/test_pair_ipc
tests/test_pair_tcp
tests/test_reqrep_inproc
tests/test_reqrep_ipc
tests/test_reqrep_tcp
tests/test_shutdown_stress
tests/test_hwm
tests/test_timeo
tests/test_reqrep_device
tests/test_reqrep_drop
tests/test_sub_forward
tests/test_invalid_rep
tests/test_msg_flags
tests/test_ts_context
tests/test_connect_resolve
tests/test_connect_delay
tests/test_term_endpoint
src/platform.hpp*
src/stamp-h1
perf/local_lat
perf/local_thr
perf/remote_lat
perf/remote_thr
perf/inproc_lat
perf/inproc_thr
doc/*.1
doc/*.3
doc/*.7
doc/*.html
doc/*.xml
src/libzmq.pc
bin/
lib/
obj/
builds/msvc/*.suo
builds/msvc/*/*.user
builds/msvc/*/Debug
builds/msvc/*/Release
builds/redhat/zeromq.spec
foreign/openpgm/*
!foreign/openpgm/*.tar.bz2
!foreign/openpgm/*.tar.gz
!foreign/openpgm/Makefile.am
zeromq-*.tar.gz
zeromq-*.zip