|
|
| compound_rate_limited_layer (event_handler *handler, socket_interface &next_layer) |
| |
|
void | add_limiter (rate_limiter *limiter) |
| |
|
void | remove_limiter (rate_limiter *limiter) |
| |
| virtual int | read (void *buffer, unsigned int size, int &error) override |
| |
| virtual int | write (void const *buffer, unsigned int size, int &error) override |
| |
| virtual socket_state | get_state () const override |
| |
| virtual int | connect (native_string const &host, unsigned int port, address_type family=address_type::unknown) override |
| |
| virtual int | shutdown () override |
| | Signals peers that we want to close the connections. More...
|
| |
| virtual void | set_event_handler (event_handler *handler, fz::socket_event_flag retrigger_block=socket_event_flag{}) override |
| | The handler for any events generated (or forwarded) by this layer. More...
|
| |
|
| socket_layer (event_handler *handler, socket_interface &next_layer, bool event_passthrough) |
| |
|
| socket_layer (socket_layer const &)=delete |
| |
|
socket_layer & | operator= (socket_layer const &)=delete |
| |
| virtual void | set_event_handler (event_handler *handler, fz::socket_event_flag retrigger_block=fz::socket_event_flag{}) override |
| | The handler for any events generated (or forwarded) by this layer. More...
|
| |
| virtual native_string | peer_host () const override |
| |
| virtual int | peer_port (int &error) const override |
| |
|
socket_interface & | next () |
| | The next layer further down. Usually another layer or the actual socket.
|
| |
| virtual int | shutdown_read () override |
| | Check that all layers further down also have reached EOF. More...
|
| |
| virtual int | connect (native_string const &host, unsigned int port, address_type family=address_type::unknown) override |
| |
| virtual int | shutdown () override |
| | Signals peers that we want to close the connections. More...
|
| |
| virtual socket_state | get_state () const override |
| |
|
| socket_interface (socket_interface const &)=delete |
| |
|
socket_interface & | operator= (socket_interface const &)=delete |
| |
| virtual int | read (void *buffer, unsigned int size, int &error)=0 |
| |
| virtual int | write (void const *buffer, unsigned int size, int &error)=0 |
| |
|
template<typename T , std::enable_if_t< std::is_signed_v< T >, int > = 0> |
| int | read (void *buffer, T size, int &error) |
| |
|
template<typename T , std::enable_if_t< std::is_unsigned_v< T > &&(sizeof(T) > sizeof(unsigned int)), int > = 0> |
| int | read (void *buffer, T size, int &error) |
| |
|
template<typename T , std::enable_if_t< std::is_signed_v< T >, int > = 0> |
| int | write (void const *buffer, T size, int &error) |
| |
|
template<typename T , std::enable_if_t< std::is_unsigned_v< T > &&(sizeof(T) > sizeof(unsigned int)), int > = 0> |
| int | write (void const *buffer, T size, int &error) |
| |
| virtual void | set_event_handler (event_handler *pEvtHandler, fz::socket_event_flag retrigger_block=fz::socket_event_flag{})=0 |
| |
| virtual native_string | peer_host () const =0 |
| |
| virtual int | peer_port (int &error) const =0 |
| |
| virtual int | connect (native_string const &host, unsigned int port, address_type family=address_type::unknown)=0 |
| |
|
virtual fz::socket_state | get_state () const =0 |
| |
| virtual int | shutdown ()=0 |
| | Signals peers that we want to close the connections. More...
|
| |
| virtual int | shutdown_read ()=0 |
| |
| socket_event_source * | root () const |
| | Gets the root source. More...
|
| |
A compound rate-limited socket layer.
A socket layer to which any number of
- See also
- rate_limiter can be added and removed dynamically
Signals peers that we want to close the connections.
Only disallows further sends, does not affect reading from the socket.
Returns 0 on success, an error code otherwise. If it returns EGAIN, shutdown is not yet complete. Call shutdown again after the next write event.
Reimplemented from socket_layer.