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