Skip to content

maker.generation

maker.generation

Runtime resources owned by one maker identity generation.

Classes

GenerationState

Bases: StrEnum

Whether a generation may accept new work.

Source code in maker/src/maker/generation.py
20
21
22
23
24
25
class GenerationState(StrEnum):
    """Whether a generation may accept new work."""

    ACCEPTING = "accepting"
    GRACE = "grace"
    CLOSED = "closed"
Attributes
ACCEPTING = 'accepting' class-attribute instance-attribute
CLOSED = 'closed' class-attribute instance-attribute
GRACE = 'grace' class-attribute instance-attribute

MakerGeneration dataclass

All identity-bound maker resources.

The bot intentionally keeps current-generation aliases for compatibility, but protocol routing always resolves one of these records explicitly.

Source code in maker/src/maker/generation.py
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
@dataclass(slots=True)
class MakerGeneration:
    """All identity-bound maker resources.

    The bot intentionally keeps current-generation aliases for compatibility,
    but protocol routing always resolves one of these records explicitly.
    """

    generation_id: int
    nick_identity: NickIdentity
    offer_manager: OfferManager
    directory_pool: MakerDirectoryPool
    directory_clients: dict[str, DirectoryClient] = field(default_factory=dict)
    current_offers: list[Offer] = field(default_factory=list)
    hidden_service_listener: HiddenServiceListener | None = None
    tor_control: TorControlClient | None = None
    ephemeral_hidden_service: EphemeralHiddenService | None = None
    onion_host: str | None = None
    listener_port: int | None = None
    direct_connections: dict[str, TCPConnection] = field(default_factory=dict)
    direct_connection_states: dict[TCPConnection, DirectConnectionState] = field(
        default_factory=dict
    )
    tasks: list[asyncio.Task[None]] = field(default_factory=list)
    reconnect_attempts: dict[str, int] = field(default_factory=dict)
    all_directories_disconnected: bool = False
    state: GenerationState = GenerationState.ACCEPTING
    grace_deadline: float | None = None
Attributes
all_directories_disconnected: bool = False class-attribute instance-attribute
current_offers: list[Offer] = field(default_factory=list) class-attribute instance-attribute
direct_connection_states: dict[TCPConnection, DirectConnectionState] = field(default_factory=dict) class-attribute instance-attribute
direct_connections: dict[str, TCPConnection] = field(default_factory=dict) class-attribute instance-attribute
directory_clients: dict[str, DirectoryClient] = field(default_factory=dict) class-attribute instance-attribute
directory_pool: MakerDirectoryPool instance-attribute
ephemeral_hidden_service: EphemeralHiddenService | None = None class-attribute instance-attribute
generation_id: int instance-attribute
grace_deadline: float | None = None class-attribute instance-attribute
hidden_service_listener: HiddenServiceListener | None = None class-attribute instance-attribute
listener_port: int | None = None class-attribute instance-attribute
nick_identity: NickIdentity instance-attribute
offer_manager: OfferManager instance-attribute
onion_host: str | None = None class-attribute instance-attribute
reconnect_attempts: dict[str, int] = field(default_factory=dict) class-attribute instance-attribute
state: GenerationState = GenerationState.ACCEPTING class-attribute instance-attribute
tasks: list[asyncio.Task[None]] = field(default_factory=list) class-attribute instance-attribute
tor_control: TorControlClient | None = None class-attribute instance-attribute