5 #ifndef NDS2_CLIENT_TEST_DUMMY_SOCKET_HH
6 #define NDS2_CLIENT_TEST_DUMMY_SOCKET_HH
18 std::vector< char >&
s_;
34 auto dest = std::back_inserter< std::vector< char > >(
s_ );
35 std::copy( start, end, dest );
41 return std::string(
s_.data( ),
s_.size( ) );
52 :
data_( data.data( ), data.data( ) + data.size( ) )
63 template <
typename It >
67 storage::size_type cur_size =
data_.size( );
68 data_.resize( cur_size + std::distance( start, end ) );
69 std::copy( start, end,
data_.data( ) + cur_size );
75 ::size_t len = end - start;
76 if (
data_.size( ) == 0 )
77 throw std::runtime_error(
"Out of test data to read" );
78 if ( len >
data_.size( ) )
80 std::copy(
data_.begin( ),
data_.begin( ) + len, start );
88 #endif // NDS2_CLIENT_TEST_DUMMY_SOCKET_HH
DummySocket(const std::vector< char > &data)
Definition: dummy_socket.hh:56
DummySocket(const std::string &data)
Definition: dummy_socket.hh:51
void _append_data(It start, It end)
Definition: dummy_socket.hh:65
void write_all(const char *start, const char *end)
Definition: dummy_socket.hh:31
Definition: dummy_socket.hh:45
std::vector< char > & s_
Definition: dummy_socket.hh:18
char * read_available(char *start, char *end)
Definition: dummy_socket.hh:73
std::vector< char > storage
Definition: dummy_socket.hh:47
std::string str()
Definition: dummy_socket.hh:39
RecordingDummySocket(std::vector< char > &s)
Definition: dummy_socket.hh:23
std::vector< char > internal_
Definition: dummy_socket.hh:16
RecordingDummySocket()
Definition: dummy_socket.hh:20
DummySocket(std::vector< char > &&data)
Definition: dummy_socket.hh:59
storage data_
Definition: dummy_socket.hh:49
Definition: dummy_socket.hh:14