Skip to main content

Crate atomr_remote

Crate atomr_remote 

Source
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 Endpoint actor.
endpoint_manager
EndpointManager.
envelope
Remote message envelope.+ Remote/RemoteEnvelope.cs.
error
Typed remote-system error.
failure_detector
Failure detector trait.
failure_detector_registry
Per-Address failure 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 for Deploy::remote.
remote_ref
RemoteActorRefImpl.
remote_watcher
RemoteWatcher.
router
Remote router config.
send_queue
Bounded outbound send-queue with OverflowStrategy. Phase 5.G of docs/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 a atomr_core::ActorSystem.
system_daemon
RemoteSystemDaemon + RemoteDeployer.
tls
TLS settings + helpers.
transport
Transport abstraction.