pub struct FileControlPlane { /* private fields */ }Expand description
Durable control-plane implementation for one shared deployment directory.
Every operation takes an operating-system file lock, reloads validated state, applies one contract operation, and atomically persists the result. The deployment directory is the authentication and isolation boundary and is created with owner-only permissions on Unix.
Implementations§
Source§impl FileControlPlane
impl FileControlPlane
Sourcepub fn open(
root: impl Into<PathBuf>,
retention_ms: u64,
) -> ControlPlaneResult<Self>
pub fn open( root: impl Into<PathBuf>, retention_ms: u64, ) -> ControlPlaneResult<Self>
Opens or creates a durable reference control plane.
Sourcepub fn with_clock(
root: impl Into<PathBuf>,
retention_ms: u64,
clock: Arc<dyn Clock>,
) -> ControlPlaneResult<Self>
pub fn with_clock( root: impl Into<PathBuf>, retention_ms: u64, clock: Arc<dyn Clock>, ) -> ControlPlaneResult<Self>
Opens a control plane using an explicit authoritative server clock.
Sourcepub fn state_path(&self) -> &Path
pub fn state_path(&self) -> &Path
Returns the durable state path.
Sourcepub fn retention_ms(&self) -> u64
pub fn retention_ms(&self) -> u64
Returns the presence retention window in milliseconds.
Sourcepub fn backup_to(&self, destination: impl AsRef<Path>) -> ControlPlaneResult<()>
pub fn backup_to(&self, destination: impl AsRef<Path>) -> ControlPlaneResult<()>
Creates an integrity-validated point-in-time state backup.
Sourcepub fn restore_from(&self, source: impl AsRef<Path>) -> ControlPlaneResult<()>
pub fn restore_from(&self, source: impl AsRef<Path>) -> ControlPlaneResult<()>
Replaces state from a validated backup.
Trait Implementations§
Source§impl Clone for FileControlPlane
impl Clone for FileControlPlane
Source§fn clone(&self) -> FileControlPlane
fn clone(&self) -> FileControlPlane
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl ControlPlaneProvider for FileControlPlane
impl ControlPlaneProvider for FileControlPlane
Source§fn register<'a>(
&'a self,
registration: CoreRegistration,
) -> ControlPlaneFuture<'a, CorePresence>
fn register<'a>( &'a self, registration: CoreRegistration, ) -> ControlPlaneFuture<'a, CorePresence>
Registers a running core.
Source§fn heartbeat<'a>(
&'a self,
request: HeartbeatRequest,
) -> ControlPlaneFuture<'a, HeartbeatResponse>
fn heartbeat<'a>( &'a self, request: HeartbeatRequest, ) -> ControlPlaneFuture<'a, HeartbeatResponse>
Reports liveness and current mode.
Source§fn discover_peers<'a>(
&'a self,
identity: &'a CoreIdentity,
) -> ControlPlaneFuture<'a, PeerDirectory>
fn discover_peers<'a>( &'a self, identity: &'a CoreIdentity, ) -> ControlPlaneFuture<'a, PeerDirectory>
Discovers compatible peers.
Source§fn acquire_or_renew_service_lease<'a>(
&'a self,
identity: &'a CoreIdentity,
service_id: &'a ServiceId,
ttl_ms: u64,
_client_now_ms: u64,
) -> ControlPlaneFuture<'a, ServiceLeaderLease>
fn acquire_or_renew_service_lease<'a>( &'a self, identity: &'a CoreIdentity, service_id: &'a ServiceId, ttl_ms: u64, _client_now_ms: u64, ) -> ControlPlaneFuture<'a, ServiceLeaderLease>
Acquires or renews leadership independently for one service.
Source§fn release_service_lease<'a>(
&'a self,
lease: ServiceLeaderLease,
) -> ControlPlaneFuture<'a, ()>
fn release_service_lease<'a>( &'a self, lease: ServiceLeaderLease, ) -> ControlPlaneFuture<'a, ()>
Releases leadership for one service.
Source§fn register_traced<'a>(
&'a self,
registration: CoreRegistration,
_trace: Option<&'a TraceContext>,
) -> Pin<Box<dyn Future<Output = Result<CorePresence, ControlPlaneError>> + Send + 'a>>
fn register_traced<'a>( &'a self, registration: CoreRegistration, _trace: Option<&'a TraceContext>, ) -> Pin<Box<dyn Future<Output = Result<CorePresence, ControlPlaneError>> + Send + 'a>>
Registers a core while propagating trace context when supported.
Source§fn heartbeat_traced<'a>(
&'a self,
request: HeartbeatRequest,
_trace: Option<&'a TraceContext>,
) -> Pin<Box<dyn Future<Output = Result<HeartbeatResponse, ControlPlaneError>> + Send + 'a>>
fn heartbeat_traced<'a>( &'a self, request: HeartbeatRequest, _trace: Option<&'a TraceContext>, ) -> Pin<Box<dyn Future<Output = Result<HeartbeatResponse, ControlPlaneError>> + Send + 'a>>
Sends a heartbeat while propagating trace context when supported.
Source§fn discover_peers_traced<'a>(
&'a self,
identity: &'a CoreIdentity,
_trace: Option<&'a TraceContext>,
) -> Pin<Box<dyn Future<Output = Result<PeerDirectory, ControlPlaneError>> + Send + 'a>>
fn discover_peers_traced<'a>( &'a self, identity: &'a CoreIdentity, _trace: Option<&'a TraceContext>, ) -> Pin<Box<dyn Future<Output = Result<PeerDirectory, ControlPlaneError>> + Send + 'a>>
Discovers peers while propagating trace context when supported.
Source§fn acquire_or_renew_service_lease_traced<'a>(
&'a self,
identity: &'a CoreIdentity,
service_id: &'a ServiceId,
ttl_ms: u64,
now_ms: u64,
_trace: Option<&'a TraceContext>,
) -> Pin<Box<dyn Future<Output = Result<ServiceLeaderLease, ControlPlaneError>> + Send + 'a>>
fn acquire_or_renew_service_lease_traced<'a>( &'a self, identity: &'a CoreIdentity, service_id: &'a ServiceId, ttl_ms: u64, now_ms: u64, _trace: Option<&'a TraceContext>, ) -> Pin<Box<dyn Future<Output = Result<ServiceLeaderLease, ControlPlaneError>> + Send + 'a>>
Acquires a service lease while propagating trace context when supported.
Source§fn release_service_lease_traced<'a>(
&'a self,
lease: ServiceLeaderLease,
_trace: Option<&'a TraceContext>,
) -> Pin<Box<dyn Future<Output = Result<(), ControlPlaneError>> + Send + 'a>>
fn release_service_lease_traced<'a>( &'a self, lease: ServiceLeaderLease, _trace: Option<&'a TraceContext>, ) -> Pin<Box<dyn Future<Output = Result<(), ControlPlaneError>> + Send + 'a>>
Releases a service lease while propagating trace context when supported.
Auto Trait Implementations§
impl !RefUnwindSafe for FileControlPlane
impl !UnwindSafe for FileControlPlane
impl Freeze for FileControlPlane
impl Send for FileControlPlane
impl Sync for FileControlPlane
impl Unpin for FileControlPlane
impl UnsafeUnpin for FileControlPlane
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DiscoveryProvider for Twhere
T: ControlPlaneProvider + ?Sized,
impl<T> DiscoveryProvider for Twhere
T: ControlPlaneProvider + ?Sized,
Source§fn discover<'a>(
&'a self,
identity: &'a CoreIdentity,
) -> Pin<Box<dyn Future<Output = Result<PeerDirectory, ControlPlaneError>> + Send + 'a>>
fn discover<'a>( &'a self, identity: &'a CoreIdentity, ) -> Pin<Box<dyn Future<Output = Result<PeerDirectory, ControlPlaneError>> + Send + 'a>>
Discovers peers compatible with the supplied runtime identity.
Source§fn discover_traced<'a>(
&'a self,
identity: &'a CoreIdentity,
trace: Option<&'a TraceContext>,
) -> Pin<Box<dyn Future<Output = Result<PeerDirectory, ControlPlaneError>> + Send + 'a>>
fn discover_traced<'a>( &'a self, identity: &'a CoreIdentity, trace: Option<&'a TraceContext>, ) -> Pin<Box<dyn Future<Output = Result<PeerDirectory, ControlPlaneError>> + Send + 'a>>
Discovers peers while propagating trace context when supported.