1 from twisted.internet import protocol
2
3 from lacewing.moo.packetloaders.common import OutOfData
4
5 from lacewing.multidict import MultikeyDict
6
8 name = None
9 id = None
10
11 isAccepted = False
12
13 channels = None
14 _packetBuffer = ''
15
18
20 newPacket = self._sendPacket(**self.settings)
21 newPacket.loader = loader
22 self.transport.write(newPacket.generate())
23
25 packetBuffer = ''.join([self._packetBuffer, data])
26 newPacket = self._receivePacket(**self.settings)
27 try:
28 while 1:
29 bytesRead = newPacket.load(packetBuffer)
30 self.loaderReceived(newPacket.loader)
31 packetBuffer = packetBuffer[bytesRead:]
32 if len(packetBuffer) == 0:
33 break
34 except OutOfData:
35 pass
36 self._packetBuffer = packetBuffer
37
39 """
40 Called upon receiving a packet from the
41 other end.
42 """
43 raise NotImplementedError
44