- 27 May, 2012 1 commit
-
-
Martin Hurton authored
-
- 07 May, 2012 1 commit
-
-
unknown authored
-
- 04 May, 2012 1 commit
-
-
Lourens Naudé authored
-
- 21 Apr, 2012 1 commit
-
-
Sergey KHripchenko authored
1. when we call zmq_bind()/zmq_connect() to create endpoint we send ourselfs(through launch_child()) command to process_own(endpoint) (and add it to own_t::owned) in the application thread we could call zmq_unbind() / zmq_disconnect() _BEFORE_ we run process_own() in ZMQ thread and in this situation we will be unable to find it in own_t::owned. in other words own_t::owned.find(endpoint) will not be deleted but it will be deleted from socket_base_t::endpoints. 2. when you zmq_unbind() the lisnening TCP/IPC socket was terminated only in destructor... so the whole ZMQ_LINGER time listening TCP/IPC socket was able to accept() new connections but unable to handle them. this all geting even worse since unfortunately zmq has a bug and '*_listener_t' object not terminated untill the socket's zmq_close(). AT LEAST FOR PUSH SOCKETS. Everything is ok for SUB sockets. Easy to reproduce without my fix: zmq_socket(PUSH) zmq_bind(tcp); // connect to it from PULL socket zmq_unbind(tcp); sleep(forever) // netstat -anp | grep 'tcp listening socket' With my fix you could see that after zmq_unbind(tcp) all previously connected tcp sessions will not be finished untill the zmq_close(socket) regardless of ZMQ_LINGER value. (*_listener_t terminates all owned session_base_t(connect=false) and they call pipe_t::terminate() which in turn should call session_base_t::terminated() but this never happens)
-
- 18 Apr, 2012 1 commit
-
-
Sergey KHripchenko authored
-
- 13 Apr, 2012 1 commit
-
-
Sergey KHripchenko authored
-
- 12 Apr, 2012 1 commit
-
-
Sergey KHripchenko authored
Assign arbitrary number of filters that will be applied for each new TCP transport connection on a listening socket. If no filters applied, then TCP transport allows connections from any ip. If at least one filter is applied then new connection source ip should be matched. To clear all filters call zmq_setsockopt(socket, ZMQ_TCP_ACCEPT_FILTER, NULL, 0). Filter is a null-terminated string with ipv6 or ipv4 CIDR. For example: localhost 127.0.0.1 mail.ru/24 ::1 ::1/128 3ffe:1:: 3ffe:1::/56 Returns -1 if the filter couldn't be assigned(format error or ipv6 filter with ZMQ_IPV4ONLY set) P.S. The only thing that worries me is that I had to re-enable 'default assign by reference constructor/operator' for 'tcp_address_t' (and for my inherited class tcp_address_mask_t) to store it in std::vector in 'options_t'...
-
- 05 Apr, 2012 1 commit
-
-
Sergey KHripchenko authored
currently not fully cross-platform work on linux possibly work in *bsd and could be enhanced to work on windows
-
- 20 Mar, 2012 1 commit
-
-
Martin Hurton authored
-
- 20 Feb, 2012 1 commit
-
-
Mikko Koppanen authored
Minor fixes to get_address code to fix build on solaris and freebsd. Also service doesnt need to be discovered here
-
- 18 Feb, 2012 3 commits
-
-
Mikko Koppanen authored
-
Mikko Koppanen authored
-
Mikko Koppanen authored
-
- 16 Feb, 2012 2 commits
-
-
Ian Barber authored
-
Staffan Gimåker authored
This allows us to actually report an error to the caller on resolve failure, rather than asserting later on in the io thread. Signed-off-by:
Staffan Gimåker <staffan@spotify.com>
-
- 14 Feb, 2012 1 commit
-
-
Ian Barber authored
-
- 11 Feb, 2012 1 commit
-
-
Ian Barber authored
-
- 08 Feb, 2012 1 commit
-
-
Ian Barber authored
-
- 01 Nov, 2011 1 commit
-
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 31 Oct, 2011 1 commit
-
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 15 Sep, 2011 1 commit
-
-
Martin Sustrik authored
This is a preliminary patch allowing for socket-type-specific functionality in the I/O thread. For example, message format can be checked asynchronously and misbehaved connections dropped straight away. Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 02 Sep, 2011 1 commit
-
-
Martin Sustrik authored
When exec is executed to start a different process image old 0MQ file descriptors could stay open, thus blocking TCP ports and alike. This patch should solve the problem. Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 18 Aug, 2011 1 commit
-
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 16 Aug, 2011 1 commit
-
-
Martin Sustrik authored
The engine was not used exclusively for TCP connections. Rather it was used to handle any socket with SOCK_STREAM semantics. The class was renamed to reflect its true function. Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 15 Aug, 2011 2 commits
-
-
Steven McCoy authored
Signed-off-by:
Steven McCoy <steven.mccoy@miru.hk> Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 08 Aug, 2011 1 commit
-
-
Steven McCoy authored
Signed-off-by:
Steven McCoy <steven.mccoy@miru.hk> Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 04 Aug, 2011 1 commit
-
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 28 Jul, 2011 5 commits
-
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
Martin Sustrik authored
Instead of being spread throughout the codebase, the tuning is done in tune_tcp_socket() function. Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 26 Jul, 2011 1 commit
-
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 25 Jul, 2011 1 commit
-
-
Martin Sustrik authored
zmq_engine and tcp_socket merged into tcp_engine zmq_connecter and tcp_connecter merged into tcp_connecter zmq_listener and tcp_listener merged into tcp_listener Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 21 Apr, 2011 1 commit
-
-
Martin Sustrik authored
This patch addresses serveral issues: 1. It gathers message related functionality scattered over whole codebase into a single class. 2. It makes zmq_msg_t an opaque datatype. Internals of the class don't pollute zmq.h header file. 3. zmq_msg_t size decreases from 48 to 32 bytes. That saves ~33% of memory in scenarios with large amount of small messages. Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 15 Apr, 2011 1 commit
-
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 16 Mar, 2011 1 commit
-
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 02 Mar, 2011 1 commit
-
-
Martin Sustrik authored
Signed-off-by:
Martin Sustrik <sustrik@250bpm.com>
-
- 13 Dec, 2010 1 commit
-
-
Dhammika Pathirana authored
Signed-off-by:
Dhammika Pathirana <dhammika@gmail.com>
-