⚡⚡⚡ Fast, Lightweight, Pluggable, TLS interception capable proxy server focused on Network monitoring, controls & Application development, testing, debugging.
2013-present by Abhinav Singh and contributors.
BSD, see LICENSE for more details.
- class proxy.core.work.fd.remote.RemoteFdExecutor(*args: Any, **kwargs: Any)[source]#
A threadless executor implementation which receives work over a connection.
NOTE: RemoteExecutor uses
recv_handleto accept file descriptors.
TODO: Refactor and abstract
recv_handlepart so that a threaded remote executor can also accept work over a connection. Currently, remote executors must be running in a process.
- _abc_impl = <_abc._abc_data object>#
- _loop: Optional[asyncio.AbstractEventLoop]#
- _upstream_conn_pool: Optional['UpstreamConnectionPool']#
- close_work_queue() None [source]#
Only called if
work_queue_filenoreturns an integer. If an fd is select-able for work queue, make sure to close the work queue fd now.
- property loop: Optional[asyncio.events.AbstractEventLoop]#
- receive_from_work_queue() bool [source]#
Work queue is ready to receive new work.
Receive it and call
Return True to tear down the loop.
- selector: Optional[selectors.DefaultSelector]#
- unfinished: Set['asyncio.Task[bool]']#
- work_queue_fileno() Optional[int] [source]#
If work queue must be selected before calling
receive_from_work_queuethen implementation must return work queue fd.