libp2p.tools.timed_cache package

Submodules

libp2p.tools.timed_cache.base_timed_cache module

class libp2p.tools.timed_cache.base_timed_cache.BaseTimedCache(ttl: int, sweep_interval: int = 60)

Bases: ABC

Base class for Timed Cache with cleanup mechanism.

abstract add(key: bytes) bool

To be implemented in subclasses.

cache: dict[bytes, int]
abstract has(key: bytes) bool

To be implemented in subclasses.

length() int
stop() None

Stops the background cleanup thread.

libp2p.tools.timed_cache.first_seen_cache module

class libp2p.tools.timed_cache.first_seen_cache.FirstSeenCache(ttl: int, sweep_interval: int = 60)

Bases: BaseTimedCache

Cache where expiry is set only when first added.

add(key: bytes) bool

To be implemented in subclasses.

has(key: bytes) bool

To be implemented in subclasses.

libp2p.tools.timed_cache.last_seen_cache module

class libp2p.tools.timed_cache.last_seen_cache.LastSeenCache(ttl: int, sweep_interval: int = 60)

Bases: BaseTimedCache

Cache where expiry is updated on every access.

add(key: bytes) bool

To be implemented in subclasses.

has(key: bytes) bool

To be implemented in subclasses.

Module contents