Expand description
§thespis_impl
The reference implementation of the thespis actor model
This crate implements the traits from the thespis crate. It provides what you need to use actors.
Please check out the guide level documentation.
§Table of Contents
§Install
With cargo add:
cargo add thespis_impl
With cargo yaml:
dependencies:
thespis_impl: ^0.3In Cargo.toml:
[dependencies]
thespis_impl = "0.3"§Upgrade
Please check out the changelog when upgrading.
§Dependencies
This crate has few dependencies. Cargo will automatically handle it’s dependencies for you.
§Security
It is recommended to always use cargo-crev to verify the trustworthiness of each of your dependencies, including this one.
This crate has #![forbid(unsafe_code)], but our dependencies do use unsafe.
§Usage
Please check out the guide level documentation and the examples in the repository.
§API
API documentation can be found on docs.rs.
§Contributing
Please check out the contribution guidelines.
§Testing
cargo test --all-features.
§Code of conduct
Any of the behaviors described in point 4 “Unacceptable Behavior” of the Citizens Code of Conduct are not welcome here and might get you banned. If anyone, including maintainers and moderators of the project, fail to respect these/your limits, you are entitled to call them out.
§License
Structs§
- Actor
Builder - Builder for Addr and Mailbox. This is a convenience API so you don’t have to call their constructors manually. Mainly lets you set the channel and name for your mailbox.
- Actor
Info - Information about an actor, id, name and type_name. It implements
Identify. Can also generate a span for tracing. - Addr
- Reference implementation of
thespis::Address<M>. It can be used to send all message types the actor implementsthespis::Handlerfor. - Mailbox
- The mailbox implementation.
- Weak
Addr - This is an address with similar functionality as
Addr, but it does not keep the mailbox alive.
Enums§
- Mailbox
End - Type returned to you by the mailbox when it ends. Await the JoinHandle returned by the executor to retrieve this.
- ThesErr
- Errors that can happen in thespis_impl.
Constants§
- BOUNDED
- Default buffer size for bounded channel between Addr and Mailbox.
Traits§
- Clone
Sink - Interface for
T: Sink + Clone + Unpin + Send. This is object safe, so you can clone on a boxed trait. In thespis_impl it is used for the channel sender that goes in the actor address. - Clone
Sink Ext - Helper trait to smoothen API for converting a
T:CloneSinkintoChanSender, which isBox< dyn CloneSink<'static, BoxEnvelope<A>, DynError> >. - SinkExt
- An extension trait for
Sinks that provides a variety of convenient combinator functions.
Functions§
- dyn_err
- Turn into a boxed error
Type Aliases§
- BoxEnvelope
- Shorthand for a
Sendboxed envelope. - Chan
Receiver - Type of boxed channel receiver for Mailbox.
- Chan
Sender - Type of boxed channel sender for Addr.
Can be created conveniently with
CloneSinkExt::dyned, but that is rarely needed as you can use theActorBuilderto override default channels. - DynError
- A boxed error type for the sink
- ThesRes
- Result which has a ThesErr as error type.