Skip to main content

Crate kompact_net

Crate kompact_net 

Source

Re-exports§

pub use kompact::executors;

Modules§

actors
component
Traits and structs for component API and internals
config
Utilities for working with Kompact configuration keys and values
default_components
Default implementations for system components
dispatch
lookup
Data structures for looking up the dispatch/routing table.
messaging
Facilities and utilities for dealing with network messages Messaging types for sending and receiving messages between remote actors.
net
net_test_helpers
A module with helper functions for testing network configurations/implementations
prelude
routing
Facilities for routing messages
runtime
Kompact system runtime facilities, such as configuration and schedulers
ser_helpers
Serialisation helper functions
ser_test_helpers
A module with helper functions for serialisation tests
serialisation_ids
Contains constants with internal serialisation ids.
timer
Reusable timer facility internals

Macros§

crit
Log critical level record
debug
Log debug level record
error
Log error level record
ignore_controlDeprecated
A macro that provides an empty implementation of ComponentLifecycle for the given component
ignore_indications
A macro that provides an empty implementation of the required handler for the given $port on the given $component
ignore_lifecycle
A macro that provides an empty implementation of ComponentLifecycle for the given component
ignore_requests
A macro that provides an empty implementation of the provided handler for the given $port on the given $component
info
Log info level record
info_lifecycle
A macro that provides an implementation of ComponentLifecycle for the given component that logs the lifecycle stages at INFO log level.
match_deser
A macro to make matching serialisation ids and deserialising easier
o
Macro for building group of key-value pairs: OwnedKV
trace
Log trace level record
warn
Log warning level record

Structs§

ActorRef
A reference to an actor with type Message = M;
ActorRefStrong
A version of ActorRef that prevents the target from being deallocated
Ask
A message type for request-response messages.
BufferConfig
The configuration for the network buffers
ChunkLease
A ChunkLease is a smart-pointer to a byte-slice, implementing Buf and BufMut interfaces. They are created with one or many distinct slices of BufferChunks and holds a lock preventing the data in the byte-slice(s) from being modified until the ChunkLease is dropped.
ChunkRef
A ChunkRef is created from a ChunkLease, or from a ChunkRef and a ChunkLease. It is immutable and may be cloned and shared and chained with many other ChunkRefs.
Component
A concrete component instance
ComponentContext
The contextual object for a Kompact component
ComponentDefinitionAccess
Gives access to the component definition within a future/async function
ComponentFault
A component-local fault produced by a handler.
CustomComponents
A wrapper for custom system components
DeadletterBox
The default deadletter box
DisconnectError
Errors that can occur when trying to disconnect a channel
DispatchingPath
A temporary combination of an ActorPath and something that can dispatch stuff.
DynActorRef
A kind of actor reference that only allows network messages to be sent
ExecuteResult
Statistics about the last invocation of execute.
FaultContext
Information about the fault that occurred
Fuse
Drain panicking on error
KFuture
A custom future implementation, that can be fulfilled via its paired promise.
KPromise
A custom promise implementation, that can be used to fulfil its paired future.
KompactConfig
A configuration builder for Kompact systems
KompactSystem
A Kompact system is a collection of components and services
LocalDispatcher
The default non-networked dispatcher
Logger
Logging handle used to execute logging statements
NamedPath
A named actor path identifies a service, rather than a concrete actor instance
NetMessage
An incoming message from the distributed dispatch subsystem
NetworkConfig
Configuration builder for the network dispatcher
NetworkDispatcher
A network-capable dispatcher for sending messages to remote actors
NetworkStatusPort
A port providing NetworkStatus updates to listeners.
ProvidedPort
An instance of a port type P that is marked as provided
ProvidedRef
A reference to a provided port
ProviderChannel
The channel resulting from a call to connect_to_required
Recipient
A version of ActorRef that automatically converts M into some M' as specified by the actor that created the Recipient from its own ActorRef.
RecoveryHandler
Instructions on how to recover from a component fault
RequiredPort
An instance of a port type P that is marked as required
RequiredRef
A reference to a required port
RequirerChannel
The channel resulting from a call to connect_to_provided
ScheduledTimer
Opaque reference to a scheduled instance of a timer
SerError
Errors that can be thrown during serialisation or deserialisation.
SerialisableValue
A data type equivalent to a pair of value and a serialiser for it
Serialised
Wrapper for serialised data with a serialisation id
SessionId
Session identifier, part of the NetMessage struct.
ShutdownError
Error returned when a Kompact system fails to shut down.
StorePolicy
Cloneable RoutingPolicy wrapper used inside the ActorStore
SystemPath
The part of an ActorPath that refers to the KompactSystem
TwoWayChannel
The channel resulting from a call to biconnect_components
UniquePath
A unique actor path identifies a concrete instance of an actor
WithRecipient
A generic type for request-response messages with a Recipient as actor reference
WithSender
A generic type for request-response messages
WithSenderStrong
A generic type for request-response messages with a strong actor reference

Enums§

ActorPath
An actor path is a serialisable, possibly remote reference to an actor
DispatchEnvelope
Envelope with messages for the system’sdispatcher
Fault
The source of a component fault.
Handled
State transition indication at the end of a message or event handler.
HandlerError
An abnormal result returned from a component handler.
MsgEnvelope
A message that is accepted by an actor’s mailbox
NetworkStatus
Information regarding changes to remote connectivity for a distributed system.
NetworkStatusRequest
Requests for transport-specific network status operations.
PathParseError
Error type for parsing paths from a string
PathResolvable
Something that can resolved to some kind of path by the dispatcher
PromiseErr
An error returned when a promise can’t be fulfilled.
RegistrationError
An error that can occur during actor path registration
SerErrorKind
Stable categories for serialisation and deserialisation failures.
Transport
Transport protocol to use for delivering messages sent to an ActorPath
TryDualLockError
This error type is returned when on on_dual_definition fails, indicating that a proper lock could not be established on both components.
TryLockError
A non-generic version of sync::TryLockError
UnpackError
An error that is thrown when deserialisation of a NetMessage is attempted.

Traits§

Actor
A slightly higher level Actor API that handles local messages, and optionally distributed ones
ActorPathFactory
A factory trait for things that have associated actor paths.
ActorRaw
The base trait for all actors
ActorRefFactory
A trait for things that have associated actor references
Any
A trait to emulate dynamic typing.
BlockingFutureExt
Extension methods for blocking on futures from synchronous code.
Buf
Read bytes from a buffer.
BufMut
A trait for values that provide sequential write access to bytes.
CanCancelTimers
API for cancelling timers
Channel
Common functionality for all channel types
Completable
Anything that can be completed without providing a value.
ComponentDefinition
The core trait every component must implement
ComponentLifecycle
A trait to customise handling of lifecycle events
ComponentLogging
An abstraction over providers of Kompact loggers
CoreContainer
A trait for abstracting over structures that contain a component core
Deserialisable
A trait for values that can get deserialised themselves
Deserialiser
A trait to deserialise values of type T from buffers
Dispatcher
A dispatcher is a system component that knows how to route messages and create system paths
Dispatching
A trait for accessing dispatcher references
DistributedSystemHandle
Distributed-only extensions for a SystemHandle.
Drain
Logging drain
DynActorRefFactory
A trait for things that can deal with network messages
DynamicPortAccess
A mechanism for dynamically getting references to provided/required ports from a component.
From
Used to do value-to-value conversions while consuming the input value. It is the reciprocal of Into.
Fulfillable
Anything that can be fulfilled with a value of type T.
FutureCollection
Convenience methods for collections containing futures
FutureResultCollection
Convenience methods for collections containing future results
HandlerResultExt
Extension helpers for classifying fallible results in component handlers.
Into
A value-to-value conversion that consumes the input value. The opposite of From.
IterExtras
Additional iterator functions
LockingProvideRef
Same as ProvideRef, but for instances that must be locked first
LockingRequireRef
Same as RequireRef, but for instances that must be locked first
MessageBounds
Just a trait alias hack to avoid constantly writing Debug+Send+'static
NetworkActor
A trait for actors that handle the same set of messages locally and remotely
NetworkSystemExt
Port
A Kompact port specifies the API of an abstraction
Provide
A trait implementing handling of provided events of P
ProvideRef
A convenience abstraction over concrete port instance fields
Receiver
A factory trait for recipients
Request
A marker trait for messags that expect a response
Require
A trait implementing handling of required events of P
RequireRef
A convenience abstraction over concrete port instance fields
SerIdBuf
A trait to retrieve a SerId from a buffer.
SerIdBufMut
A trait to put a SerId into a mutable buffer.
SerIdSize
A trait that allows to determine the number of bytes in a SerId.
Serialisable
A trait for values that can serialise themselves into a buffer
SerialisationId
A trait that acts like a stable TypeId for serialisation
Serialiser
A trait for types that can serialise data of type T
SystemField
Methods for things that contain a SystemPath
SystemHandle
A limited version of a KompactSystem
Timer
API exposed within a component by a timer implementation
TimerRefFactory
A factory trait to produce instances of TimerRef
TryClone
A fallable version of the Clone trait

Functions§

biconnect_components
Connect two components on their instances of port type P.
biconnect_ports
Connect two port instances.
block_on
Run a future to completion on the current thread.
block_until
Blocks the current waiting for f to be completed or for the timeout to expire
deserialise_chunk_lease
Extracts a NetMessage from the provided buffer
on_dual_definition
Applies function f to the component definitions of c1 and c2, while holding both mutexes.
promise
Produces a new KPromise/KFuture pair.

Type Aliases§

DispatcherRef
The type of actor references for dispatcher implementations
HandlerResult
The result returned from component handlers.
KompactLogger
A simple type alias Kompact’s slog Logger type signature.
Never
A more readable placeholder for a stable Never (!) type.
RegistrationResult
Convenience alias for the result of a path registration attempt
SerId
Type alias for the concrete implementation of serialisation ids.

Derive Macros§

Actor
A macro to derive empty actor implementations
ComponentDefinition
A macro to derive fair ComponentDefinition implementations