IPC and Socket

Datagram

class DatagramSource(app, pipeline, id=None, config=None)[source]

Bases: Source

Description:

DatagramSource.__init__()[source]

Description:

async DatagramSource.main()[source]

Description:

Datagram sink

class DatagramSink(app, pipeline, id=None, config=None)[source]

Bases: Sink

Description:

DatagramSink.__init__()[source]

Description:

DatagramSink.process(context, event)[source]

Description:

Protocol

class SourceProtocolABC(app, pipeline, config)[source]

Bases: object

Source protocol is a handler class, that basically gets the socket (in reader) and extract the payload from it in a way that is conformant to expected protocol.

That is happening in the handle() method. The output is to be shipped to source.process() method.

SourceProtocolABC.__init__()[source]

Description:

async SourceProtocolABC.handle(source, stream, context)[source]

Description:

Line Source Protocol

class LineSourceProtocol(app, pipeline, config)[source]

Bases: SourceProtocolABC

Description: Basically readline() for reading lines from a socket.

LineSourceProtocol.__init__()[source]

Description:

async LineSourceProtocol.handle(source, stream, context)[source]

Description:

Stream

class Stream(loop, socket, outbound_queue=None)[source]

Bases: object

Description: This object represent a client connection. It is unencrypted STREAM socket.

Stream.__init__()[source]
async Stream.recv_into(buf)[source]
Stream.send(data)[source]
async Stream.outbound()[source]

Handle outbound direction

async Stream.close()[source]

TLS Stream

class TLSStream(loop, sslcontext, socket, server_side: bool)[source]

Bases: object

Description: This object represent a TLS client connection. It is encrypted SSL/TLS socket abstraction.

TLSStream.__init__()[source]

Description:

async TLSStream.recv_into(buf)[source]

Description:

TLSStream.send(data)[source]

Description:

async TLSStream.outbound()[source]

Handle outbound direction

async TLSStream.close()[source]

Description:

Steam Server Source

class StreamServerSource(app, pipeline, id=None, config=None, protocol_class=<class 'bspump.ipc.protocol.LineSourceProtocol'>)[source]

Bases: Source

Description:

StreamServerSource.__init__()[source]

Description:

StreamServerSource.start(loop)[source]

Description:

async StreamServerSource.stop()[source]

Description:

async StreamServerSource.main()[source]

Description:

Stream Client Sink

class StreamClientSink(app, pipeline, id=None, config=None)[source]

Bases: Sink

Description:

StreamClientSink.__init__()[source]

Description:

StreamClientSink.process(context, event)[source]

Description:

FTP

connection

source