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.  
  | 
|   |