[][src]Module tox_packet::onion

Onion UDP Packets

Structs

FriendRequest

Friend request that can be enclosed in onion data packet and sent through onion path.

InnerOnionAnnounceRequest

It's used for announcing ourselves to onion node and for looking for other announced nodes.

InnerOnionDataRequest

It's used to send data requests to dht node using onion paths.

OnionAnnounceRequest

Same as InnerOnionAnnounceRequest but with OnionReturn addresses. It's sent from the third node from onion chain to the destination node.

OnionAnnounceRequestPayload

Unencrypted payload of OnionAnnounceRequest packet.

OnionAnnounceResponse

It's used to respond to OnionAnnounceRequest packet.

OnionAnnounceResponsePayload

Unencrypted payload of OnionAnnounceResponse packet.

OnionDataRequest

Same as InnerOnionDataRequest but with OnionReturn addresses. It's sent from the third node from onion chain to the destination node.

OnionDataResponse

When onion node receives OnionDataRequest packet it converts it to OnionDataResponse and sends to destination node if it announced itself and is contained in onion nodes list.

OnionDataResponsePayload

Unencrypted payload of OnionDataResponse packet.

OnionRequest0

First onion request packet. It's sent from DHT node to the first node from onion chain. Payload can be encrypted with either temporary generated SecretKey or DHT SecretKey of sender and with DHT PublicKey of receiver.

OnionRequest0Payload

Unencrypted payload of OnionRequest0 packet.

OnionRequest1

Second onion request packet. It's sent from the first to the second node from onion chain. Payload should be encrypted with temporary generated SecretKey and with DHT PublicKey of receiver.

OnionRequest1Payload

Unencrypted payload of OnionRequest1 packet.

OnionRequest2

Third onion request packet. It's sent from the second to the third node from onion chain. Payload should be encrypted with temporary generated SecretKey and with DHT PublicKey of receiver.

OnionRequest2Payload

Unencrypted payload of OnionRequest1 packet.

OnionResponse1

First onion response packet. It's sent back from the second to the first node from onion chain.

OnionResponse2

Second onion response packet. It's sent back from the third to the second node from onion chain.

OnionResponse3

Third onion response packet. It's sent back from the destination node to the third node from onion chain.

OnionReturn

Encrypted onion return addresses. Payload contains encrypted with symmetric key IpPort and possibly inner OnionReturn.

Enums

AnnounceStatus

Represents the result of sent AnnounceRequest.

InnerOnionRequest

Onion requests that can be enclosed in onion packets and sent through onion path.

InnerOnionResponse

Onion responses that can be enclosed in onion packets and sent through onion path.

OnionDataResponseInnerPayload

Packet that is embedded in the payload of OnionDataResponsePayload.

Constants

MAX_DATA_REQUEST_SIZE

Maximum size in butes of Onion Data Request packet

MAX_ONION_CLIENT_DATA_SIZE

Maximum size in bytes of Onion Data Response inner payload

MAX_ONION_RESPONSE_PAYLOAD_SIZE

Maximum size in bytes of Onion Data Response payload

MIN_ONION_DATA_RESPONSE_SIZE

Minimum size in bytes of Onion Data Response packet

ONION_MAX_PACKET_SIZE

The maximum size of onion packet including public key, nonce, packet kind byte, onion return.

ONION_RETURN_1_SIZE

Size of first OnionReturn struct with no inner OnionReturns.

ONION_RETURN_2_SIZE

Size of second OnionReturn struct with one inner OnionReturn.

ONION_RETURN_3_SIZE

Size of third OnionReturn struct with two inner OnionReturns.