diff options
author | Martin Sustrik <sustrik@fastmq.commkdir> | 2009-08-06 12:51:32 +0200 |
---|---|---|
committer | Martin Sustrik <sustrik@fastmq.commkdir> | 2009-08-06 12:51:32 +0200 |
commit | 0b5cc026fbe7ccc6de66907be29471562a2d344d (patch) | |
tree | a6051f238152e2261ea48942f0c216a3984cc9fd /src/listener.hpp | |
parent | b8b4acef4c2ba1a169ce84c1fb4c70a5676ebba3 (diff) |
clean up - session/socket/engine stuff removed
Diffstat (limited to 'src/listener.hpp')
-rw-r--r-- | src/listener.hpp | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/src/listener.hpp b/src/listener.hpp deleted file mode 100644 index 2fe93db..0000000 --- a/src/listener.hpp +++ /dev/null @@ -1,110 +0,0 @@ -/* - Copyright (c) 2007-2009 FastMQ Inc. - - This file is part of 0MQ. - - 0MQ is free software; you can redistribute it and/or modify it under - the terms of the Lesser GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - 0MQ is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - Lesser GNU General Public License for more details. - - You should have received a copy of the Lesser GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef __ZMQ_LISTENER_HPP_INCLUDED__ -#define __ZMQ_LISTENER_HPP_INCLUDED__ - -#include <map> -#include <vector> -#include <string> - -#include "io_object.hpp" -#include "tcp_listener.hpp" -#include "i_poller.hpp" -#include "i_poll_events.hpp" -#include "stdint.hpp" - -namespace zmq -{ - - class listener_t : public io_object_t, public i_poll_events - { - public: - - listener_t (class io_thread_t *thread_, const char *addr_, - class session_t *peer_, bool has_in_, bool has_out_, - uint64_t taskset_); - - void terminate (); - void shutdown (); - - // This function is called by session stub once the identity - // is retrieved from the incoming connection. - void got_identity (class session_stub_t *session_stub_, - const char *identity_); - - void process_reg (class simple_semaphore_t *smph_); - void process_unreg (class simple_semaphore_t *smph_); - - // i_poll_events implementation. - void in_event (); - void out_event (); - void timer_event (); - - private: - - ~listener_t (); - - struct i_poller *poller; - - // Handle corresponding to the listening socket. - handle_t handle; - - // Actual listening socket. - tcp_listener_t tcp_listener; - - // Address to bind to. - std::string addr; - - // Peer session. All the newly created connections should bind to - // this session. - session_t *peer; - - // Taskset specifies which I/O threads are to be use to handle - // newly created connections (0 = all). - uint64_t taskset; - - // Sessions created by this listener are stored in this map. They are - // indexed by peer identities so that the same peer connects to the - // same session after reconnection. - // NB: Sessions are destroyed from other place and possibly later on, - // so no need to care about them during listener object termination. - typedef std::map <std::string, class session_t*> sessions_t; - sessions_t sessions; - - // List of engines (bound to temorary session stubs) that we haven't - // retrieved the identity from so far. - typedef std::vector <class session_stub_t*> session_stubs_t; - session_stubs_t session_stubs; - - // If true, create inbound pipe when binding new connection - // to the peer. - bool has_in; - - // If true, create outbound pipe when binding new connection - // to the peer. - bool has_out; - - listener_t (const listener_t&); - void operator = (const listener_t&); - }; - -} - -#endif |