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