Intra2net AG

libt2n::BasicSocketWrapper Class Reference

a basic implementation of ConnectionWrapper More...

#include <socket_wrapper.hxx>

Inheritance diagram for libt2n::BasicSocketWrapper:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 BasicSocketWrapper (int _port, const std::string &_server="127.0.0.1", long long _connect_timeout_usec=socket_client_connection::connect_timeout_usec_default, int _max_retries=socket_client_connection::max_retries_default)
 BasicSocketWrapper (const std::string &_path, long long _connect_timeout_usec=socket_client_connection::connect_timeout_usec_default, int _max_retries=socket_client_connection::max_retries_default)
client_connectionget_connection (void)
 return active connection, create new tcp or unix connection if not existing
bool connection_established (void)
void set_logging (std::ostream *_logstream, log_level_values _log_level)
 set logging for coming and current connections
virtual bool handle (command_client *stubBase, boost::function< void() > f)
 this function is called on every execution of a method on a server
long long get_command_timeout_usec (void)
void set_command_timeout_usec (long long _command_timeout_usec)
long long get_hello_timeout_usec (void)
void set_hello_timeout_usec (long long _hello_timeout_usec)
std::ostream * get_logstream (log_level_values level)
 get pointer to logging stream, returns NULL if no logging needed

Protected Member Functions

void set_logging_on_connection (client_connection &c)
 always call this when you got a new connection to transfer logging settings

Protected Attributes

socket_type_value socket_type
std::string path
std::string server
int port
long long connect_timeout_usec
int max_retries
std::auto_ptr
< socket_client_connection
c
log_level_values log_level
std::ostream * logstream

Detailed Description

a basic implementation of ConnectionWrapper

This is a basic version of a ConnectionWrapper which does not do any fancy error handling or anything, it justs executes the regular calls. Use this wrapper if you only want to use the singleton-feature of T2nSingletonWrapper.


Constructor & Destructor Documentation

libt2n::BasicSocketWrapper::BasicSocketWrapper ( int  _port,
const std::string &  _server = "127.0.0.1",
long long  _connect_timeout_usec = socket_client_connection::connect_timeout_usec_default,
int  _max_retries = socket_client_connection::max_retries_default 
) [inline]
libt2n::BasicSocketWrapper::BasicSocketWrapper ( const std::string &  _path,
long long  _connect_timeout_usec = socket_client_connection::connect_timeout_usec_default,
int  _max_retries = socket_client_connection::max_retries_default 
) [inline]

Member Function Documentation

bool libt2n::BasicSocketWrapper::connection_established ( void   )  [inline]
long long libt2n::ConnectionWrapper::get_command_timeout_usec ( void   )  [inline, inherited]
client_connection * libt2n::BasicSocketWrapper::get_connection ( void   )  [virtual]
long long libt2n::ConnectionWrapper::get_hello_timeout_usec ( void   )  [inline, inherited]
std::ostream * libt2n::ConnectionWrapper::get_logstream ( log_level_values  level  )  [inherited]

get pointer to logging stream, returns NULL if no logging needed

References libt2n::ConnectionWrapper::log_level, and libt2n::ConnectionWrapper::logstream.

virtual bool libt2n::ConnectionWrapper::handle ( command_client stubBase,
boost::function< void() >  f 
) [inline, virtual, inherited]

this function is called on every execution of a method on a server

Parameters:
stubBase pointer to the command_client executing the call
f boost::function object containing the method to call and all parameters
Return values:
true if the call was successful and the original return-value of the called function can be used false if T2nSingletonWrapper has to create a return-value with the default-constructor

T2nSingletonWrapper will call this function on every execution of a server-side method. This version will just call the function without any special treatment. You can overload this function to implement different error handling strategies.

Reimplemented in libt2n::ReconnectSocketWrapper, and libt2n::ReconnectIgnoreFailureSocketWrapper.

void libt2n::ConnectionWrapper::set_command_timeout_usec ( long long  _command_timeout_usec  )  [inline, inherited]
void libt2n::ConnectionWrapper::set_hello_timeout_usec ( long long  _hello_timeout_usec  )  [inline, inherited]
void libt2n::BasicSocketWrapper::set_logging ( std::ostream *  _logstream,
log_level_values  _log_level 
) [virtual]

set logging for coming and current connections

Reimplemented from libt2n::ConnectionWrapper.

References connection_established(), get_connection(), and libt2n::client_connection::set_logging().

void libt2n::ConnectionWrapper::set_logging_on_connection ( client_connection c  )  [protected, inherited]

always call this when you got a new connection to transfer logging settings

References libt2n::ConnectionWrapper::log_level, libt2n::ConnectionWrapper::logstream, libt2n::none, and libt2n::client_connection::set_logging().


Member Data Documentation

Referenced by get_connection().

std::ostream* libt2n::ConnectionWrapper::logstream [protected, inherited]
std::string libt2n::BasicSocketWrapper::path [protected]

Referenced by get_connection().

Referenced by get_connection().

std::string libt2n::BasicSocketWrapper::server [protected]

Referenced by get_connection().


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

Generated on 13 May 2015 by  doxygen 1.6.1
© Intra2net AG 2024 | Legal | Contact