Robust Distributed System Nucleus (rDSN)  ver 1.0.0
Public Member Functions | Protected Types | Protected Attributes | List of all members
dsn::connection_oriented_network Class Referenceabstract
Inheritance diagram for dsn::connection_oriented_network:
dsn::network

Public Member Functions

DSN_API connection_oriented_network (rpc_engine *srv, network *inner_provider)
 
DSN_API rpc_session_ptr get_server_session (::dsn::rpc_address ep)
 
DSN_API void on_server_session_accepted (rpc_session_ptr &s)
 
DSN_API void on_server_session_disconnected (rpc_session_ptr &s)
 
DSN_API rpc_session_ptr get_client_session (::dsn::rpc_address ep)
 
DSN_API void on_client_session_connected (rpc_session_ptr &s)
 
DSN_API void on_client_session_disconnected (rpc_session_ptr &s)
 
virtual DSN_API void send_message (message_ex *request) override
 
virtual DSN_API void inject_drop_message (message_ex *msg, bool is_send) override
 
virtual rpc_session_ptr create_client_session (::dsn::rpc_address server_addr)=0
 
- Public Member Functions inherited from dsn::network
DSN_API network (rpc_engine *srv, network *inner_provider)
 
virtual error_code start (rpc_channel channel, int port, bool client_only, io_modifer &ctx)=0
 
virtual ::dsn::rpc_address address ()=0
 
DSN_API service_node * node () const
 
DSN_API void on_recv_request (message_ex *msg, int delay_ms)
 
DSN_API void on_recv_reply (uint64_t id, message_ex *msg, int delay_ms)
 
DSN_API message_parser * new_message_parser (network_header_format hdr_format)
 
DSN_API std::pair< message_parser::factory2, size_t > get_message_parser_info (network_header_format hdr_format)
 
rpc_engine * engine () const
 
int max_buffer_block_count_per_send () const
 
network_header_format client_hdr_format () const
 
network_header_format unknown_msg_hdr_format () const
 
int message_buffer_block_size () const
 

Protected Types

typedef std::unordered_map< ::dsn::rpc_address, rpc_session_ptr > client_sessions
 
typedef std::unordered_map< ::dsn::rpc_address, rpc_session_ptr > server_sessions
 

Protected Attributes

client_sessions _clients
 
utils::rw_lock_nr _clients_lock
 
server_sessions _servers
 
utils::rw_lock_nr _servers_lock
 
- Protected Attributes inherited from dsn::network
rpc_engine * _engine
 
network_header_format _client_hdr_format
 
network_header_format _unknown_msg_header_format
 
int _message_buffer_block_size
 
int _max_buffer_block_count_per_send
 
int _send_queue_threshold
 

Additional Inherited Members

- Public Types inherited from dsn::network
typedef network *(* factory) (rpc_engine *, network *)
 
- Static Public Member Functions inherited from dsn::network
template<typename T >
static networkcreate (rpc_engine *srv, network *inner_provider)
 
- Static Protected Member Functions inherited from dsn::network
static DSN_API uint32_t get_local_ipv4 ()
 

The documentation for this class was generated from the following file: