Electroneum
net::socks::client::read Struct Reference

Public Member Functions

void operator() (const boost::system::error_code error, const std::size_t bytes)
 

Static Public Member Functions

static boost::asio::mutable_buffers_1 get_buffer (client &self) noexcept
 

Public Attributes

std::shared_ptr< clientself_
 

Detailed Description

Definition at line 176 of file socks.cpp.

Member Function Documentation

◆ get_buffer()

static boost::asio::mutable_buffers_1 net::socks::client::read::get_buffer ( client self)
inlinestaticnoexcept

Definition at line 180 of file socks.cpp.

181  {
182  static_assert(sizeof(v4_header) <= sizeof(self.buffer_), "buffer too small for v4 response");
183  return boost::asio::buffer(self.buffer_, sizeof(v4_header));
184  }
Here is the caller graph for this function:

◆ operator()()

void net::socks::client::read::operator() ( const boost::system::error_code  error,
const std::size_t  bytes 
)
inline

Definition at line 186 of file socks.cpp.

187  {
188  if (self_)
189  {
190  client& self = *self_;
191  if (error)
192  self.done(error, std::move(self_));
193  else if (bytes < self.buffer().size())
195  else
196  boost::asio::async_read(self.proxy_, get_buffer(self), self.strand_.wrap(completed{std::move(self_)}));
197  }
198  }
epee::span< const std::uint8_t > buffer() const noexcept
Definition: socks.h:143
static boost::asio::mutable_buffers_1 get_buffer(client &self) noexcept
Definition: socks.cpp:180
error
Possible errors with socks communication. Defined in https://www.openssh.com/txt/socks4.protocol.
Definition: socks.h:65
const T & move(const T &t)
Definition: gtest-port.h:1317
client(stream_type::socket &&proxy, socks::version ver)
Definition: socks.cpp:223
std::shared_ptr< client > self_
Definition: socks.cpp:178
Here is the call graph for this function:

Member Data Documentation

◆ self_

std::shared_ptr<client> net::socks::client::read::self_

Definition at line 178 of file socks.cpp.


The documentation for this struct was generated from the following file: