Known subclasses: twisted.spread.pb.Broker

Banana implements the Banana s-expression protocol, client and server.

Instance Variable knownDialects These are the profiles supported by this Banana implementation. (type: list of bytes)
Method setPrefixLimit Set the prefix limit for decoding done by this protocol instance.
Method connectionReady Surrogate for connectionMade Called after protocol negotiation.
Method callExpressionReceived Undocumented
Method connectionMade Called when a connection is made.
Method gotItem Undocumented
Method dataReceived Called whenever data is received.
Method expressionReceived Called when an expression (list, string, or int) is received.
Method __init__ Undocumented
Method sendEncoded Send the encoded representation of the given object:
Method _selectDialect Undocumented
Method _encode Undocumented

Inherited from Protocol:

Method logPrefix Return a prefix matching the class name, to identify log messages related to this protocol instance.
Method connectionLost Called when the connection is shut down.

Inherited from BaseProtocol (via Protocol):

Method makeConnection Make a connection to a transport and a server.

Inherited from Ephemeral:

Method __reduce__ Serialize any subclass of Ephemeral in a way which replaces it with Ephemeral itself.
Method __getstate__ Undocumented
Method __setstate__ Undocumented
knownDialects =
These are the profiles supported by this Banana implementation. (type: list of bytes)
def setPrefixLimit(self, limit):

Set the prefix limit for decoding done by this protocol instance.

See AlsosetPrefixLimit
def connectionReady(self):

Surrogate for connectionMade Called after protocol negotiation.

def _selectDialect(self, dialect):
Undocumented
def callExpressionReceived(self, obj):
Undocumented
def connectionMade(self):

Called when a connection is made.

This may be considered the initializer of the protocol, because it is called when the connection is completed. For clients, this is called once the connection to the server has been established; for servers, this is called after an accept() call stops blocking and a socket has been received. If you need to send any greeting or initial message, do it here.

def gotItem(self, item):
Undocumented
def dataReceived(self, chunk):

Called whenever data is received.

Use this method to translate to a higher-level message. Usually, some callback will be made upon the receipt of each complete protocol message.

Parametersdataa string of indeterminate length. Please keep in mind that you will probably need to buffer some data, as partial (or multiple) protocol messages may be received! I recommend that unit tests for protocols call through to this method with differing chunk sizes, down to one byte at a time.
def expressionReceived(self, lst):

Called when an expression (list, string, or int) is received.

def __init__(self, isClient=1):
Undocumented
def sendEncoded(self, obj):

Send the encoded representation of the given object:

ParametersobjAn object to encode and send.
ReturnsNone
RaisesBananaErrorIf the given object is not an instance of one of the types supported by Banana.
def _encode(self, obj, write):
Undocumented
API Documentation for twisted, generated by pydoctor at 2020-03-25 17:34:30.