Implements TCP chaos-proxy logic such as accepting incoming tcp client connections.
On each new connection new tcp client connects to server (host_to_server, port_to_server).
- See also
- Chaos Testing
Definition at line 798 of file chaos.py.
|
None | __init__ (self, GateRoute route, EvLoop loop) |
|
int | connections_count (self) |
| Returns maximal amount of connections going through the gate at the moment.
|
|
None | wait_for_connections (self, *count=1, timeout=0.0) |
| Wait for at least count connections going through the gate.
|
|
'BaseGate' | __aenter__ (self) |
|
None | __aexit__ (self, exc_type, exc_value, traceback) |
|
| start (self) |
| Open the socket and start accepting tasks.
|
|
None | start_accepting (self) |
| Start accepting tasks.
|
|
None | stop_accepting (self) |
| Stop accepting tasks without closing the accepting socket.
|
|
None | stop (self) |
| Stop accepting tasks, close all the sockets.
|
|
None | sockets_close (self, *typing.Optional[int] count=None) |
| Close all the connection going through the gate.
|
|
Address | get_sockname_for_clients (self) |
| Returns the client socket address that the gate listens on.
|
|
str | info (self) |
| Print info on open sockets.
|
|
None | set_to_server_interceptor (self, Interceptor interceptor) |
| Replace existing interceptor of client to server data with a custom.
|
|
None | set_to_client_interceptor (self, Interceptor interceptor) |
| Replace existing interceptor of server to client data with a custom.
|
|
None | to_server_pass (self) |
| Pass data as is.
|
|
None | to_client_pass (self) |
| Pass data as is.
|
|
None | to_server_noop (self) |
| Do not read data, causing client to keep multiple data.
|
|
None | to_client_noop (self) |
| Do not read data, causing server to keep multiple data.
|
|
None | to_server_drop (self) |
| Read and discard data.
|
|
None | to_client_drop (self) |
| Read and discard data.
|
|
None | to_server_delay (self, float delay) |
| Delay data transmission.
|
|
None | to_client_delay (self, float delay) |
| Delay data transmission.
|
|
None | to_server_close_on_data (self) |
| Close on first bytes of data from client.
|
|
None | to_client_close_on_data (self) |
| Close on first bytes of data from server.
|
|
None | to_server_corrupt_data (self) |
| Corrupt data received from client.
|
|
None | to_client_corrupt_data (self) |
| Corrupt data received from server.
|
|
None | to_server_limit_bps (self, float bytes_per_second) |
| Limit bytes per second transmission by network from client.
|
|
None | to_client_limit_bps (self, float bytes_per_second) |
| Limit bytes per second transmission by network from server.
|
|
None | to_server_limit_time (self, float timeout, float jitter) |
| Limit connection lifetime on receive of first bytes from client.
|
|
None | to_client_limit_time (self, float timeout, float jitter) |
| Limit connection lifetime on receive of first bytes from server.
|
|
None | to_server_smaller_parts (self, int max_size, *float sleep_per_packet=0) |
| Pass data to server in smaller parts.
|
|
None | to_client_smaller_parts (self, int max_size, *float sleep_per_packet=0) |
| Pass data to client in smaller parts.
|
|
None | to_server_concat_packets (self, int packet_size) |
| Pass data in bigger parts.
|
|
None | to_client_concat_packets (self, int packet_size) |
| Pass data in bigger parts.
|
|
None | to_server_limit_bytes (self, int bytes_limit) |
| Drop all connections each bytes_limit of data sent by network.
|
|
None | to_client_limit_bytes (self, int bytes_limit) |
| Drop all connections each bytes_limit of data sent by network.
|
|
None | to_server_substitute (self, str pattern, str repl) |
| Apply regex substitution to data from client.
|
|
None | to_client_substitute (self, str pattern, str repl) |
| Apply regex substitution to data from server.
|
|