Module overclock::core

source ·
Expand description

Overclock core functionality

Structs

AbortHandle used to abort Abortable
Sync AbortRegistration, should only be used within the actor lifecycle.
A future/stream which can be remotely short-circuited using an AbortHandle.
Abortable tokio bounded mpsc channel implementation
Abortable bounded handle
Abortable bounded inbox.
Abortable tokio unbounded mpsc channel implementation
Abortable unbounded handle
Abortable unbounded inbox, it returns None if the actor/channel got aborted
An actor’s error which contains an optional request for the supervisor
A tokio bounded mpsc channel implementation
Bounded handle
Bounded inbox
Cleanup self data struct
Data for given T: resource, along with subscribers
InitializedRx signal receiver
A tokio IntervalStream channel implementation, which emit Instants
Interval channel’s handle, can be used to abort the interval channel
IoChannel(Stream/AsyncRead/AsyncWrite/fut) wrapper
IoChannel’s handle
Helper struct, to traverse the supervision tree and locate the scope id
Marker struct useful to propagate bounds through the Supervisor generic
Null channel
Null handle, note: invoking abort will abort the manually defined abortable future/streams in the actor’s run lifecycle (if any)
Null Inbox
Null supervisor, with no-ops
Overclock partition count, default is the thread count
PROMETHEUS REGISTRY, used by overclock to register metrics
The actor’s local context
Overclock runtime, spawn the root actor, and server (if enabled)
Array of Partitioned Scopes
The allowed scope_id range
The Actor’s Scope, acts as global context for the actor.
An actor’s service metrics
The microservices scopes ids iterator
A TCP socket server, listening for connections.
Tcp listener handle, for tokio TcpListenerStream channel
A wrapper around TcpListener that implements Stream.
A tokio unbounded mpsc channel implementation
Unbounded handle
Unbounded inbox of unbounded channel
Visible global resources, todo add the dir name

Enums

Actor shutdown error reason.
Pushed event for a dynamic resources
The possible statuses a service (application) can be
Subscriber variants

Traits

The all-important Actor trait. This defines an Actor and what it do.
ActorResult extension trait
Defines a channel which becomes a sender and receiver half
Channel builder trait, to be implemented on the actor type
Cleanup/unsubscribe from other
Cleanup resource from self scope
A data structure that can be deserialized from any data format supported by Serde.
Resource blanket trait, forces Clone + Send + Sync + ’static bounds on any resource
Dynamic route as trait object, should be implemented on the actor’s handle
A data structure that can be serialized into any data format supported by Serde.
Ideally it should be implemented using proc_macro on the event type
Shutdown contract , should be implemented on the handle
Defines the Shutdown event variant
An extension trait for Streams that provides a variety of convenient combinator functions.
The sup handle which supervise T: Actor

Type Definitions

The returned result by the actor
The actor level position in the supervision tree
Partitioned Scopes RwLock hashmap
Unique Identifier for the resource, provided by the subscriber.
The actor’s unique scope id

Derive Macros