SP works on top of
@url{http://noiseprotocol.org/noise.html#interactive-patterns,
@code{Noise_IK_25519_ChaChaPoly_BLAKE2b}} protocol. Each Noise packet
-are sent inside @url{https://tools.ietf.org/html/rfc4506, XDR} envelope:
+is sent inside an @url{https://tools.ietf.org/html/rfc4506, XDR} envelope:
@verbatim
+-----------------+
@end verbatim
@multitable @columnfractions 0.2 0.3 0.5
-@headitem @tab XDR type @tab Value
+@headitem @tab XDR type @tab Value
@item Magic number @tab
8-byte, fixed length opaque data @tab
@verb{|N N C P S 0x00 0x00 0x01|}
+------+--------------------+
@end verbatim
@multitable @columnfractions 0.2 0.3 0.5
- @headitem @tab XDR type @tab Value
+ @headitem @tab XDR type @tab Value
@item Niceness @tab
unsigned integer @tab
1-255, file niceness level
+------+---------------+
@end verbatim
@multitable @columnfractions 0.2 0.3 0.5
- @headitem @tab XDR type @tab Value
+ @headitem @tab XDR type @tab Value
@item Hash @tab
32-byte, fixed length opaque data @tab
Unique file identifier, its checksum
+------+-------------------------+
@end verbatim
@multitable @columnfractions 0.2 0.3 0.5
- @headitem @tab XDR type @tab Value
+ @headitem @tab XDR type @tab Value
@item Hash @tab
32-byte, fixed length opaque data @tab
Unique file identifier, its checksum
+------+------+
@end verbatim
@multitable @columnfractions 0.2 0.3 0.5
- @headitem @tab XDR type @tab Value
+ @headitem @tab XDR type @tab Value
@item Hash @tab
32-byte, fixed length opaque data @tab
Unique file identifier, its checksum
@end table
-Typical peers behaviour is following:
+Typical peer's behaviour is following:
@enumerate
@item Perform Noise-IK handshake.
@item When @emph{HALT} packet received, empty file sending queue.
@item @emph{FILE} sending is performed only if no other outgoing packets
are queued.
-@item Each second node check are there any new @emph{tx} packets
+@item Each second, node checks: are there any new @emph{tx} packets
appeared and queues corresponding @emph{INFO} packets.
@item If no packets are sent and received during @ref{CfgOnlineDeadline,
onlinedeadline} duration, then close the connection. There is no