]> Cypherpunks.ru repositories - nncp.git/blobdiff - doc/pkt/plain.texi
ACK
[nncp.git] / doc / pkt / plain.texi
index 954b893de28b5f7a95b43c8401f648a265c9f556..235b8135286fbb9256ef9636b1cffe4245a7db9c 100644 (file)
@@ -1,4 +1,5 @@
 @node Plain
+@cindex plain packet
 @section Plain packet
 
 Plain packet contains either the whole file, or file request (freq), or
@@ -27,6 +28,7 @@ drive.
     @item trns (transition)
     @item exec-fat (uncompressed exec)
     @item area (@ref{Multicast, multicast} area message)
+    @item ack (receipt acknowledgement)
     @end enumerate
 @item Niceness @tab
     unsigned integer @tab
@@ -43,6 +45,7 @@ drive.
     @item UTF-8 encoded, zero byte separated, exec's arguments
     @item Node's id the transition packet must be relayed on
     @item Multicast area's id
+    @item Packet's id (its @ref{MTH} hash)
     @end itemize
 @end multitable
 
@@ -61,13 +64,14 @@ Depending on the packet's type, payload could store:
     compressed exec body
 @item Whole encrypted packet we need to relay on
 @item Multicast area message wrap with another encrypted packet inside
+@item Nothing, if it is acknowledgement packet
 @end itemize
 
 Also depending on packet's type, niceness level means:
 
 @itemize
 @item Preferable niceness level for files sent by freq
-@item @env{NNCP_NICE} variable's value passed during @ref{CfgExec} invocation.
+@item @env{$NNCP_NICE} variable's value passed during @ref{CfgExec} invocation.
 @end itemize
 
 So plain packets can hold following paths and payloads:
@@ -98,24 +102,24 @@ So plain packets can hold following paths and payloads:
 
 @item exec
 @example
-  +----------------------- PATH -------------------------+   +---- PAYLOAD ---+
- /                                                        \ /                  \
-+----------------------------------------------------------+---------------...--+
-|  HANDLE | ARG0 0x00 ARG1 ...| 0x00 ... variable ... 0x00 |     ZSTD DATA      |
-+----------------------------------------------------------+---------------...--+
- \                           /
-  +-------- PATHLEN --------+
+  +------------------------- PATH ----------------------------+   +---- PAYLOAD ---+
+ /                                                             \ /                  \
++---------------------------------------------------------------+---------------...--+
+|  HANDLE 0x00 | ARG0 0x00 ARG1 ...| 0x00 ... variable ... 0x00 |     ZSTD DATA      |
++---------------------------------------------------------------+---------------...--+
+ \                                /
+  +-------- PATHLEN -------------+
 @end example
 
 @item exec-fat
 @example
-  +----------------------- PATH -------------------------+   +---- PAYLOAD ---+
- /                                                        \ /                  \
-+----------------------------------------------------------+---------------...--+
-|  HANDLE | ARG0 0x00 ARG1 ...| 0x00 ... variable ... 0x00 |        DATA        |
-+----------------------------------------------------------+---------------...--+
- \                           /
-  +-------- PATHLEN --------+
+  +------------------------- PATH ----------------------------+   +---- PAYLOAD ---+
+ /                                                             \ /                  \
++---------------------------------------------------------------+---------------...--+
+|  HANDLE 0x00 | ARG0 0x00 ARG1 ...| 0x00 ... variable ... 0x00 |        DATA        |
++---------------------------------------------------------------+---------------...--+
+ \                                /
+  +-------- PATHLEN -------------+
 @end example
 
 @item trns
@@ -141,4 +145,15 @@ So plain packets can hold following paths and payloads:
 @end example
 See also @ref{Encrypted area, encrypted area packet}.
 
+@item ack
+@example
+  +------- PATH --------+
+ /                       \
++-------------------------+
+|  PKT ID | 0x00 ... 0x00 |
++-------------------------+
+ \       /
+  PATHLEN
+@end example
+
 @end table