fail2ban.server.asyncserver module¶
- class fail2ban.server.asyncserver.AsyncServer(transmitter)¶
Bases:
dispatcher
- Attributes:
- addr
Methods
isActive
()accept
add_channel
bind
close
connect
create_socket
del_channel
handle_accept
handle_accepted
handle_close
handle_connect
handle_connect_event
handle_error
handle_expt
handle_expt_event
handle_read
handle_read_event
handle_write
handle_write_event
listen
log
log_info
readable
recv
send
set_reuse_addr
set_socket
start
stop
stop_communication
writable
- close()¶
- handle_accept()¶
- isActive()¶
- start(sock, force, timeout=None, use_poll=False)¶
- stop()¶
- stop_communication()¶
- writable()¶
- exception fail2ban.server.asyncserver.AsyncServerException¶
Bases:
Exception
- class fail2ban.server.asyncserver.RequestHandler(conn, transmitter)¶
Bases:
async_chat
- Attributes:
- addr
Methods
close_when_done
()automatically close this channel once the outgoing queue is empty
readable
()predicate for inclusion in the readable for select()
set_terminator
(term)Set the input delimiter.
writable
()predicate for inclusion in the writable for select()
accept
add_channel
bind
close
collect_incoming_data
connect
create_socket
del_channel
discard_buffers
found_terminator
get_terminator
handle_accept
handle_accepted
handle_close
handle_connect
handle_connect_event
handle_expt
handle_expt_event
handle_read
handle_read_event
handle_write
handle_write_event
initiate_send
listen
log
log_info
push
push_with_producer
recv
send
set_reuse_addr
set_socket
- exception LoadError¶
Bases:
Exception
- collect_incoming_data(data)¶
- found_terminator()¶
- handle_close()¶
- handle_error()¶
- fail2ban.server.asyncserver.loop(active, timeout=None, use_poll=False, err_count=None)¶
Custom event loop implementation
Uses poll instead of loop to respect active flag, to avoid loop timeout mistake: different in poll and poll2 (sec vs ms), and to prevent sporadic errors like EBADF ‘Bad file descriptor’ etc. (see gh-161)