Expand description
§Velo
Active messaging runtime for Velo distributed systems. Wraps Messenger
with builder sugar for discovery wiring and re-exports the full public API.
Out-of-tree implementors of Transport, crate::streaming::FrameTransport,
PeerDiscovery, or crate::discovery::ServiceDiscovery should depend
on the smaller velo_ext crate instead of velo. Everything that lives
here is the runtime and concrete impls.
Re-exports§
pub use crate::messenger::Admitted;pub use crate::messenger::AmHandlerBuilder;pub use crate::messenger::AmSendBuilder;pub use crate::messenger::AmSyncBuilder;pub use crate::messenger::AsyncExecutor;pub use crate::messenger::Context;pub use crate::messenger::DispatchMode;pub use crate::messenger::FireResult;pub use crate::messenger::Handler;pub use crate::messenger::HandlerExecutor;pub use crate::messenger::Messenger;pub use crate::messenger::MessengerBuilder;pub use crate::messenger::OrderedConfig;pub use crate::messenger::OrderingKey;pub use crate::messenger::OverflowPolicy;pub use crate::messenger::SyncExecutor;pub use crate::messenger::SyncResult;pub use crate::messenger::TypedContext;pub use crate::messenger::TypedUnaryBuilder;pub use crate::messenger::TypedUnaryHandlerBuilder;pub use crate::messenger::TypedUnaryResult;pub use crate::messenger::UnaryBuilder;pub use crate::messenger::UnaryHandlerBuilder;pub use crate::messenger::UnaryResult;pub use crate::messenger::UnifiedResponse;pub use crate::messenger::VeloEvents;pub use crate::events::Event;pub use crate::events::EventAwaiter;pub use crate::events::EventBackend;pub use crate::events::EventHandle;pub use crate::events::EventManager;pub use crate::events::EventPoison;pub use crate::events::EventStatus;pub use crate::streaming::AnchorManager;pub use crate::streaming::AttachError;pub use crate::streaming::SendError;pub use crate::streaming::StreamAnchor;pub use crate::streaming::StreamAnchorHandle;pub use crate::streaming::StreamController;pub use crate::streaming::StreamError;pub use crate::streaming::StreamFrame;pub use crate::streaming::StreamSender;pub use crate::rendezvous::DataHandle;pub use crate::rendezvous::DataMetadata;pub use crate::rendezvous::RegisterOptions;pub use crate::rendezvous::RendezvousManager;pub use crate::rendezvous::RendezvousWrite;pub use crate::rendezvous::StageMode;pub use crate::rendezvous::write::RdmaDestination;pub use crate::observability::VeloMetrics;pub use velo_ext as ext;
Modules§
- discovery
- Discovery backends. Trait definitions live in
velo_ext::discoveryand are re-exported here for backwards compatibility while the workspace migrates to the two-crate (velo+velo-ext) layout. - events
- messenger
- Velo Messenger
- observability
- Shared observability support for Velo.
- queue
- velo-queue
- rendezvous
- Rendezvous data staging and large payload transfer for velo.
- streaming
- Typed exclusive-attachment streaming abstraction over the velo transport.
- transports
- Multi-transport active message routing framework.
Structs§
- Grpc
Config - Configuration for gRPC streaming transport.
- Instance
Id - Unique identifier for a runtime instance.
- Peer
Info - Peer information combining instance ID and worker address.
- TcpConfig
- Configuration for TCP streaming transport.
- Velo
- High-level facade for the Velo distributed system.
- Velo
Builder - Builder for configuring and creating a
Veloinstance. - Worker
Address - Opaque worker address for discovery.
- Worker
Id - Deterministic 64-bit worker identifier derived from InstanceId.
Enums§
- Admission
State - Synchronously observable state of a
SendAdmission. - Shutdown
Policy - Policy for how long to wait during the drain phase.
- Stream
Config - Streaming transport configuration for a
Veloinstance.
Traits§
- Peer
Discovery - Abstraction over peer discovery mechanisms.
- Transport
- Abstraction over a single message transport (TCP, HTTP, NATS, gRPC, …).