Package lacewing :: Package packetloaders :: Module file
[frames] | no frames]

Source Code for Module lacewing.packetloaders.file

 1  """ 
 2  File sending features 
 3  """ 
 4   
 5  from struct import unpack_from, pack, calcsize 
 6  from lacewing.baseloader import _BaseLoader 
 7   
 8  """ 
 9  // File packets memo: 
10  // 
11  // OPT_CS_RequestFileSend 
12  // [byte Type (0 - Server, 1 - Channel, 2 - Peer) 
13  // For channel or peer - [short Channel/Peer ID] 
14  // [char Subchannel] 
15  // [64 bit integer Size, short SenderID, string Filename] 
16  // 
17  // 
18  // OPT_SC_RequestFileSend 
19  // [byte Type (0 - Server, 1 - Channel, 2 - Peer) 
20  // For channel or peer - [short Channel ID] 
21  // For peer - [short Peer ID] 
22  // [char Subchannel] 
23  // [64 bit integer Size, short SenderID, string Filename] 
24  // 
25  // 
26  // OPT_*_AcceptFileReceive 
27  // [short SenderID, short ReceiverID] 
28  // 
29  // OPT_*_FileChunk 
30  // [short ReceiverID, char[] data] 
31  """ 
32   
33  # don't wanna implement this yet v_v 
34   
35 -class _UnimplementedLoader(_BaseLoader):
36 - def read(self, data):
37 raise NotImplementedError()
38
39 - def generate(self):
40 raise NotImplementedError()
41 42 # common
43 -class _RequestFile(_UnimplementedLoader):
44 pass
45
46 -class _FileHandle(_UnimplementedLoader):
47 pass
48
49 -class _FileChunk(_UnimplementedLoader):
50 pass
51 52 # sc 53
54 -class RequestClientFile(_RequestFile):
55 pass
56
57 -class ServerFile(_FileHandle):
58 pass
59
60 -class ServerFileChunk(_FileChunk):
61 pass
62 63 # cs 64
65 -class RequestServerFile(_RequestFile):
66 pass
67
68 -class ClientFile(_FileHandle):
69 pass
70
71 -class ClientFileChunk(_FileChunk):
72 pass
73 74 __all__ = ['RequestClientFile', 'ServerFile', 'ServerFileChunk', 75 'RequestServerFile', 'ClientFile', 'ClientFileChunk'] 76