Expand description
atomr-remote. akka.net: src/core/Akka.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>();§Module map
| Akka.NET | atomr |
|---|---|
Akka.Remote.RemoteSettings | settings::RemoteSettings |
Akka.Remote.AddressUidExtension | address_uid::AddressUid |
Akka.Remote.Transport.Transport | transport::Transport |
Akka.Remote.Transport.DotNetty.TcpTransport | transport::TcpTransport |
Akka.Remote.Transport.AkkaProtocolTransport | transport::AkkaProtocolTransport |
Akka.Remote.Transport.ThrottleTransportAdapter | transport::ThrottleTransport |
Akka.Remote.Transport.FailureInjectorTransportAdapter | transport::FailureInjectorTransport |
Akka.Remote.Transport.TestTransport | transport::TestTransport |
Akka.Remote.EndpointManager | endpoint_manager::EndpointManager |
Akka.Remote.Endpoint (Reader+Writer) | endpoint::EndpointHandle |
Akka.Remote.Transport.AckedDelivery | acked_delivery |
Akka.Remote.RemoteActorRef | remote_ref::RemoteActorRefImpl |
Akka.Remote.RemoteActorRefProvider | provider::RemoteActorRefProvider |
Akka.Remote.RemoteSystemDaemon | system_daemon::RemoteSystemDaemon |
Akka.Remote.RemoteDeployer | system_daemon::RemoteDeployer |
Akka.Remote.RemoteWatcher | remote_watcher::RemoteWatcher |
Akka.Remote.RemoteMetricsExtension | metrics::RemoteMetrics |
Akka.Remote.DefaultFailureDetectorRegistry | failure_detector_registry::FailureDetectorRegistry |
Akka.Remote.Routing.RemoteRouterConfig | router::RemoteRouterConfig |
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. akka.net:
Remote/Transport/AckedDelivery.cs. - address_
uid AddressUidExtension. akka.net:Remote/AddressUidExtension.cs.- 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. akka.net:Remote/Transport/Codec. - deadline_
detector - Deadline failure detector. akka.net:
Remote/DeadlineFailureDetector.cs. - endpoint
- Per-association
Endpointactor. akka.net:Remote/EndpointWriter.cs,Remote/EndpointReader.cs,Remote/Endpoint.cs. - endpoint_
manager EndpointManager. akka.net:Remote/EndpointManager.cs.- envelope
- Remote message envelope. akka.net:
Remote/MessageSerializer.cs+Remote/RemoteEnvelope.cs. - error
- Typed remote-system error.
- failure_
detector - Failure detector trait. akka.net:
Remote/FailureDetector.cs. - failure_
detector_ registry - Per-
Addressfailure detector registry. akka.net:Remote/FailureDetectorRegistry.cs,Remote/DefaultFailureDetectorRegistry.cs. - metrics
- Remote metrics extension.
akka.net:
Remote/RemoteMetricsExtension.cs. - pdu
- Akka protocol data units. akka.net:
Remote/Transport/AkkaPduCodec.cs. - phi_
accrual - Phi accrual failure detector. Straight port of the math from
akka.net’s
Remote/PhiAccrualFailureDetector.cs, which itself ports Hayashibara’s algorithm. - provider
RemoteActorRefProvider. akka.net:Remote/RemoteActorRefProvider.cs.- reader_
writer - Reader/writer task split helpers.
- remote_
props RemoteProps— typed Props serialization forDeploy::remote.- remote_
ref RemoteActorRefImpl. akka.net:Remote/RemoteActorRef.cs.- remote_
watcher RemoteWatcher. akka.net:Remote/RemoteWatcher.cs.- router
- Remote router config. akka.net:
Remote/Routing/RemoteRouterConfig.cs. - send_
queue - Bounded outbound send-queue with
OverflowStrategy. Phase 5.G ofdocs/full-port-plan.md. - serialization
- Pluggable serializer registry for remote payloads.
akka.net:
Remote/Serialization/MessageSerializer.cs+Akka.Serializationcore. - settings
RemoteSettings. akka.net:Remote/RemoteSettings.cs.- system
RemoteSystem— convenience wrapper that builds and wires up the whole remoting stack on top of aatomr_core::ActorSystem.- system_
daemon RemoteSystemDaemon+RemoteDeployer. akka.net:Remote/RemoteSystemDaemon.cs,Remote/RemoteDeployer.cs,Remote/RemoteDeploymentWatcher.cs.- tls
- TLS settings + helpers.
- transport
- Transport abstraction. akka.net:
Remote/Transport/Transport.cs.