2 @cindex ACKnowledgements
3 @cindex packet acknowledgement
4 @unnumbered ACKnowledgements
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.
10 ACK packets can be generated explicitly by @command{@ref{nncp-ack}}
11 command, or during the tossing procedure if @option{-gen-ack} option
14 General workflow with acknowledgement is following, assuming that
15 Alice has some outbound packets for Bob:
19 @item Transfer encrypted packets, without deleting them locally:
22 alice$ nncp-xfer -keep -tx -node bob /mnt/shared
25 @item On Bob's side retrieve those packets:
28 bob$ nncp-xfer -rx /mnt/shared
31 That will also check if copied packets checksum is not mismatched.
33 @item Create ACK packets of received ones, saving the list of encrypted
37 bob$ nncp-ack -node alice 4>acks
40 @item Send those newly created packets back to Alice:
43 bob$ nncp-xfer [-keep] -tx /mnt/shared
46 @item Remove them from outbound spool, because we expect no
47 acknowledgement for them:
50 bob$ nncp-rm -node alice -pkt <acks
53 @item Get those acknowledgement packets and @ref{nncp-toss, toss} them:
56 alice$ nncp-xfer -rx /mnt/shared
60 Each ACK packet will remove kept corresponding outbound packets, because
61 Bob explicitly confirmed their receipt.
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.
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}.