latest.ipv8.messaging.anonymization.payload

Module Contents

Classes

CellablePayload

Payloads need a msg_id and a circuit_id to be turned into a tunnel-able cell.

ExtraIntroductionPayload

Payload to piggyback onto introduction messages.

DataPayload

Payload to transfer raw data over a circuit.

CreatePayload

Payload to initiate circuit creation.

CreatedPayload

Payload to signal initial circuit first-hop completion.

ExtendPayload

Payload to initiate circuit extension.

ExtendedPayload

Payload to signal extension completion.

PingPayload

Payload to ping over a circuit.

PongPayload

Payload to pong over a circuit.

DestroyPayload

Payload to signal destruction of a circuit.

EstablishIntroPayload

Payload to initiate establishment of an introduction point.

IntroEstablishedPayload

Payload to signal completion of introduction point establishment.

EstablishRendezvousPayload

Payload to initiate creation of a rendezvous point.

RendezvousEstablishedPayload

Payload to signal completion of a rendezvous point.

CreateE2EPayload

Payload to initiate e2e hookup.

CreatedE2EPayload

Payload to signal completion of e2e hookup.

LinkE2EPayload

Payload to initiate completion linking of an e2e hookup.

LinkedE2EPayload

Payload to signal completion of the final linking of the e2e circuit.

PeersRequestPayload

Request for peer lookup for the given info hash.

IntroductionInfo

Payload for introduction info.

PeersResponsePayload

Payload to respond with introduction info of peers for a given info hash.

RendezvousInfo

Payload for rendezvous info.

TestRequestPayload

Speedtest initiation.

TestResponsePayload

Speedtest response.

Flags

Packer for flags (default: as a short).

CellPayload

Raw circuit data.

Attributes

NO_CRYPTO_PACKETS

class latest.ipv8.messaging.anonymization.payload.CellablePayload(*args: Any, **kwargs)

Bases: latest.ipv8.messaging.lazy_payload.VariablePayloadWID

Payloads need a msg_id and a circuit_id to be turned into a tunnel-able cell.

circuit_id: int
class latest.ipv8.messaging.anonymization.payload.ExtraIntroductionPayload(*args: Any, **kwargs)

Bases: latest.ipv8.messaging.lazy_payload.VariablePayload

Payload to piggyback onto introduction messages.

names = ['flags']
format_list = ['flags']
flags: list[int]
class latest.ipv8.messaging.anonymization.payload.DataPayload(*args: Any, **kwargs)

Bases: CellablePayload

Payload to transfer raw data over a circuit.

msg_id = 1
names = ['circuit_id', 'dest_address', 'org_address', 'data']
format_list = ['I', 'address', 'address', 'raw']
circuit_id: int
dest_address: latest.ipv8.types.Address
org_address: latest.ipv8.types.Address
data: bytes
class latest.ipv8.messaging.anonymization.payload.CreatePayload(*args: Any, **kwargs)

Bases: CellablePayload

Payload to initiate circuit creation.

msg_id = 2
names = ['circuit_id', 'identifier', 'node_public_key', 'key']
format_list = ['I', 'H', 'varlenH', 'varlenH']
circuit_id: int
identifier: int
node_public_key: bytes
key: bytes
class latest.ipv8.messaging.anonymization.payload.CreatedPayload(*args: Any, **kwargs)

Bases: CellablePayload

Payload to signal initial circuit first-hop completion.

msg_id = 3
names = ['circuit_id', 'identifier', 'key', 'auth', 'candidates_enc']
format_list = ['I', 'H', 'varlenH', '32s', 'raw']
circuit_id: int
identifier: int
key: bytes
auth: bytes
candidates_enc: bytes
class latest.ipv8.messaging.anonymization.payload.ExtendPayload(*args: Any, **kwargs)

Bases: CellablePayload

Payload to initiate circuit extension.

msg_id = 4
names = ['circuit_id', 'identifier', 'node_public_key', 'key', 'node_addr']
format_list = ['I', 'H', 'varlenH', 'varlenH', 'ip_address']
circuit_id: int
identifier: int
node_public_key: bytes
key: bytes
node_addr: latest.ipv8.types.Address
class latest.ipv8.messaging.anonymization.payload.ExtendedPayload(*args: Any, **kwargs)

Bases: CellablePayload

Payload to signal extension completion.

msg_id = 5
names = ['circuit_id', 'identifier', 'key', 'auth', 'candidates_enc']
format_list = ['I', 'H', 'varlenH', '32s', 'raw']
circuit_id: int
identifier: int
key: bytes
auth: bytes
candidates_enc: bytes
class latest.ipv8.messaging.anonymization.payload.PingPayload(*args: Any, **kwargs)

Bases: CellablePayload

Payload to ping over a circuit.

msg_id = 6
names = ['circuit_id', 'identifier']
format_list = ['I', 'H']
circuit_id: int
identifier: int
class latest.ipv8.messaging.anonymization.payload.PongPayload(*args: Any, **kwargs)

Bases: CellablePayload

Payload to pong over a circuit.

msg_id = 7
names = ['circuit_id', 'identifier']
format_list = ['I', 'H']
circuit_id: int
identifier: int
class latest.ipv8.messaging.anonymization.payload.DestroyPayload(*args: Any, **kwargs)

Bases: CellablePayload

Payload to signal destruction of a circuit.

msg_id = 8
names = ['circuit_id', 'reason']
format_list = ['I', 'H']
circuit_id: int
reason: int
class latest.ipv8.messaging.anonymization.payload.EstablishIntroPayload(*args: Any, **kwargs)

Bases: CellablePayload

Payload to initiate establishment of an introduction point.

msg_id = 9
names = ['circuit_id', 'identifier', 'info_hash', 'public_key']
format_list = ['I', 'H', '20s', 'varlenH']
circuit_id: int
identifier: int
info_hash: bytes
public_key: bytes
class latest.ipv8.messaging.anonymization.payload.IntroEstablishedPayload(*args: Any, **kwargs)

Bases: CellablePayload

Payload to signal completion of introduction point establishment.

msg_id = 10
names = ['circuit_id', 'identifier']
format_list = ['I', 'H']
circuit_id: int
identifier: int
class latest.ipv8.messaging.anonymization.payload.EstablishRendezvousPayload(*args: Any, **kwargs)

Bases: CellablePayload

Payload to initiate creation of a rendezvous point.

msg_id = 11
names = ['circuit_id', 'identifier', 'cookie']
format_list = ['I', 'H', '20s']
circuit_id: int
identifier: int
cookie: bytes
class latest.ipv8.messaging.anonymization.payload.RendezvousEstablishedPayload(*args: Any, **kwargs)

Bases: CellablePayload

Payload to signal completion of a rendezvous point.

msg_id = 12
names = ['circuit_id', 'identifier', 'rendezvous_point_addr']
format_list = ['I', 'H', 'ip_address']
circuit_id: int
identifier: int
rendezvous_point_addr: latest.ipv8.types.Address
class latest.ipv8.messaging.anonymization.payload.CreateE2EPayload(*args: Any, **kwargs)

Bases: latest.ipv8.messaging.lazy_payload.VariablePayloadWID

Payload to initiate e2e hookup.

msg_id = 13
names = ['identifier', 'info_hash', 'node_public_key', 'key']
format_list = ['H', '20s', 'varlenH', 'varlenH']
identifier: int
info_hash: bytes
node_public_key: bytes
key: bytes
class latest.ipv8.messaging.anonymization.payload.CreatedE2EPayload(*args: Any, **kwargs)

Bases: latest.ipv8.messaging.lazy_payload.VariablePayloadWID

Payload to signal completion of e2e hookup.

msg_id = 14
names = ['identifier', 'key', 'auth', 'rp_info_enc']
format_list = ['H', 'varlenH', '32s', 'raw']
identifier: int
key: bytes
auth: bytes
rp_info_enc: bytes
class latest.ipv8.messaging.anonymization.payload.LinkE2EPayload(*args: Any, **kwargs)

Bases: CellablePayload

Payload to initiate completion linking of an e2e hookup.

msg_id = 15
names = ['circuit_id', 'identifier', 'cookie']
format_list = ['I', 'H', '20s']
circuit_id: int
identifier: int
cookie: bytes
class latest.ipv8.messaging.anonymization.payload.LinkedE2EPayload(*args: Any, **kwargs)

Bases: CellablePayload

Payload to signal completion of the final linking of the e2e circuit.

msg_id = 16
names = ['circuit_id', 'identifier']
format_list = ['I', 'H']
circuit_id: int
identifier: int
class latest.ipv8.messaging.anonymization.payload.PeersRequestPayload(*args: Any, **kwargs)

Bases: CellablePayload

Request for peer lookup for the given info hash.

msg_id = 17
names = ['circuit_id', 'identifier', 'info_hash']
format_list = ['I', 'H', '20s']
circuit_id: int
identifier: int
info_hash: bytes
class latest.ipv8.messaging.anonymization.payload.IntroductionInfo(*args: Any, **kwargs)

Bases: latest.ipv8.messaging.lazy_payload.VariablePayload

Payload for introduction info.

names = ['address', 'key', 'seeder_pk', 'source']
format_list = ['ip_address', 'varlenH', 'varlenH', 'B']
address: latest.ipv8.types.Address
key: bytes
seeder_pk: bytes
source: int
class latest.ipv8.messaging.anonymization.payload.PeersResponsePayload(*args: Any, **kwargs)

Bases: CellablePayload

Payload to respond with introduction info of peers for a given info hash.

msg_id = 18
names = ['circuit_id', 'identifier', 'info_hash', 'peers']
format_list = ['I', 'H', '20s', None]
circuit_id: int
identifier: int
info_hash: bytes
peers: list[IntroductionInfo]
class latest.ipv8.messaging.anonymization.payload.RendezvousInfo(*args: Any, **kwargs)

Bases: latest.ipv8.messaging.lazy_payload.VariablePayload

Payload for rendezvous info.

names = ['address', 'key', 'cookie']
format_list = ['ip_address', 'varlenH', '20s']
address: latest.ipv8.types.Address
key: bytes
cookie: bytes
class latest.ipv8.messaging.anonymization.payload.TestRequestPayload(*args: Any, **kwargs)

Bases: CellablePayload

Speedtest initiation.

msg_id = 19
names = ['circuit_id', 'identifier', 'response_size', 'data']
format_list = ['I', 'H', 'H', 'raw']
circuit_id: int
identifier: int
response_size: int
data: bytes
class latest.ipv8.messaging.anonymization.payload.TestResponsePayload(*args: Any, **kwargs)

Bases: CellablePayload

Speedtest response.

msg_id = 20
names = ['circuit_id', 'identifier', 'data']
format_list = ['I', 'H', 'raw']
circuit_id: int
identifier: int
data: bytes
class latest.ipv8.messaging.anonymization.payload.Flags(fmt: str = '>H')

Bases: latest.ipv8.messaging.serialization.Packer

Packer for flags (default: as a short).

pack(data: list[int]) bytes

Pack the individual flag integer values into a single integer and serialize them.

unpack(data: bytes, offset: int, unpack_list: list, *args: object) int

Uncompress the flags from their serialized form.

class latest.ipv8.messaging.anonymization.payload.CellPayload(circuit_id: int, message: bytes, plaintext: bool = False, relay_early: bool = False)

Raw circuit data.

msg_id = 0
unwrap(prefix: bytes) bytes

Reorder the binary format of this cell, injecting its prefix and circuit id.

to_bin(prefix: bytes) bytes

Reorder the binary format of this cell, injecting its message id, circuit id and flags.

classmethod from_bin(packet: bytes) CellPayload

Reconstruct a CellPayload from the given binary format, ordered using to_bin().

latest.ipv8.messaging.anonymization.payload.NO_CRYPTO_PACKETS