Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00031
00037 template<typename CharT, typename Traits>
00038 claw::net::basic_socket_stream<CharT, Traits>::basic_socket_stream
00039 ( int read_delay )
00040 : m_buffer(read_delay)
00041 {
00042 init(&m_buffer);
00043 }
00044
00045
00053 template<typename CharT, typename Traits>
00054 claw::net::basic_socket_stream<CharT, Traits>::basic_socket_stream
00055 ( const char* address, int port, int read_delay )
00056 : m_buffer(read_delay)
00057 {
00058 init(&m_buffer);
00059 open(address, port);
00060 }
00061
00062
00066 template<typename CharT, typename Traits>
00067 claw::net::basic_socket_stream<CharT, Traits>::~basic_socket_stream()
00068 {
00069
00070 }
00071
00072
00076 template<typename CharT, typename Traits>
00077 typename claw::net::basic_socket_stream<CharT, Traits>::buffer_type*
00078 claw::net::basic_socket_stream<CharT, Traits>::rdbuf() const
00079 {
00080 return const_cast<buffer_type*>(&m_buffer);
00081 }
00082
00083
00087 template<typename CharT, typename Traits>
00088 bool claw::net::basic_socket_stream<CharT, Traits>::is_open() const
00089 {
00090 return m_buffer.is_open();
00091 }
00092
00093
00099 template<typename CharT, typename Traits>
00100 void claw::net::basic_socket_stream<CharT, Traits>::set_read_time_limit
00101 ( int read_limit )
00102 {
00103 m_buffer.set_read_time_limit(read_limit);
00104 }
00105
00106
00112 template<typename CharT, typename Traits>
00113 void claw::net::basic_socket_stream<CharT, Traits>::open
00114 ( const char* address, int port )
00115 {
00116 if ( !m_buffer.open(address, port) )
00117 this->setstate(std::ios_base::failbit);
00118 else
00119 this->clear();
00120 }
00121
00122
00128 template<typename CharT, typename Traits>
00129 void claw::net::basic_socket_stream<CharT, Traits>::open( int fd )
00130 {
00131 if ( !m_buffer.open(fd) )
00132 this->setstate(std::ios_base::failbit);
00133 else
00134 this->clear();
00135 }
00136
00137
00141 template<typename CharT, typename Traits>
00142 void claw::net::basic_socket_stream<CharT, Traits>::close()
00143 {
00144 if ( !m_buffer.close() )
00145 this->setstate(std::ios_base::failbit);
00146 }
00147