|
Network System 0.1.1
High-performance modular networking library for scalable client-server applications
|
RAII guard for connection limiting. More...
#include <rate_limiter.h>

Public Member Functions | |
| connection_guard (connection_limiter &limiter) | |
| Construct guard and try to accept connection. | |
| connection_guard (const connection_guard &)=delete | |
| Non-copyable. | |
| connection_guard & | operator= (const connection_guard &)=delete |
| connection_guard (connection_guard &&other) noexcept | |
| Movable. | |
| connection_guard & | operator= (connection_guard &&other) noexcept |
| ~connection_guard () | |
| bool | accepted () const noexcept |
| Check if connection was accepted. | |
| operator bool () const noexcept | |
| Explicit bool conversion. | |
| void | release () noexcept |
| Release the connection early. | |
Private Attributes | |
| connection_limiter * | limiter_ |
| bool | accepted_ |
RAII guard for connection limiting.
Automatically registers/unregisters connection on construction/destruction.
Definition at line 411 of file rate_limiter.h.
|
inlineexplicit |
Construct guard and try to accept connection.
| limiter | Connection limiter |
Definition at line 417 of file rate_limiter.h.
|
delete |
Non-copyable.
|
inlinenoexcept |
Movable.
Definition at line 426 of file rate_limiter.h.
|
inline |
Definition at line 442 of file rate_limiter.h.
References release().

|
inlinenodiscardnoexcept |
Check if connection was accepted.
Definition at line 450 of file rate_limiter.h.
References accepted_.
|
inlineexplicitnoexcept |
|
inlinenoexcept |
Definition at line 432 of file rate_limiter.h.
References accepted_, limiter_, and release().

|
delete |
|
inlinenoexcept |
Release the connection early.
Definition at line 464 of file rate_limiter.h.
References accepted_, limiter_, and kcenon::network::connection_limiter::on_disconnect().
Referenced by operator=(), and ~connection_guard().


|
private |
Definition at line 473 of file rate_limiter.h.
Referenced by accepted(), operator bool(), operator=(), and release().
|
private |
Definition at line 472 of file rate_limiter.h.
Referenced by operator=(), and release().