bool read_pkt(buf_ptr &buf) { int res; res = read(m_fd, buf->data(), buf->max_len()); if (res > 0) { buf->trim(res); return true; } if (res == 0) return false; if (res < 0 && errno == EAGAIN) return false; throw std::system_error(errno, std::system_category(), "unable to read pkt"); }
bool read_pkt(buf_ptr &buf) { return read_pkt(buf, buf->max_len()); }