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