inlib
1.2.0
|
Public Member Functions | |
data_client (std::ostream &a_out, bool a_verbose, bool a_warn) | |
virtual | ~data_client () |
inlib::net::inet_socket & | socket () |
std::ostream & | out () |
bool | initialize (const std::string &a_server, unsigned int a_port) |
bool | steer () |
bool | poll () |
bool | send_buffer_doc (inlib::uint64 a_length, const char *a_buffer, const std::string &a_options="") |
Protected Member Functions | |
data_client (const data_client &a_from) | |
virtual bool | dispatch (const std::string &a_prot, bool &a_handled) |
Protected Attributes | |
std::ostream & | m_out |
inlib::net::inet_socket | m_socket |
Definition at line 14 of file data_client.
inlib::wall::data_client::data_client | ( | std::ostream & | a_out, |
bool | a_verbose, | ||
bool | a_warn | ||
) | [inline] |
Definition at line 16 of file data_client.
virtual inlib::wall::data_client::~data_client | ( | ) | [inline, virtual] |
Definition at line 23 of file data_client.
{}
inlib::wall::data_client::data_client | ( | const data_client & | a_from | ) | [inline, protected] |
Definition at line 25 of file data_client.
virtual bool inlib::wall::data_client::dispatch | ( | const std::string & | a_prot, |
bool & | a_handled | ||
) | [inline, protected, virtual] |
Definition at line 181 of file data_client.
{ if(a_prot==inlib::wall::protocol::disconnect()) { m_socket.disconnect(); a_handled = true; } else if(a_prot==inlib::wall::protocol::start()) { a_handled = true; } else { if(m_warn) { m_out << "inlib::data_client::dispatch :" << " unknown prot " << inlib::sout(a_prot) << "." << std::endl; } a_handled = false; } return true; }
bool inlib::wall::data_client::initialize | ( | const std::string & | a_server, |
unsigned int | a_port | ||
) | [inline] |
std::ostream& inlib::wall::data_client::out | ( | ) | [inline] |
Definition at line 34 of file data_client.
{return m_out;}
bool inlib::wall::data_client::poll | ( | ) | [inline] |
Definition at line 78 of file data_client.
{ while(true){ bool have_input; if(!m_socket.is_there_input(have_input)) { m_out << "inlib::data_client::poll :" << " is_there_input failed" << std::endl; m_socket.disconnect(); return false; } if(!have_input) return true; std::string prot; if(!m_socket.fetch_string(prot)) { m_out << "inlib::data_client::poll :" << " fetch failed" << std::endl; m_socket.disconnect(); return false; } if(m_socket.verbose()) { m_out << "inlib::data_client::poll :" << " received prot " << prot << std::endl; } bool handled; if(!dispatch(prot,handled)) { m_out << "inlib::data_client::poll :" << " distpatch failed" << std::endl; m_socket.disconnect(); return false; } //could have received a inlib::wall::protocol::disconnect() if(!m_socket.is_connected()) return true; } }
bool inlib::wall::data_client::send_buffer_doc | ( | inlib::uint64 | a_length, |
const char * | a_buffer, | ||
const std::string & | a_options = "" |
||
) | [inline] |
Definition at line 147 of file data_client.
{ if(!m_socket.send_string(inlib::wall::protocol::doc())) { m_out << "inlib::data_client::send_doc :" << " send_string() failed." << std::endl; return false; } if(!m_socket.send_string(a_options)) { m_out << "inlib::data_client::send_doc :" << " send_string() failed." << std::endl; return false; } if(!m_socket.send<inlib::uint64>(a_length)) { m_out << "inlib::data_client::send_doc :" << " send lengtj failed." << std::endl; return false; } if(!m_socket.send_buffer(a_buffer,a_length)) { m_out << "inlib::data_client::send_doc :" << " send_buffer() failed." << std::endl; return false; } return true; }
inlib::net::inet_socket& inlib::wall::data_client::socket | ( | ) | [inline] |
Definition at line 33 of file data_client.
{return m_socket;}
bool inlib::wall::data_client::steer | ( | ) | [inline] |
Definition at line 45 of file data_client.
{ while(true){ std::string prot; if(!m_socket.fetch_string(prot)) { m_out << "inlib::data_client::steer :" << " fetch failed" << std::endl; m_socket.disconnect(); return false; } if(m_socket.verbose()) { m_out << "inlib::data_client::steer :" << " received prot " << inlib::sout(prot) << std::endl; } bool handled; if(!dispatch(prot,handled)) { m_out << "inlib::data_client::steer :" << " distpatch failed" << std::endl; m_socket.disconnect(); return false; } } m_socket.disconnect(); return true; }
std::ostream& inlib::wall::data_client::m_out [protected] |
Definition at line 202 of file data_client.
Definition at line 203 of file data_client.