17 #include <SocketInputStream2.hpp>
24 if (get_buffered_line(str))
29 ssize_t read_res = read_socket(buf,
sizeof(buf));
33 if (!add_buffer(buf, read_res))
36 if (get_buffered_line(str))
47 SocketInputStream2::has_data_to_read()
49 const int res = ndb_poll(m_socket,
true,
false,
false,
50 m_read_timeout * 1000);
64 SocketInputStream2::read_socket(
char* buf,
size_t len)
66 if (!has_data_to_read())
69 size_t read_res = my_recv(m_socket, buf, len, 0);
78 SocketInputStream2::get_buffered_line(
BaseString& str)
81 char *end = (
char*)m_buffer.get_data() + m_buffer.length();
82 start = ptr =(
char*)m_buffer.get_data() + m_buffer_read_pos;
84 while(ptr && ptr < end && *ptr)
88 size_t len = ptr-start;
96 m_buffer_read_pos += (len + 1);
107 SocketInputStream2::add_buffer(
char* buf, ssize_t len)
110 if (m_buffer.append(buf, len) != 0)