runtimepy.subprocess.protocol
index
/home/vkottler/src/vkottler/workspace/runtimepy/runtimepy/subprocess/protocol.py

A module implementing a subprocess protocol.

 
Classes
       
asyncio.protocols.SubprocessProtocol(asyncio.protocols.BaseProtocol)
RuntimepySubprocessProtocol

 
class RuntimepySubprocessProtocol(asyncio.protocols.SubprocessProtocol)
    A simple subprocess protocol implementation.
 
 
Method resolution order:
RuntimepySubprocessProtocol
asyncio.protocols.SubprocessProtocol
asyncio.protocols.BaseProtocol
builtins.object

Methods defined here:
connection_made(self, transport) -> None
Initialize this protocol.
pipe_connection_lost(self, fd: int, exc) -> None
Handle a pipe connection closing.
pipe_data_received(self, fd: int, data: bytes) -> None
Handle incoming pipe data.
process_exited(self) -> None
Handle process exit.

Readonly properties defined here:
pid
Get this subprocess's protocol identifier.
stderr
Get this instance's standard error queue.
stdout
Get this instance's standard output queue.

Data descriptors defined here:
__dict__
dictionary for instance variables
__weakref__
list of weak references to the object

Data and other attributes defined here:
__annotations__ = {'elapsed_time': <class 'int'>, 'exited': <class 'asyncio.locks.Event'>, 'start_time': <class 'int'>, 'stderr_queue': typing.Optional[asyncio.queues.Queue[bytes]], 'stderr_transport': <class 'asyncio.transports.ReadTransport'>, 'stdin': <class 'asyncio.transports.WriteTransport'>, 'stdout_queue': typing.Optional[asyncio.queues.Queue[bytes]], 'stdout_transport': <class 'asyncio.transports.ReadTransport'>, 'subproc': subprocess.Popen[bytes], 'transport': <class 'asyncio.transports.SubprocessTransport'>}

Methods inherited from asyncio.protocols.BaseProtocol:
connection_lost(self, exc)
Called when the connection is lost or closed.
 
The argument is an exception object or None (the latter
meaning a regular EOF is received or the connection was
aborted or closed).
pause_writing(self)
Called when the transport's buffer goes over the high-water mark.
 
Pause and resume calls are paired -- pause_writing() is called
once when the buffer goes strictly over the high-water mark
(even if subsequent writes increases the buffer size even
more), and eventually resume_writing() is called once when the
buffer size reaches the low-water mark.
 
Note that if the buffer size equals the high-water mark,
pause_writing() is not called -- it must go strictly over.
Conversely, resume_writing() is called when the buffer size is
equal or lower than the low-water mark.  These end conditions
are important to ensure that things go as expected when either
mark is zero.
 
NOTE: This is the only Protocol callback that is not called
through EventLoop.call_soon() -- if it were, it would have no
effect when it's most needed (when the app keeps writing
without yielding until pause_writing() is called).
resume_writing(self)
Called when the transport's buffer drains below the low-water mark.
 
See pause_writing() for details.

 
Data
        Optional = typing.Optional