Part of twisted.spread.banana View Source View In Hierarchy
Known subclasses: twisted.spread.pb.Broker
Bananaimplements the Banana s-expression protocol, client and server.
|Instance Variable||knownDialects||These are the profiles supported by this Banana implementation. (type:
|Method||setPrefixLimit||Set the prefix limit for decoding done by this protocol instance.|
|Method||connectionReady||Surrogate for connectionMade Called after protocol negotiation.|
|Method||connectionMade||Called when a connection is made.|
|Method||dataReceived||Called whenever data is received.|
|Method||expressionReceived||Called when an expression (list, string, or int) is received.|
|Method||sendEncoded||Send the encoded representation of the given object:|
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.|
|Method||makeConnection||Make a connection to a transport and a server.|
Inherited from Ephemeral:
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.
Use this method to translate to a higher-level message. Usually, some callback will be made upon the receipt of each complete protocol message.
|Parameters||data||a 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.|
|Parameters||obj||An object to encode and send.|
|Raises||BananaError||If the given object is not an instance of one of the types supported by Banana.|