fault.kernel

I/O Transaction Contexts for managing transfers and protocol transports.

I/O is managed using three types: Transfer, Transport, and Interface. Transfer is the Transaction that manages the flows supporting a bidirectional or unidirecitonal stream.

typing
import

itertools0
import

functools0
import

weakref0
import

core0
import

flows0
import

Transfer0
class

Context managing a single sequence of fault.kernel.flows.Channel instances.

Transferactuate0
method

actuate(self)

Transfer_io_start
data

_io_start = None
	@property

Transferio_complete325%
property
bool

Transferio_flow0
method
flows.Terminal

io_flow(self, series)

Connect a sequence of fault.kernel.flows.Channel instances to a new fault.kernel.flows.Terminal instance that signals the Transfer when the Flow has completed.

The fault.kernel.flows.Terminal created and dispatched will be returned and the Transfer flow count will be incremented.

Transferio_execute20%
method

io_execute(self)

Signal the first fault.kernel.flows.Channel that it should begin performing transfers.

Transferio_terminate40%
method

io_terminate(self)

Explicitly terminate the managed flow.

Transfer_io_check_terminate0
method

_io_check_terminate(self)

Transfer_io_transfer_terminated0
method

_io_transfer_terminated(self, terminal)

Complete the termination of the transfer.

Transferterminate30%
method

terminate(self)

Invocations0
class

Dispatch processor for Transport instances.

Invocations__init__0
method

__init__(self, catenate, router)

Invocationsactuate0
method

actuate(self)

Invocationsterminate0
method

terminate(self)

Invocationsi_receive_closed10%
method

i_receive_closed(self)

Invocationsi_dispatch0
method

i_dispatch(self, events)

Invocationsi_update20%
method

i_update(self, router)

Update the router used to facilitate a protocol transaction.

Invocationsi_signal0
method

i_signal(self)

Method enqueued by f_transfer to flush the protocol transaction queue. Essentially, an internal method.

Invocationsi_close10%
method

i_close(self)

Invocations_i_transition0
method

_i_transition(self)

Invocationsi_accept0
method

i_accept(self)

Accept a sequence of requests from a client configured remote endpoint. Routes the initiation parameter with callbacks to connect input and output.

Used by routers employed by servers to get protocol transactions.

Invocationsi_correlate0
method

i_correlate(self)

Received a set of responses. Join with requests, and execute the receiver provided by the enqueueing operation.

Used by routers employed by clients to get the response of a protocol transaction.

Invocationsi_allocate0
method

i_allocate(self)

Allocate a channel for submitting a request.

Returns the channel identifier that will be used and the callback to submit the initiate parameter and upstream channel.

Transport0
class

The Transaction Context that manages the stack of protocols used to facilitate arbitrary I/O streams.

Transportactuate0
method

actuate(self)

Transport__init__0
method

__init__(self)

Transportfrom_endpoint0
classmethod

from_endpoint(Class, io)

Create and initialize an instance with the first transport layer.

Transportfrom_stack30%
classmethod

from_stack(Class, entries)

Create and initialize an instance with using a stack.

Transportxact_void0
method

xact_void(self, xact)

Transporttp_extend70%
method

tp_extend(self, entries)

Extend the transport stack with multiple intermediates. This method should only be used prior to tp_connect.

Transporttp_append40%
method

tp_append(self, protocol)

Extend the transport stack with a single intermediate. This method should only be used prior to tp_connect.

Transporttp_connect0
method

tp_connect(self, router, protocol)

Connect the given mitre series, mitre, to the configured transport stack. Usually called after dispatching an instance created with from_stack.

Transporttp_push90%
method

tp_push(self, state, io)

Push the protocol channels on to the stack.

Transporttp_protocol_terminated20%
method

tp_protocol_terminated(self, state)

Called by a protocol stack entry when both sides of the state have been closed.

Transporttp_remove40%
method

tp_remove(self, state)

Transporttp_get50%
method

tp_get(self, label)

Transportio_execute10%
method

io_execute(self)

Transportio_transmit_close20%
method

io_transmit_close(self)

Close the outgoing transfer context.

Interface0
class

Application context managing logical interfaces.

Interface_if_initial
data

_if_initial = None

Interface__init__20%
method

__init__(self, target, prepare)

Interfaceactuate30%
method

actuate(self)

Interfaceif_transition20%
method

if_transition(self, ports)

Interfaceif_install60%
method

if_install(self, kports)

Given file descriptors, install a new set of flows accepting sockets from the given listening sockets.

Interface_if_dispatch120%
method

_if_dispatch(self, kports)

Allocate and dispatch accept flows for the given kports.

Interfacexact_exit10%
method

xact_exit(self, transport)

Interfacexact_void20%
method

xact_void(self, final)

Interfaceif_sockets10%
property

Interfaceterminate50%
method

terminate(self)

Connections0
class

Application context managing accepted transports.

Connections__init__10%
method

__init__(self, dispatch)

Connectionscxn_accept120%
method

cxn_accept(self, packet)

Moving to Sockets. Routing will be handled with flows.

Connectionsxact_exit
method

xact_exit(self, transport)

Connectionsxact_void20%
method

xact_void(self, final)

Connectionsterminate30%
method

terminate(self)

dispatch60%
function

dispatch(xact, *flows)

Dispatch a set of a flows within the Transaction as connected Transfers.