Expand description
atomr-remote.
Cross-process actor remoting for atomr. Two ActorSystems on
different machines (or different ports on the same machine) become
reachable from each other once each side has called
RemoteSystem::start with overlapping codecs.
use atomr_core::prelude::*;
use atomr_remote::{RemoteSettings, RemoteSystem};
let sys_a = ActorSystem::create("A", atomr_config::Config::reference()).await?;
let remote_a = RemoteSystem::start(sys_a.clone(), "127.0.0.1:0".parse()?, RemoteSettings::default()).await?;
remote_a.register_bincode::<String>();Re-exports§
pub use address_uid::AddressUid;pub use cache::LruCache;pub use chunking::Chunk;pub use chunking::ChunkError;pub use chunking::Chunker;pub use chunking::Reassembler;pub use deadline_detector::DeadlineFailureDetector;pub use endpoint::EndpointHandle;pub use endpoint::InboundEnvelope;pub use endpoint_manager::AssociationState;pub use endpoint_manager::EndpointManager;pub use envelope::RemoteEnvelope;pub use error::RemoteError;pub use error::RemoteErrorKind;pub use failure_detector::FailureDetector;pub use failure_detector_registry::FailureDetectorRegistry;pub use metrics::RemoteMetrics;pub use metrics::RemoteMetricsRow;pub use metrics::RemoteMetricsSnapshot;pub use pdu::AckInfo;pub use pdu::AkkaPdu;pub use pdu::AssociateInfo;pub use pdu::DisassociateReason;pub use pdu::PROTOCOL_VERSION;pub use phi_accrual::PhiAccrualFailureDetector;pub use provider::RemoteActorRefProvider;pub use reader_writer::spawn_reader_writer;pub use reader_writer::RawTransport;pub use reader_writer::ReaderWriterHandle;pub use remote_props::register_bincode as register_remote_props;pub use remote_props::RemotePropsError;pub use remote_props::RemotePropsRegistry;pub use remote_ref::RemoteActorRefImpl;pub use remote_watcher::RemoteWatcher;pub use router::RemoteRouterConfig;pub use router::RemoteRouterStrategy;pub use send_queue::BoundedSendQueue;pub use send_queue::SendOutcome;pub use serialization::SerializeError;pub use serialization::SerializerRegistry;pub use serialization::TypeCodec;pub use serialization::BINCODE_SERIALIZER_ID;pub use serialization::JSON_SERIALIZER_ID;pub use serialization::SYSTEM_SERIALIZER_ID;pub use settings::RemoteSettings;pub use settings::SendQueueOverflow;pub use system::RemoteSystem;pub use system_daemon::LocalDispatch;pub use system_daemon::RemoteDeployer;pub use system_daemon::RemoteSystemDaemon;pub use tls::parse_pem_blocks;pub use tls::TlsConfig;pub use tls::TlsError;pub use transport::AkkaProtocolTransport;pub use transport::FailureInjectorTransport;pub use transport::InboundFrame;pub use transport::InjectionMode;pub use transport::TcpTransport;pub use transport::TestTransport;pub use transport::ThrottleMode;pub use transport::ThrottleTransport;pub use transport::Transport;pub use transport::TransportError;
Modules§
- acked_
delivery - Reliable sliding-window delivery.
- address_
uid AddressUidExtension.- cache
- Bounded LRU caches used by the remoting hot paths.
- chunking
- Message chunking for payloads that exceed
maximum-frame-size. - codec
- Length-prefixed framing for
AkkaPdu. - deadline_
detector - Deadline failure detector.
- endpoint
- Per-association
Endpointactor. - endpoint_
manager EndpointManager.- envelope
- Remote message envelope.+
Remote/RemoteEnvelope.cs. - error
- Typed remote-system error.
- failure_
detector - Failure detector trait.
- failure_
detector_ registry - Per-
Addressfailure detector registry. - metrics
- Remote metrics extension.
- pdu
- Akka protocol data units.
- phi_
accrual - Phi accrual failure detector. Straight port of the math from which itself ports Hayashibara’s algorithm.
- provider
RemoteActorRefProvider.- reader_
writer - Reader/writer task split helpers.
- remote_
props RemoteProps— typed Props serialization forDeploy::remote.- remote_
ref RemoteActorRefImpl.- remote_
watcher RemoteWatcher.- router
- Remote router config.
- send_
queue - Bounded outbound send-queue with
OverflowStrategy. Phase 5.G ofdocs/full-port-plan.md. - serialization
- Pluggable serializer registry for remote payloads. Core.
- settings
RemoteSettings.- system
RemoteSystem— convenience wrapper that builds and wires up the whole remoting stack on top of aatomr_core::ActorSystem.- system_
daemon RemoteSystemDaemon+RemoteDeployer.- tls
- TLS settings + helpers.
- transport
- Transport abstraction.