]> Cypherpunks.ru repositories - nncp.git/blob - doc/spool.texi
Intermediate .nock packets step
[nncp.git] / doc / spool.texi
1 @node Spool
2 @unnumbered Spool directory
3
4 Spool directory holds @ref{Encrypted, encrypted packets} received from
5 remote nodes and queued for sending to them. It has the following
6 example structure:
7
8 @example
9 spool/tmp/
10 spool/2WHB...OABQ/rx.lock
11 spool/2WHB...OABQ/rx/5ZIB...UMKW.part
12 spool/2WHB...OABQ/tx.lock
13 spool/2WHB...OABQ/toss.lock
14 spool/BYRR...CG6Q/rx.lock
15 spool/BYRR...CG6Q/rx/MLZ6...Q3SQ.nock
16 spool/BYRR...CG6Q/rx/
17 spool/BYRR...CG6Q/tx.lock
18 spool/BYRR...CG6Q/tx/AQUT...DGNT.seen
19 spool/BYRR...CG6Q/tx/NSYY...ZUU6
20 spool/BYRR...CG6Q/tx/VCSR...3VXX.seen
21 spool/BYRR...CG6Q/tx/ZI5U...5RRQ
22 @end example
23
24 @itemize
25
26 @item Except for @file{tmp}, all other directories are Base32-encoded
27 node identifiers (@file{2WHB...OABQ}, @file{BYRR...CG6Q} in our example).
28
29 @item Each node subdirectory has @file{rx} (received, partially received
30 and currently unprocessed packets) and @file{tx} (for outbound packets)
31 directories.
32
33 @item Each @file{rx}/@file{tx} directory contains one file per encrypted
34 packet. Its filename is Base32 encoded BLAKE2b hash of the contents. So
35 it can be integrity checked at any time.
36
37 @item @file{5ZIB...UMKW.part} is partially received file from
38 @file{2WHB...OABQ} node. @file{tx} directory can not contain partially
39 written files -- they are moved atomically from @file{tmp}.
40
41 @item @file{rx} can contain received, but currently integrity unchecked
42 files with @file{.nock} extension. It is completely the same as an
43 ordinary encrypted packets, but its integrity after online download was
44 not done. After successful checksum verification, @file{.nock} extension
45 is trimmed.
46
47 @item When @ref{nncp-toss} utility is called with @option{-seen} option,
48 it will create empty @file{XXX.seen} files, telling that some kind of
49 packet was already tossed sometime.
50
51 @item Only one process can work with @file{rx}/@file{tx} directories at
52 once, so there are corresponding lock files.
53
54 @end itemize