Unix socket iostream specialization. More...
#include <usocket.h>
Public Member Functions | |
usocket (const std::string &servername, time_t millisecs=0, const std::string &filename="", unsigned int min_debug_level=0, Debugable *debug_master=0) | |
Open client socket on filename connected to servername. | |
usocket (userversocket &srv, time_t delay, size_t bufsize) | |
Construct a connection accepted by a server. | |
~usocket () | |
Destructor. | |
const std::string & | servername () const |
usockstreambuf * | rdbuf (void) const |
int | error () const |
Return last system error. | |
std::string | strerror () const |
Static Public Member Functions | |
static shared_ptr< usocket > | accept (userversocket &srv, time_t delay, size_t bufsize) |
Construct a connection accepted by a server. | |
Private Member Functions | |
usocket (const usocket &) | |
usocket & | operator= (const usocket &) |
Private Attributes | |
std::string | servername_ |
bool | temp_ |
Unix socket iostream specialization.
Definition at line 16 of file usocket.h.
Dv::Net::usocket::usocket | ( | const std::string & | servername, | |
time_t | millisecs = 0 , |
|||
const std::string & | filename = "" , |
|||
unsigned int | min_debug_level = 0 , |
|||
Debugable * | debug_master = 0 | |||
) | [explicit] |
Open client socket on filename connected to servername.
If filename has size 0, a temporary file will be created in /tmp .
servername | filename of server | |
millisecs | delay | |
filename | ||
min_debug_level | if a debug_master is connected, logging info will only be written if the master's level is at least min_debug_level | |
debug_master | from where debug info will be taken |
Dv::Net::usocket::usocket | ( | userversocket & | srv, | |
time_t | delay, | |||
size_t | bufsize | |||
) |
Construct a connection accepted by a server.
The debug_threshold and debug_master will be taken from the server.
Upon failure or timeout, the usocket is still created, but its failbit will be set, which can be checked as follows.
usocket connection(server,10,bufsize); if (connection) { .. }
The delay (for I/O operations) of the new socket, is inherited from the Dv::Net::userversocket.
srv | server doing the accept | |
delay | (in millisecs) that we are prepared to wait, 0 means forever. | |
bufsize | of resulting socket |
Dv::Net::usocket::~usocket | ( | ) |
Destructor.
Dv::Net::usocket::usocket | ( | const usocket & | ) | [private] |
static shared_ptr<usocket> Dv::Net::usocket::accept | ( | userversocket & | srv, | |
time_t | delay, | |||
size_t | bufsize | |||
) | [static] |
Construct a connection accepted by a server.
The debug_threshold and debug_master will be taken from the userversocket
srv | server doing the accept | |
delay | (in millisecs) that we are prepared to wait, 0 means forever. | |
bufsize | of resulting socket |
const std::string& Dv::Net::usocket::servername | ( | ) | const [inline] |
usockstreambuf* Dv::Net::usocket::rdbuf | ( | void | ) | const [inline] |
Definition at line 63 of file usocket.h.
Referenced by error(), and strerror().
int Dv::Net::usocket::error | ( | ) | const [inline] |
Return last system error.
Definition at line 67 of file usocket.h.
References Dv::Util::fdstreambuf::error(), and rdbuf().
std::string Dv::Net::usocket::strerror | ( | ) | const [inline] |
Definition at line 69 of file usocket.h.
References rdbuf(), and Dv::Util::fdstreambuf::strerror().
std::string Dv::Net::usocket::servername_ [private] |
Definition at line 73 of file usocket.h.
Referenced by servername().
bool Dv::Net::usocket::temp_ [private] |
dvnet-0.9.24 | [ 5 December, 2009] |