| 
    rippled
    
   | 
 
A listening socket. More...
#include <Door.h>


Classes | |
| class | Detector | 
| struct | FDStats | 
Public Member Functions | |
| Door (Handler &handler, boost::asio::io_context &io_context, Port const &port, beast::Journal j) | |
| void | run () | 
| void | close () override | 
| Close the Door listening socket and connections.   | |
| endpoint_type | get_endpoint () const | 
| io_list & | ios () | 
| Return the io_list associated with the work.   | |
| T | shared_from_this (T... args) | 
| T | weak_from_this (T... args) | 
Private Types | |
| using | clock_type = std::chrono::steady_clock | 
| using | timer_type = boost::asio::basic_waitable_timer< clock_type > | 
| using | error_code = boost::system::error_code | 
| using | yield_context = boost::asio::yield_context | 
| using | protocol_type = boost::asio::ip::tcp | 
| using | acceptor_type = protocol_type::acceptor | 
| using | endpoint_type = protocol_type::endpoint | 
| using | socket_type = boost::asio::ip::tcp::socket | 
| using | stream_type = boost::beast::tcp_stream | 
Private Member Functions | |
| void | reOpen () | 
| std::optional< FDStats > | query_fd_stats () const | 
| bool | should_throttle_for_fds () | 
| template<class ConstBufferSequence > | |
| void | create (bool ssl, ConstBufferSequence const &buffers, stream_type &&stream, endpoint_type remote_address) | 
| void | do_accept (yield_context yield) | 
| template<class = void> | |
| void | destroy () | 
Private Attributes | |
| beast::Journal const | j_ | 
| Port const & | port_ | 
| Handler & | handler_ | 
| boost::asio::io_context & | ioc_ | 
| acceptor_type | acceptor_ | 
| boost::asio::strand< boost::asio::io_context::executor_type > | strand_ | 
| bool | ssl_ | 
| bool | plain_ | 
| std::chrono::milliseconds | accept_delay_ {INITIAL_ACCEPT_DELAY} | 
| boost::asio::steady_timer | backoff_timer_ | 
| io_list * | ios_ = nullptr | 
Static Private Attributes | |
| static constexpr std::chrono::milliseconds | INITIAL_ACCEPT_DELAY {50} | 
| static constexpr std::chrono::milliseconds | MAX_ACCEPT_DELAY {2000} | 
| static constexpr double | FREE_FD_THRESHOLD = 0.70 | 
A listening socket.
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
| ripple::Door< Handler >::Door | ( | Handler & | handler, | 
| boost::asio::io_context & | io_context, | ||
| Port const & | port, | ||
| beast::Journal | j | ||
| ) | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
| void ripple::Door< Handler >::run | ( | ) | 
      
  | 
  overridevirtual | 
Close the Door listening socket and connections.
The listening socket is closed, and all open connections belonging to the Door are closed. Thread Safety: May be called concurrently
Implements ripple::io_list::work.
| endpoint_type ripple::Door< Handler >::get_endpoint | ( | ) | const | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  privateinherited | 
      
  | 
  inherited | 
Return the io_list associated with the work.
Requirements: The call to io_list::emplace to create the work has already returned.
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  staticconstexprprivate | 
      
  | 
  staticconstexprprivate | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  staticconstexprprivate |