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
34
36 - def read(self, data):
37 raise NotImplementedError()
38
40 raise NotImplementedError()
41
42
45
48
51
52
53
56
59
62
63
64
67
70
73
74 __all__ = ['RequestClientFile', 'ServerFile', 'ServerFileChunk',
75 'RequestServerFile', 'ClientFile', 'ClientFileChunk']
76