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 );
Definition dummy_socket.hh:13
Definition dummy_socket.hh:46
DummySocket(std::vector< char > &&data)
Definition dummy_socket.hh:59
DummySocket(const std::vector< char > &data)
Definition dummy_socket.hh:56
storage data_
Definition dummy_socket.hh:49
std::vector< char > storage
Definition dummy_socket.hh:47
DummySocket(const std::string &data)
Definition dummy_socket.hh:51
void _append_data(It start, It end)
Definition dummy_socket.hh:65
char * read_available(char *start, char *end)
Definition dummy_socket.hh:73
Definition dummy_socket.hh:15
std::string str()
Definition dummy_socket.hh:39
RecordingDummySocket()
Definition dummy_socket.hh:20
void write_all(const char *start, const char *end)
Definition dummy_socket.hh:31
RecordingDummySocket(std::vector< char > &s)
Definition dummy_socket.hh:23
std::vector< char > & s_
Definition dummy_socket.hh:18
RecordingDummySocket(RecordingDummySocket &&other)=default
RecordingDummySocket(const RecordingDummySocket &other)=delete
std::vector< char > internal_
Definition dummy_socket.hh:16