pub enum ServerStorageRuntime {
Standalone(StandaloneRuntime),
Cluster(ClusterGatewayRuntime),
}Expand description
Single authoritative storage runtime for the HTTP/native daemon (P0.2).
Variants§
Standalone(StandaloneRuntime)
Single-node server-owned standalone core.
Cluster(ClusterGatewayRuntime)
Cluster node: public data owned by consensus/tablet state.
Implementations§
Source§impl ServerStorageRuntime
impl ServerStorageRuntime
Sourcepub fn standalone(db: Arc<Database>) -> Self
pub fn standalone(db: Arc<Database>) -> Self
Construct the standalone variant.
Sourcepub fn cluster(handle: ClusterRuntimeHandle) -> Self
pub fn cluster(handle: ClusterRuntimeHandle) -> Self
Construct the cluster variant (workers optional until installed).
Sourcepub fn cluster_with_workers(
handle: ClusterRuntimeHandle,
fragment_endpoint: Arc<RemoteFragmentEndpoint>,
ai_endpoint: Arc<RemoteAiEndpoint>,
) -> Self
pub fn cluster_with_workers( handle: ClusterRuntimeHandle, fragment_endpoint: Arc<RemoteFragmentEndpoint>, ai_endpoint: Arc<RemoteAiEndpoint>, ) -> Self
Construct the cluster variant with workers already installed.
Sourcepub fn is_cluster(&self) -> bool
pub fn is_cluster(&self) -> bool
true when this process is a cluster node data plane.
Sourcepub fn is_standalone(&self) -> bool
pub fn is_standalone(&self) -> bool
true when this process is standalone.
Sourcepub fn standalone_db(&self) -> Option<&Arc<Database>>
pub fn standalone_db(&self) -> Option<&Arc<Database>>
Local standalone engine, when this is standalone mode.
Sourcepub fn require_standalone_db(
&self,
) -> Result<&Arc<Database>, StorageRuntimeError>
pub fn require_standalone_db( &self, ) -> Result<&Arc<Database>, StorageRuntimeError>
Require the standalone engine; fail closed in cluster mode so ordinary
public writes cannot bypass Raft through AppState.db.
Sourcepub fn cluster_handle(&self) -> Option<&ClusterRuntimeHandle>
pub fn cluster_handle(&self) -> Option<&ClusterRuntimeHandle>
Live cluster handle, when this is cluster mode.
Sourcepub fn cluster_gateway(&self) -> Option<&ClusterGatewayRuntime>
pub fn cluster_gateway(&self) -> Option<&ClusterGatewayRuntime>
Cluster gateway pieces, when this is cluster mode.
Sourcepub fn cluster_gateway_mut(&mut self) -> Option<&mut ClusterGatewayRuntime>
pub fn cluster_gateway_mut(&mut self) -> Option<&mut ClusterGatewayRuntime>
Mutable cluster gateway (worker install bookkeeping).
Sourcepub fn durable_path(&self) -> PathBuf
pub fn durable_path(&self) -> PathBuf
Durable path used for process-local server state (idempotency, pid hints). Standalone uses the database root; cluster uses node data.
Trait Implementations§
Source§impl Clone for ServerStorageRuntime
impl Clone for ServerStorageRuntime
Source§fn clone(&self) -> ServerStorageRuntime
fn clone(&self) -> ServerStorageRuntime
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for ServerStorageRuntime
impl !UnwindSafe for ServerStorageRuntime
impl Freeze for ServerStorageRuntime
impl Send for ServerStorageRuntime
impl Sync for ServerStorageRuntime
impl Unpin for ServerStorageRuntime
impl UnsafeUnpin for ServerStorageRuntime
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request