Events

This page describes all the possible events and their parser implementation, received through the callbacks registered by Controller.add_event_handler(). Note that all unknown events will receive an EventUnknown, containing the raw Message received.

Base classes

class aiostem.event.Event[source]

Bases: ABC

Base class for all events.

ADAPTER: ClassVar[TypeAdapter[Self] | None] = None

Cached adapter used while deserializing the message.

TYPE: ClassVar[EventWordInternal | EventWord | None]

Type of event this class is a parser for.

classmethod adapter() TypeAdapter[Self][source]

Get a cached type adapter to deserialize a reply.

Return type:

TypeAdapter[Self]

abstractmethod classmethod from_message(message: Message) Self[source]

Build an event structure from a received message.

Return type:

Self

class aiostem.event.EventLog[source]

Bases: Event

Base class for any event log.

severity: LogSeverity

Log severity.

message: str

Log message.

class aiostem.event.EventSimple[source]

Bases: Event

An event with a simple single syntax parser.

SYNTAX: ClassVar[ReplySyntax]

Simple syntax to parse the message from.

classmethod from_message(message: Message) Self[source]

Build an event from a received message.

Return type:

Self

class aiostem.event.EventStatus[source]

Bases: Event

Base class for all STATUS_* events.

severity: Annotated[Literal[<LogSeverity.NOTICE: 'NOTICE'>, <LogSeverity.WARNING: 'WARN'>, <LogSeverity.ERROR: 'ERROR'>]]

Severity of the reported status.

action: StrEnum

Status action reported by this event (sub-classed).

Library events

This event is hooked on the event system provided and works in a similar way but is only handled internally by this library.

class aiostem.event.EventDisconnect[source]

Bases: Event

Structure for a DISCONNECT event.

Note

This event is internal to aiostem.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'DISCONNECT'

Type of event this class is a parser for.

Circuit events

class aiostem.event.EventAddrMap[source]

Bases: EventSimple

Structure for a ADDRMAP event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'ADDRMAP'

Type of event this class is a parser for.

replacement: Annotated[AnyHost | None]

Replacement address, <error> is mapped to None.

expires: Annotated[datetime] | None

When this entry expires as an UTC date.

error: str | None

Error message when replacement is None.

cached: Annotated[bool] | None

Whether this value has been kept in cache.

stream: int | None

Stream identifier.

class aiostem.event.EventBuildTimeoutSet[source]

Bases: EventSimple

Structure for a BUILDTIMEOUT_SET event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'BUILDTIMEOUT_SET'

Type of event this class is a parser for.

type: Literal['COMPUTED', 'RESET', 'SUSPENDED', 'DISCARD', 'RESUME']

Type of event we just received.

total_times: Annotated[int]

Integer count of timeouts stored.

timeout_ms: Annotated[timedelta]

Integer timeout in milliseconds.

xm: Annotated[timedelta]

Estimated integer Pareto parameter Xm in milliseconds.

alpha: float

Estimated floating point Paredo parameter alpha.

cutoff_quantile: float

Floating point CDF quantile cutoff point for this timeout.

timeout_rate: float

Floating point ratio of circuits that timeout.

close_ms: Annotated[timedelta]

How long to keep measurement circs in milliseconds.

close_rate: float

Floating point ratio of measurement circuits that are closed.

class aiostem.event.EventCirc[source]

Bases: EventSimple

Structure for a CIRC event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'CIRC'

Type of event this class is a parser for.

circuit: Annotated[int]

Circuit identifier this event is triggered for.

status: Annotated[CircuitStatus | str]

Circuit status reported by this event.

build_flags: Annotated[Set[Annotated[CircuitBuildFlags | str]]] | None

Circuit build flags.

conflux_id: Annotated[bytes] | None

Conflux identifier

Note

Available starting from Tor v0.4.8.15 (ticket 40872)

conflux_rtt: Annotated[timedelta] | None

Conflux round trip time

Note

Available starting from Tor v0.4.8.15 (ticket 40872)

hs_pow: Annotated[CircuitHiddenServicePow] | None

Hidden service proof of work effort attached to this circuit.

path: Annotated[Sequence[LongServerName]] | None

List of servers in this circuit, when provided.

purpose: Annotated[CircuitPurpose | str] | None

Current circuit purpose.

reason: Annotated[CircuitCloseReason | str] | None

This field is provided only for FAILED and CLOSED events.

remote_reason: Annotated[CircuitCloseReason | str] | None

Provided only when we receive a DESTROY cell or RELAY_TRUNCATE message.

rend_query: Annotated[Annotated[HiddenServiceAddressV2] | Annotated[HiddenServiceAddressV3]] | None

Onion address related to this circuit (if any).

socks_username: str | None

Username used by a SOCKS client to connect to Tor and initiate this circuit.

socks_password: str | None

Password used by a SOCKS client to connect to Tor and initiate this circuit.

time_created: Annotated[datetime] | None

When this circuit was created, if provided.

class aiostem.event.EventCircBW[source]

Bases: EventSimple

Structure for a CIRC_BW event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'CIRC_BW'

Type of event this class is a parser for.

time: Annotated[datetime]

Records when Tor created the bandwidth event.

read: int

Number of bytes read on this circuit since the last CIRC_BW event.

read_delivered: int

Byte count for incoming delivered relay messages.

read_overhead: int

Overhead of extra unused bytes at the end of read messages.

written: int

Number of bytes written on this circuit since the last CIRC_BW event.

written_delivered: int

Byte count for outgoing delivered relay messages.

written_overhead: int

Overhead of extra unused bytes at the end of written messages.

slow_start: bool | None

Provides an indication if the circuit is in slow start or not.

cwnd: int | None

Size of the congestion window in terms of number of cells.

rtt: Annotated[timedelta] | None

The N_EWMA smoothed current RTT value.

rtt_min: Annotated[timedelta] | None

Minimum RTT value of the circuit.

class aiostem.event.EventCircMinor[source]

Bases: EventSimple

Structure for a CIRC_MINOR event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'CIRC_MINOR'

Type of event this class is a parser for.

circuit: Annotated[int]

Circuit identifier.

event: Annotated[CircuitEvent | str]

Circuit event, either PURPOSE_CHANGED or CANNIBALIZED.

path: Annotated[Sequence[LongServerName]] | None

Circuit path, when provided.

build_flags: Annotated[Set[Annotated[CircuitBuildFlags | str]]] | None

Circuit build flags.

time_created: Annotated[datetime] | None

When this circuit was created.

purpose: Annotated[CircuitPurpose | str] | None

Current circuit purpose.

rend_query: Annotated[Annotated[HiddenServiceAddressV2] | Annotated[HiddenServiceAddressV3]] | None

Onion address related to this circuit.

old_hs_state: Annotated[CircuitHiddenServiceState | str] | None

Previous hidden service state when applicable.

old_purpose: Annotated[CircuitPurpose | str] | None

Previous circuit purpose.

class aiostem.event.EventConnBW[source]

Bases: EventSimple

Structure for a CONN_BW event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'CONN_BW'

Type of event this class is a parser for.

conn_id: int

Identifier for this connection.

conn_type: str

Connection type, typically OR / DIR / EXIT.

read: int

Number of bytes read by Tor since the last event on this connection.

written: int

Number of bytes written by Tor since the last event on this connection.

class aiostem.event.EventStream[source]

Bases: EventSimple

Structure for a STREAM event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'STREAM'

Type of event this class is a parser for.

stream: int

Stream identifier reported in this event.

status: StreamStatus

Status of the stream event reported here.

circuit: Annotated[int]

Circuit ID linked to this stream.

target: StreamTarget

Target address or server of this stream (or 0 when unattached).

client_protocol: Annotated[StreamClientProtocol | str] | None

The protocol that was used by a client to initiate this stream.

iso_fields: Annotated[Set[str]] | None

Indicates the set of STREAM event fields for which stream isolation is enabled.

nym_epoch: Annotated[int] | None

Nym epoch that was active when a client initiated this stream.

purpose: Annotated[StreamPurpose | str] | None

Only for NEW and NEWRESOLVE events.

reason: Annotated[StreamCloseReason | str] | None

Provided only for FAILED, CLOSED, and DETACHED events,

remote_reason: Annotated[StreamCloseReason | str] | None

Provided only when we receive a RELAY_END message.

session_group: int | None

Indicates the session group of the listener port that a client used for this stream.

socks_username: str | None

Username used by a SOCKS client to connect to Tor and initiate this circuit.

socks_password: str | None

Password used by a SOCKS client to connect to Tor and initiate this circuit.

source: Annotated[RemapSource | str] | None

Generally either CACHE or EXIT, used with StreamStatus.REMAP.

source_addr: TcpAddressPort | None

Source (local) address.

class aiostem.event.EventStreamBW[source]

Bases: EventSimple

Structure for a STREAM_BW event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'STREAM_BW'

Type of event this class is a parser for.

stream: int

Stream identifier.

read: int

Number of bytes read by the application since the last event on this stream.

written: int

Number of bytes written by the application since the last event on this stream.

time: Annotated[datetime]

Records when Tor created the bandwidth event.

Hidden service events

class aiostem.event.EventHsDesc[source]

Bases: EventSimple

Structure for a HS_DESC event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'HS_DESC'

Type of event this class is a parser for.

action: HsDescAction

Kind of action reported in this status update.

address: Annotated[Annotated[HiddenServiceAddressV2] | Annotated[HiddenServiceAddressV3]] | Literal['UNKNOWN']

Onion address the report status is for (without the .onion suffix).

auth_type: HsDescAuthTypeStr

Client authentication here is always NO_AUTH.

descriptor_id: Annotated[bytes] | Annotated[bytes] | None

The descriptor blinded key used for the index value at the HsDir.

hs_dir: LongServerName | Literal['UNKNOWN']

Hidden service directory answering this request.

hs_dir_index: Annotated[bytes] | None

Contains the computed index of the HsDir the descriptor was uploaded to or fetched from.

reason: HsDescFailReason | None

If action is FAILED, Tor SHOULD send a reason field.

replica: int | None

Field is not used for the CREATED event because v3 doesn’t use the replica number in the descriptor ID computation.

class aiostem.event.EventHsDescContent[source]

Bases: Event

Structure for a HS_DESC_CONTENT event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'HS_DESC_CONTENT'

Type of event this class is a parser for.

address: Annotated[Annotated[HiddenServiceAddressV2] | Annotated[HiddenServiceAddressV3]] | Literal['UNKNOWN']

Onion address the report status is for (without the .onion suffix).

hs_dir: LongServerName | Literal['UNKNOWN']

Hidden service directory answering this request.

descriptor_id: Annotated[bytes] | Annotated[bytes] | None = None

Unique identifier for the descriptor.

descriptor_text: str

Text content of the hidden service descriptor.

property descriptor: HsDescV2 | HsDescV3

Get the parsed descriptor.

Log events

class aiostem.event.EventLogDebug[source]

Bases: EventLog

Event parser for DEBUG events.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'DEBUG'

Type of event this class is a parser for.

class aiostem.event.EventLogInfo[source]

Bases: EventLog

Event parser for INFO events.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'INFO'

Type of event this class is a parser for.

class aiostem.event.EventLogNotice[source]

Bases: EventLog

Event parser for NOTICE events.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'NOTICE'

Type of event this class is a parser for.

class aiostem.event.EventLogWarn[source]

Bases: EventLog

Event parser for WARN events.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'WARN'

Type of event this class is a parser for.

class aiostem.event.EventLogErr[source]

Bases: EventLog

Event parser for ERR events.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'ERR'

Type of event this class is a parser for.

Status events

class aiostem.event.EventBaseNetworkStatus[source]

Bases: Event

Base class for network status events.

routers: Sequence[RouterStatus]

Raw content of the new network status.

classmethod parse_router_statuses(body: str) Sequence[dict[str, Any]][source]

Parse router statuses to raw structures.

Parameters:

body (str) – raw text containing router statuses.

Returns:

Sequence[dict[str, Any]] – A list of dictonaries required to build a router status sequence.

class aiostem.event.EventDescChanged[source]

Bases: EventSimple

Structure for a DESCCHANGED event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'DESCCHANGED'

Type of event this class is a parser for.

class aiostem.event.EventGuard[source]

Bases: EventSimple

Structure for a GUARD event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'GUARD'

Type of event this class is a parser for.

type: str

Type of guard node, should be ENTRY.

name: LongServerName

Full server name of the guard node.

status: Annotated[GuardEventStatus | str]

Status of the guard in our event.

class aiostem.event.EventNetworkLiveness[source]

Bases: EventSimple

Structure for a NETWORK_LIVENESS event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'NETWORK_LIVENESS'

Type of event this class is a parser for.

status: LivenessStatus

Current network status.

class aiostem.event.EventNetworkStatus[source]

Bases: EventBaseNetworkStatus

Structure for a NS event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'NS'

Type of event this class is a parser for.

class aiostem.event.EventNewConsensus[source]

Bases: EventBaseNetworkStatus

Structure for a NEWCONSENSUS event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'NEWCONSENSUS'

Type of event this class is a parser for.

class aiostem.event.EventNewDesc[source]

Bases: EventSimple

Structure for a NEWDESC event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'NEWDESC'

Type of event this class is a parser for.

servers: Sequence[LongServerName]

List of new server identifiers received.

class aiostem.event.EventOrConn[source]

Bases: EventSimple

Structure for a ORCONN event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'ORCONN'

Type of event this class is a parser for.

server: LongServerName

Onion router server name reported in this event.

status: OrConnStatus

Status of the connection to the onion router.

reason: Annotated[OrConnCloseReason | str] | None

When status is FAILED or CLOSED, this is the reason why.

circuit_count: Annotated[int] | None

Counts both established and pending circuits.

conn_id: int | None

Connection identifier.

class aiostem.event.EventStatusGeneral[source]

Bases: EventStatus

Event parser for STATUS_GENERAL events.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'STATUS_GENERAL'

Type of event this class is a parser for.

action: StatusActionGeneral

Which action this general status event is for.

arguments: Annotated[Annotated[StatusGeneralBug] | Annotated[StatusGeneralClockJumped] | Annotated[StatusGeneralClockSkew] | Annotated[StatusGeneralDangerousVersion] | Annotated[StatusGeneralTooManyConnections] | Annotated[None]]

Arguments associated with the action.

class aiostem.event.EventStatusClient[source]

Bases: EventStatus

Event parser for STATUS_CLIENT events.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'STATUS_CLIENT'

Type of event this class is a parser for.

action: StatusActionClient

Which action this client status event is for.

arguments: Annotated[Annotated[StatusClientBootstrap] | Annotated[StatusClientCircuitNotEstablished] | Annotated[StatusClientDangerousPort] | Annotated[StatusClientDangerousSocks] | Annotated[StatusClientSocksBadHostname] | Annotated[None]]

Arguments associated with the action.

class aiostem.event.EventStatusServer[source]

Bases: EventStatus

Event parser for STATUS_SERVER events.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'STATUS_SERVER'

Type of event this class is a parser for.

action: StatusActionServer

Which action this server status event is for.

arguments: Annotated[Annotated[StatusServerExternalAddress] | Annotated[StatusServerCheckingReachability] | Annotated[StatusServerReachabilitySucceeded] | Annotated[StatusServerNameserverStatus] | Annotated[StatusServerBadServerDescriptor] | Annotated[StatusServerAcceptedServerDescriptor] | Annotated[StatusServerReachabilityFailed] | Annotated[StatusServerHibernationStatus] | Annotated[None]]

Arguments associated with the action.

Pluggable transport events

class aiostem.event.EventPtLog[source]

Bases: EventSimple

Event parser for PT_LOG events.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'PT_LOG'

Type of event this class is a parser for.

program: str

Program path as defined in the TransportPlugin configuration option.

message: str

The status message that the PT sends back to the tor parent minus the STATUS string prefix.

severity: LogSeverity

Log severity.

class aiostem.event.EventPtStatus[source]

Bases: Event

Event parser for PT_STATUS events.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'PT_STATUS'

Type of event this class is a parser for.

program: str

Program path as defined in the TransportPlugin configuration option.

transport: str

This value indicates a hint on what the PT is such as the name or the protocol used.

values: Mapping[str, str]

All keywords reported by the underlying PT plugin, such as messages, etc…

class aiostem.event.EventTransportLaunched[source]

Bases: EventSimple

Event parser for TRANSPORT_LAUNCHED events.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'TRANSPORT_LAUNCHED'

Type of event this class is a parser for.

side: Literal['client', 'server']

Which side the transport was launched for.

name: str

Name of the pluggable transport.

host: IPv4Address | IPv6Address

Host hosting the pluggable transport.

port: Annotated[int]

Associated TCP port.

Stats events

class aiostem.event.EventBandwidth[source]

Bases: EventSimple

Structure for a BW event.

Note

Documentation seems to tell that there are keyword arguments on this event but the real implementation does not show any of them. These are being ignored here for now.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'BW'

Type of event this class is a parser for.

read: int

Total amount of bytes read.

written: int

Total amount of bytes written

class aiostem.event.EventCellStats[source]

Bases: EventSimple

Structure for a CELL_STATS event.

Important

These events are only generated if TestingTorNetwork is set.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'CELL_STATS'

Type of event this class is a parser for.

circuit: Annotated[int] | None

Circuit identifier only included if the circuit originates at this node.

inbound_queue: int | None

InboundQueue is the identifier of the inbound circuit queue of this circuit.

inbound_conn_id: int | None

Locally unique IDs of inbound OR connection.

inbound_added: Annotated[Mapping[str, int]] | None

Total number of cells by cell type added to inbound queue.

inbound_removed: Annotated[Mapping[str, int]] | None

Total number of cells by cell type processed from inbound queue.

inbound_time: Annotated[Mapping[str, Annotated[timedelta]]] | None

Total waiting times in milliseconds of all processed cells by cell type.

outbound_queue: int | None

OutboundQueue is the identifier of the outbound circuit queue of this circuit.

outbound_conn_id: int | None

Locally unique IDs of outbound OR connection.

outbound_added: Annotated[Mapping[str, int]] | None

Total number of cells by cell type added to outbound queue.

outbound_removed: Annotated[Mapping[str, int]] | None

Total number of cells by cell type processed from outbound queue.

outbound_time: Annotated[Mapping[str, Annotated[timedelta]]] | None

Total waiting times in milliseconds of all processed cells by cell type.

class aiostem.event.EventClientsSeen[source]

Bases: EventSimple

Structure for a CLIENTS_SEEN event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'CLIENTS_SEEN'

Type of event this class is a parser for.

time: Annotated[datetime]

When the reported summary counts started.

countries: Annotated[Mapping[str, int]]

A map of countries seen by Tor.

ip_versions: Annotated[Mapping[str, int]]

A map of ip versions encountered.

class aiostem.event.EventTbEmpty[source]

Bases: EventSimple

Structure for a TB_EMPTY event.

Important

These events are only generated if TestingTorNetwork is set.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'TB_EMPTY'

Type of event this class is a parser for.

bucket: Literal['GLOBAL', 'RELAY', 'ORCONN']

Name of the refilled bucket that was previously empty.

conn_id: int | None

Connection ID, only included when bucket is ORCONN.

last: Annotated[timedelta]

Duration since the last refill.

read: Annotated[timedelta]

Duration that the read bucket was empty since the last refill.

written: Annotated[timedelta]

Duration that the write bucket was empty since the last refill.

Misc. events

class aiostem.event.EventConfChanged[source]

Bases: Event, ReplyGetMap

Structure for a CONF_CHANGED event.

Hint

This class behaves somehow like ReplyGetConf.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'CONF_CHANGED'

Type of event this class is a parser for.

data: Mapping[str, Sequence[str | None] | str | None]

Map of values received on this reply.

class aiostem.event.EventSignal[source]

Bases: EventSimple

Structure for a SIGNAL event.

TYPE: ClassVar[EventWordInternal | EventWord | None] = 'SIGNAL'

Type of event this class is a parser for.

signal: Signal

The signal received by Tor.

Helpers

class aiostem.event.EventUnknown[source]

Bases: Event

Structure for an unknown event.

This structure is the default fallback when no event class suits the event type the user subscribed to.

TYPE: ClassVar[EventWordInternal | EventWord | None] = None

Type of event this class is a parser for.

message: Message

Original message received for this event.

aiostem.event.event_from_message(message: Message) Event[source]

Parse an event message to the corresponding event structure.

Parameters:

message (Message) – An event message to parse.

Raises:

MessageError – When the message is not an event.

Returns:

Event – A parsed event corresponding to the event in the provided message.

Event enumeration

class aiostem.event.EventWord[source]

Bases: StrEnum

All possible events to subscribe to.

CIRC = 'CIRC'

Circuit status changed.

See also

EventCirc

STREAM = 'STREAM'

Stream status changed.

See also

EventStream

ORCONN = 'ORCONN'

OR Connection status changed.

See also

EventOrConn

BW = 'BW'

Bandwidth used in the last second.

See also

EventBandwidth

DEBUG = 'DEBUG'

Debug log message.

See also

EventLogDebug

INFO = 'INFO'

Info log message.

See also

EventLogInfo

NOTICE = 'NOTICE'

Notice log message.

See also

EventLogNotice

WARN = 'WARN'

Warning log message.

See also

EventLogWarn

ERR = 'ERR'

Error log message.

See also

EventLogErr

NEWDESC = 'NEWDESC'

New descriptors available.

See also

EventNewDesc

ADDRMAP = 'ADDRMAP'

New Address mapping.

See also

EventAddrMap

AUTHDIR_NEWDESCS = 'AUTHDIR_NEWDESCS'

Descriptors uploaded to us in our role as authoritative dirserver.

This event has been deprecated since Tor v0.3.3.1.

DESCCHANGED = 'DESCCHANGED'

Our descriptor changed.

See also

EventDescChanged

STATUS_GENERAL = 'STATUS_GENERAL'

General status event.

STATUS_CLIENT = 'STATUS_CLIENT'

Client status event.

STATUS_SERVER = 'STATUS_SERVER'

Server status event.

GUARD = 'GUARD'

Our set of guard nodes has changed.

See also

EventGuard

NS = 'NS'

Network status has changed.

STREAM_BW = 'STREAM_BW'

Bandwidth used on an application stream.

See also

EventStreamBW

CLIENTS_SEEN = 'CLIENTS_SEEN'

Per-country client stats.

See also

EventClientsSeen

NEWCONSENSUS = 'NEWCONSENSUS'

New consensus networkstatus has arrived.

BUILDTIMEOUT_SET = 'BUILDTIMEOUT_SET'

New circuit buildtime has been set.

SIGNAL = 'SIGNAL'

Signal received.

See also

EventSignal

CONF_CHANGED = 'CONF_CHANGED'

Configuration changed.

See also

EventConfChanged

CIRC_MINOR = 'CIRC_MINOR'

Circuit status changed slightly.

See also

EventCircMinor

TRANSPORT_LAUNCHED = 'TRANSPORT_LAUNCHED'

Pluggable transport launched.

CONN_BW = 'CONN_BW'

Bandwidth used on an OR or DIR or EXIT connection.

CIRC_BW = 'CIRC_BW'

Bandwidth used by all streams attached to a circuit.

See also

EventCircBW

CELL_STATS = 'CELL_STATS'

Per-circuit cell stats.

See also

EventCellStats

TB_EMPTY = 'TB_EMPTY'

Token buckets refilled.

See also

EventTbEmpty

HS_DESC = 'HS_DESC'

HiddenService descriptors.

See also

EventHsDesc

HS_DESC_CONTENT = 'HS_DESC_CONTENT'

HiddenService descriptors content.

NETWORK_LIVENESS = 'NETWORK_LIVENESS'

Network liveness has changed.

PT_LOG = 'PT_LOG'

Pluggable Transport Logs.

See also

EventPtLog

PT_STATUS = 'PT_STATUS'

Pluggable Transport Status.

See also

EventPtStatus

class aiostem.event.EventWordInternal[source]

Bases: StrEnum

All events handled internally in this library.

DISCONNECT = 'DISCONNECT'

The controller has been disconnected from Tor.

See also

EventDisconnect