From e4f551054f2b6e482a8ce9cfd1984bb3b7338e1d Mon Sep 17 00:00:00 2001
From: zzz I2P Control Protocol (I2CP) Specification
Overview
@@ -698,10 +698,68 @@ guaranteed failed. The size Integer specifies the size of the available
message and is only relevant for status = 0.
Even though guaranteed is unimplemented, (best effort is the only service), the current
router implementation uses the guaranteed status codes, not the best effort codes.
-As of router version 0.9.5, additional status codes are defined.
+As of router version 0.9.5, additional status codes are defined,
+however they are not necessarily implemented.
See the
MessageStatusMessage Javadocs
for details.
+All status codes:
+
+
Status Code As Of Release Name Description
+ 0 Available For incoming messages only.
+ The included size is the size in bytes of the available message.
+ This is unused in "fast receive" mode, which is the default as of release 0.9.4.
+ All other status codes below are for outgoing messages.
+ 1 Accepted Outgoing message accepted by the local router for delivery.
+ The included nonce matches the nonce in the
+ Send Message Message, and the included Message ID
+ will be used for subsequent success or failure notification.
+ 2 Best Effort Success Probable success (unused)
+ 3 Best Effort Failure Probable failure
+ 4 Guaranteed Success Probable success
+ 5 Guaranteed Failure Generic failure, specific cause unknown.
+ May not really be a guaranteed failure.
+ 6 0.9.5 Local Success Local delivery successful.
+ The destination was another client on the same router.
+ 7 0.9.5 Local Failure Local delivery failure.
+ The destination was another client on the same router.
+ 8 0.9.5 Router Failure The local router is not ready, has shut down,
+ or has major problems.
+ This is a guaranteed failure.
+ 9 0.9.5 Network Failure The local computer apparently has no network connectivity at all.
+ This is a guaranteed failure.
+ 10 0.9.5 Bad Session The I2CP session is invalid or closed.
+ This is a guaranteed failure.
+ 11 0.9.5 Bad Message The message payload is invalid or zero-length or too big.
+ This is a guaranteed failure.
+ 12 0.9.5 Bad Options Something is invalid in the message options,
+ or the expiration is in the past or too far in the future.
+ This is a guaranteed failure.
+ 13 0.9.5 Overflow Failure Some queue or buffer in the router is full and the message was dropped.
+ This is a guaranteed failure.
+ 14 0.9.5 Message Expired The message expired before it could be sent.
+ This is a guaranteed failure.
+ 15 0.9.5 Bad Local Leaseset The client has not yet signed a leaseset, or the local keys
+ are invalid, or it has expired, or it does not have any tunnels in it.
+ This is a guaranteed failure.
+ 16 0.9.5 No Local Tunnels Local problems. No outbound tunnel to send through,
+ or no inbound tunnel if a reply is required.
+ This is a guaranteed failure.
+ 17 0.9.5 Unsupported Encryption The certs or options in the destination or its leaseset
+ indicate that it uses an encryption format that we don't support, so we can't talk to it.
+ This is a guaranteed failure.
+ 18 0.9.5 Bad Destination Something is wrong with the far-end destination.
+ Bad format, unsupported options, certificates, etc.
+ This is a guaranteed failure.
+ 19 0.9.5 Bad Leaseset We got the far-end leaseset but something strange is wrong with it.
+ Unsupported options or certificates, no tunnels, etc.
+ This is a guaranteed failure.
+ 20 0.9.5 Expired Leaseset We got the far-end leaseset but it's expired and we can't get a new one.
+ This is a guaranteed failure.
+ 21 0.9.5 No Leaseset Could not find the far-end leaseset.
+ This is a common failure, equivalent to a DNS lookup failure.
+ This is a guaranteed failure.
+
When status = 1 (accepted), the nonce matches the nonce in the @@ -734,6 +792,9 @@ message id specified in the ReceiveMessageBeginMessage is invalid or incorrect, the router may simply not reply, or it may send back a DisconnectMessage.
++This is unused in "fast receive" mode, which is the default as of release 0.9.4. +
@@ -757,6 +818,9 @@ Sent from Client to Router. The ReceiveMessageBeginMessage is sent after a MessagePayloadMessage fully delivers a message's payload. ++This is unused in "fast receive" mode, which is the default as of release 0.9.4. +