2.13.ipv8.messaging.anonymization.caches

Module Contents

Classes

class 2.13.ipv8.messaging.anonymization.caches.CreateRequestCache(community: 2.13.ipv8.messaging.anonymization.community.TunnelCommunity, identifier: int, to_circuit_id: int, from_circuit_id: int, peer: 2.13.ipv8.types.Peer, to_peer: 2.13.ipv8.types.Peer)

Bases: 2.13.ipv8.requestcache.RandomNumberCacheWithName

Used to track outstanding create messages.

name = 'create'
on_timeout() None

We don’t need to do anything on timeout.

class 2.13.ipv8.messaging.anonymization.caches.CreatedRequestCache(community: 2.13.ipv8.messaging.anonymization.community.TunnelCommunity, circuit_id: int, candidate: 2.13.ipv8.types.Peer, candidates: dict[bytes, 2.13.ipv8.types.Peer], timeout: float)

Bases: 2.13.ipv8.requestcache.NumberCacheWithName

Used to track outstanding created messages.

property timeout_delay: float

The configurable timeout that was set.

name = 'created'
on_timeout() None

We don’t need to do anything on timeout.

class 2.13.ipv8.messaging.anonymization.caches.RetryRequestCache(community: 2.13.ipv8.messaging.anonymization.community.TunnelCommunity, circuit: 2.13.ipv8.messaging.anonymization.tunnel.Circuit, candidates: list[bytes] | list[2.13.ipv8.types.Peer], max_tries: int, retry_func: Callable[[2.13.ipv8.messaging.anonymization.tunnel.Circuit, list[bytes], int], None] | Callable[[2.13.ipv8.messaging.anonymization.tunnel.Circuit, list[2.13.ipv8.types.Peer], int], None], timeout: float)

Bases: 2.13.ipv8.requestcache.NumberCacheWithName

Used to track adding additional hops to the circuit.

property timeout_delay: float

The configurable timeout that was set.

name = 'retry'
on_timeout() None

Retry until we run out of candidates. Otherwise, remove the circuit.

class 2.13.ipv8.messaging.anonymization.caches.PingRequestCache(community: 2.13.ipv8.messaging.anonymization.community.TunnelCommunity)

Bases: 2.13.ipv8.requestcache.RandomNumberCacheWithName

Manage a ping to a peer.

name = 'ping'
on_timeout() None

We don’t need to do anything on timeout.

class 2.13.ipv8.messaging.anonymization.caches.IPRequestCache(community: 2.13.ipv8.messaging.anonymization.community.TunnelCommunity, circuit: 2.13.ipv8.messaging.anonymization.tunnel.Circuit)

Bases: 2.13.ipv8.requestcache.RandomNumberCacheWithName

Manage introduction point establishment.

name = 'establish-intro'
on_timeout() None

We remove the circuit if we can’t establish an introduction point.

class 2.13.ipv8.messaging.anonymization.caches.RPRequestCache(community: 2.13.ipv8.messaging.anonymization.community.TunnelCommunity, rp: 2.13.ipv8.messaging.anonymization.tunnel.RendezvousPoint)

Bases: 2.13.ipv8.requestcache.RandomNumberCacheWithName

Manage rendezvous point establishment.

name = 'establish-rendezvous'
on_timeout() None

We remove the circuit if we can’t establish a rendezvous point.

class 2.13.ipv8.messaging.anonymization.caches.PeersRequestCache(community: 2.13.ipv8.messaging.anonymization.hidden_services.HiddenTunnelCommunity, circuit: 2.13.ipv8.messaging.anonymization.tunnel.Circuit, info_hash: bytes, target: 2.13.ipv8.messaging.anonymization.tunnel.IntroductionPoint | None)

Bases: 2.13.ipv8.requestcache.RandomNumberCacheWithName

Request peers for the given swarm (info hash).

name = 'peers-request'
on_timeout() None

We remove the introduction point if we don’t get a response.

class 2.13.ipv8.messaging.anonymization.caches.E2ERequestCache(community: 2.13.ipv8.messaging.anonymization.community.TunnelCommunity, info_hash: bytes, hop: 2.13.ipv8.messaging.anonymization.tunnel.Hop, intro_point: 2.13.ipv8.messaging.anonymization.tunnel.IntroductionPoint)

Bases: 2.13.ipv8.requestcache.RandomNumberCacheWithName

Cache to track e2e circuit creation.

name = 'e2e-request'
on_timeout() None

We don’t need to do anything on timeout.

class 2.13.ipv8.messaging.anonymization.caches.LinkRequestCache(community: 2.13.ipv8.messaging.anonymization.community.TunnelCommunity, circuit: 2.13.ipv8.messaging.anonymization.tunnel.Circuit, info_hash: bytes, hs_session_keys: 2.13.ipv8.messaging.anonymization.crypto.SessionKeys)

Bases: 2.13.ipv8.requestcache.RandomNumberCacheWithName

Cache to track circuit linking.

name = 'link-request'
on_timeout() None

We don’t need to do anything on timeout.

class 2.13.ipv8.messaging.anonymization.caches.TestRequestCache(community: 2.13.ipv8.messaging.anonymization.community.TunnelCommunity, circuit: 2.13.ipv8.messaging.anonymization.tunnel.Circuit)

Bases: 2.13.ipv8.requestcache.RandomNumberCacheWithName

Cache to track circuit speed tests.

name = 'test-request'
on_timeout() None

We don’t need to do anything on timeout.