Package lacewing :: Module protocol :: Class BaseProtocol
[frames] | no frames]

Class BaseProtocol

source code

twisted.internet.protocol.BaseProtocol --+    
                                         |    
        twisted.internet.protocol.Protocol --+
                                             |
                                            BaseProtocol
Known Subclasses:

Baseclass that contains properties and methods common to both server and client protocols.

Instance Methods
 
connectionMade(self)
Called when a connection is made.
source code
 
dataReceived(self, data)
Called whenever data is received.
source code
 
sendLoader(self, loader, asDatagram=False, **settings) source code
 
loaderReceived(self, loader, isDatagram=False)
Called when a packet is received.
source code
 
validName(self, name)
Returns True if name is a valid Lacewing channel or client name.
source code

Inherited from twisted.internet.protocol.Protocol: connectionLost

Inherited from twisted.internet.protocol.BaseProtocol: __providedBy__, makeConnection

Class Variables
  revision = 'revision 2'
  udpEnabled = False

Inherited from twisted.internet.protocol.Protocol: __implemented__, __provides__

Inherited from twisted.internet.protocol.BaseProtocol: connected, transport

Instance Variables
  name = None
The name of the client.
  id = None
The ID of the client.
  isAccepted = False
True if the client connection has been accepted.
  loggedIn = False
True if the client is logged in with a name.
MultikeyDict channels = None
Channels the client is signed on to (has keys for both the ID and name).
  privateAllowed
False if the client has requested no private messages must be sent to it.
Method Details

connectionMade(self)

source code 

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.

Overrides: twisted.internet.protocol.BaseProtocol.connectionMade
(inherited documentation)

dataReceived(self, data)

source code 

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.

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.
Overrides: twisted.internet.protocol.Protocol.dataReceived
(inherited documentation)

loaderReceived(self, loader, isDatagram=False)

source code 

Called when a packet is received.

Parameters:
  • isDatagram - True if the message recieved was sent using UDP.