Skip to main content

Crate velo

Crate velo 

Source
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::discovery and 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§

GrpcConfig
Configuration for gRPC streaming transport.
InstanceId
Unique identifier for a runtime instance.
PeerInfo
Peer information combining instance ID and worker address.
TcpConfig
Configuration for TCP streaming transport.
Velo
High-level facade for the Velo distributed system.
VeloBuilder
Builder for configuring and creating a Velo instance.
WorkerAddress
Opaque worker address for discovery.
WorkerId
Deterministic 64-bit worker identifier derived from InstanceId.

Enums§

AdmissionState
Synchronously observable state of a SendAdmission.
ShutdownPolicy
Policy for how long to wait during the drain phase.
StreamConfig
Streaming transport configuration for a Velo instance.

Traits§

PeerDiscovery
Abstraction over peer discovery mechanisms.
Transport
Abstraction over a single message transport (TCP, HTTP, NATS, gRPC, …).