Expand description
To get all kompact related things into scope import as use kompact::prelude::*
.
Re-exports
pub use crate::component::Component;
pub use crate::component::ComponentContext;
pub use crate::component::ComponentDefinition;
pub use crate::component::ComponentDefinitionAccess;
pub use crate::component::ComponentLifecycle;
pub use crate::component::ComponentLogging;
pub use crate::component::CoreContainer;
pub use crate::component::DynamicPortAccess;
pub use crate::component::ExecuteResult;
pub use crate::component::Handled;
pub use crate::component::LockingProvideRef;
pub use crate::component::LockingRequireRef;
pub use crate::component::Provide;
pub use crate::component::ProvideRef;
pub use crate::component::Require;
pub use crate::component::RequireRef;
pub use crate::net::buffers::BufferConfig;
pub use crate::net::buffers::ChunkLease;
pub use crate::net::buffers::ChunkRef;
pub use crate::net::SessionId;
pub use crate::runtime::KompactConfig;
pub use crate::runtime::KompactSystem;
pub use crate::runtime::SystemHandle;
pub use crate::Never;
pub use crate::default_components::CustomComponents;
pub use crate::default_components::DeadletterBox;
pub use crate::default_components::LocalDispatcher;
pub use crate::messaging::DispatchEnvelope;
pub use crate::messaging::MsgEnvelope;
pub use crate::messaging::NetMessage;
pub use crate::messaging::PathResolvable;
pub use crate::messaging::RegistrationError;
pub use crate::messaging::RegistrationResult;
pub use crate::messaging::Serialised;
pub use crate::messaging::UnpackError;
pub use crate::routing::groups::StorePolicy;
Modules
- Serialisation helper functions
- A module with helper functions for serialisation tests
- Provides serialisation support for Serde
- Contains constants with internal serialisation ids.
Macros
- Log critical level record
- Log debug level record
- Log error level record
- ignore_controlDeprecatedA macro that provides an empty implementation of ComponentLifecycle for the given component
- A macro that provides an empty implementation of the required handler for the given
$port
on the given$component
- A macro that provides an empty implementation of ComponentLifecycle for the given component
- A macro that provides an empty implementation of the provided handler for the given
$port
on the given$component
- Log info level record
- A macro that provides an implementation of ComponentLifecycle for the given component that logs the lifecycle stages at INFO log level.
- A macro to make matching serialisation ids and deserialising easier
- Macro for building group of key-value pairs:
OwnedKV
- Log trace level record
- Log warning level record
Structs
- A reference to an actor with
type Message = M;
- A version of ActorRef that prevents the target from being deallocated
- A message type for request-response messages.
- Errors that can occur when trying to disconnect a channel
- A kind of actor reference that only allows network messages to be sent
- Information about the fault that occurred
Drain
panicking on error- A custom future implementation, that can be fulfilled via its paired promise.
- A custom promise implementation, that can be used to fulfil its paired future.
- Logging handle used to execute logging statements
- A named actor path identifies a service, rather than a concrete actor instance
- Configuration builder for the network dispatcher
- A network-capable dispatcher for sending messages to remote actors
- A port providing `NetworkStatusUpdates´ to listeners.
- An instance of a port type
P
that is marked as provided - A reference to a provided port
- The channel resulting from a call to connect_to_required
- Instructions on how to recover from a component fault
- An instance of a port type
P
that is marked as required - A reference to a required port
- The channel resulting from a call to connect_to_provided
- Opaque reference to a scheduled instance of a timer
- A data type equivalent to a pair of value and a serialiser for it
- The part of an ActorPath that refers to the KompactSystem
- The channel resulting from a call to biconnect_components
- A unique actor path identifies a concrete instance of an actor
- A generic type for request-response messages with a Recipient as actor reference
- A generic type for request-response messages
- A generic type for request-response messages with a strong actor reference
Enums
- An actor path is a serialisable, possibly remote reference to an actor
- Information regarding changes to the systems connections to remote systems
- Sent by Actors and Components to request information about the Network
- Error type for parsing paths from a string
- An error returned when a promise can’t be fulfilled.
- Errors that can be thrown during serialisation or deserialisation
- Transport protocol to use for delivering messages sent to an ActorPath
- This error type is returned when on
on_dual_definition
fails, indicating that a proper lock could not be established on both components. - A non-generic version of sync::TryLockError
Traits
- A slightly higher level Actor API that handles both local and networked messages
- A factory trait for things that have associated actor paths
- The base trait for all actors
- A trait for things that have associated actor references
- A trait to emulate dynamic typing.
- Read bytes from a buffer.
- A trait for values that provide sequential write access to bytes.
- API for cancelling timers
- Common functionality for all channel types
- Anything that can be completed without providing a value.
- A trait for values that can get deserialised themselves
- A trait to deserialise values of type
T
from buffers - A dispatcher is a system component that knows how to route messages and create system paths
- A trait for accessing dispatcher references
- Logging drain
- A trait for things that can deal with network messages
- Used to do value-to-value conversions while consuming the input value. It is the reciprocal of
Into
. - Anything that can be fulfilled with a value of type
T
. - Convenience methods for collections containing futures
- Convenience methods for collections containing future results
- A value-to-value conversion that consumes the input value. The opposite of
From
. - Additional iterator functions
- Just a trait alias hack to avoid constantly writing
Debug+Send+'static
- A trait for actors that handle the same set of messages locally and remotely
- A Kompact port specifies the API of an abstraction
- A factory trait for recipients
- A marker trait for messags that expect a response
- A trait to retrieve a
SerId
from a buffer. - A trait to put a
SerId
into a mutable buffer. - A trait that allows to determine the number of bytes in a
SerId
. - A trait for values that can serialise themselves into a buffer
- A trait that acts like a stable
TypeId
for serialisation - A trait for types that can serialise data of type
T
- Methods for things that contain a SystemPath
- API exposed within a component by a timer implementation
- A factory trait to produce instances of TimerRef
- A fallable version of the
Clone
trait
Functions
- Connect two components on their instances of port type
P
. - Connect two port instances.
- Run a future to completion on the current thread.
- Blocks the current waiting for
f
to be completed or for thetimeout
to expire - Applies function
f
to the component definitions ofc1
andc2
, while holding both mutexes. - Produces a new
KPromise
/KFuture
pair.
Type Definitions
- The type of actor references for dispatcher implementations
- Type alias for the concrete implementation of serialisation ids.
Derive Macros
- A macro to derive empty actor implementations
- A macro to derive fair ComponentDefinition implementations