|
Electroneum
|
#include <socks.h>


Public Member Functions | |
| connect_client (stream_type::socket &&proxy, socks::version ver, Handler &&handler) | |
| virtual | ~connect_client () override |
Public Member Functions inherited from net::socks::client | |
| client (stream_type::socket &&proxy, socks::version ver) | |
| client (const client &)=delete | |
| virtual | ~client () |
| client & | operator= (const client &)=delete |
| stream_type::socket | take_socket () |
| socks::version | socks_version () const noexcept |
| epee::span< const std::uint8_t > | buffer () const noexcept |
| void | clear_command () noexcept |
| bool | set_connect_command (const epee::net_utils::ipv4_network_address &address) |
Try to set address as remote connection request. More... | |
| bool | set_connect_command (boost::string_ref domain, std::uint16_t port) |
Try to set domain + port as remote connection request. More... | |
| bool | set_connect_command (const net::tor_address &address) |
Try to set address as remote Tor hidden service connection request. More... | |
| bool | set_connect_command (const net::i2p_address &address) |
Try to set address as remote i2p hidden service connection request. More... | |
| bool | set_resolve_command (boost::string_ref domain) |
Try to set domain as remote DNS A record lookup request. More... | |
Private Member Functions | |
| virtual void | done (boost::system::error_code error, std::shared_ptr< client >) override |
Private Attributes | |
| Handler | handler_ |
Additional Inherited Members | |
Public Types inherited from net::socks::client | |
| using | stream_type = boost::asio::ip::tcp |
Static Public Member Functions inherited from net::socks::client | |
| static bool | connect_and_send (std::shared_ptr< client > self, const stream_type::endpoint &proxy_address) |
| static bool | send (std::shared_ptr< client > self) |
|
inlineexplicit |
|
inlineoverridevirtual |
|
inlineoverrideprivatevirtual |
Only invoked after *send(...) function completes or fails. bool(error) == false indicates success; self.get() is always this and allows implementations to skip std::enable_shared_from_this<T> (ASIO callbacks need shared_ptr). The design saves space and reduces cycles (everything uses moves, so no atomic operations are ever necessary).
| error | when processing last command (if any). |
| self | shared_ptr<client> handle to this. |
Implements net::socks::client.
|
private |