]> Cypherpunks.ru repositories - nncp.git/blob - doc/ack.texi
Generate ACKs during tossing
[nncp.git] / doc / ack.texi
1 @node ACK
2 @cindex ACKnowledgements
3 @cindex packet acknowledgement
4 @unnumbered ACKnowledgements
5
6 There is possibility to explicitly acknowledge the receipt of the
7 encrypted packet, by generating the reply of @code{ACK}-type which
8 contains the packet identifier.
9
10 ACK packets can be generated explicitly by @command{@ref{nncp-ack}}
11 command, or during the tossing procedure if @option{-gen-ack} option
12 is specified.
13
14 General workflow with acknowledgement is following, assuming that
15 Alice has some outbound packets for Bob:
16
17 @itemize
18
19 @item Transfer encrypted packets, without deleting them locally:
20
21 @example
22 alice$ nncp-xfer -keep -tx -node bob /mnt/shared
23 @end example
24
25 @item On Bob's side retrieve those packets:
26
27 @example
28 bob$ nncp-xfer -rx /mnt/shared
29 @end example
30
31 That will also check if copied packets checksum is not mismatched.
32
33 @item Create ACK packets of received ones, saving the list of encrypted
34     ACK packets:
35
36 @example
37 bob$ nncp-ack -node alice 4>acks
38 @end example
39
40 @item Send those newly created packets back to Alice:
41
42 @example
43 bob$ nncp-xfer [-keep] -tx /mnt/shared
44 @end example
45
46 @item Remove them from outbound spool, because we expect no
47     acknowledgement for them:
48
49 @example
50 bob$ nncp-rm -node alice -pkt <acks
51 @end example
52
53 @item Get those acknowledgement packets and @ref{nncp-toss, toss} them:
54
55 @example
56 alice$ nncp-xfer -rx /mnt/shared
57 alice$ nncp-toss
58 @end example
59
60 Each ACK packet will remove kept corresponding outbound packets, because
61 Bob explicitly confirmed their receipt.
62
63 @end itemize
64
65 Similarly you can use it with @command{@ref{nncp-bundle}}, but do not
66 forget that by default it does not do checksumming of the packets, so
67 you should either use its @option{-check} option, or run
68 @command{@ref{nncp-check}} after.
69
70 If you generate ACK packet during the tossing, then the list of ACK
71 packets is saved as empty files directly in the @ref{Spool, spool}.
72 You can remove transferred ACK packets with @command{nncp-rm -ack}.