X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=doc%2Fpkt%2Fplain.texi;h=235b8135286fbb9256ef9636b1cffe4245a7db9c;hb=2e59e1d8da61bc5dee797d351e50e8ed114aa4c7;hp=954b893de28b5f7a95b43c8401f648a265c9f556;hpb=0ee0ba3784ce20e69d8db6316c99e7f0b6d30809;p=nncp.git diff --git a/doc/pkt/plain.texi b/doc/pkt/plain.texi index 954b893..235b813 100644 --- a/doc/pkt/plain.texi +++ b/doc/pkt/plain.texi @@ -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