Skip to main content

StatefulServicePartitionDriver

Struct StatefulServicePartitionDriver 

Source
pub struct StatefulServicePartitionDriver { /* private fields */ }
Expand description

Test driver for a single stateful service replica.

Implementations§

Source§

impl StatefulServicePartitionDriver

Source

pub fn new() -> Self

Source

pub fn register_service_factory( &mut self, factory: Box<dyn IStatefulServiceFactory>, )

Register a service factory to be used to create replicas. One should register multiple factories to simulate multi node scenarios. Replicas are created in round robin fashion from the registered factories.

Source§

impl StatefulServicePartitionDriver

Source

pub fn get_primary_replica_id(&self) -> i64

Get the current primary replica id.

Source

pub fn get_replica( &self, replica_id: i64, ) -> Option<&dyn IStatefulServiceReplica>

Get a replica by id.

Source

pub fn get_replicator(&self, replica_id: i64) -> Option<&dyn IPrimaryReplicator>

Get a replicator by replica id.

Source

pub fn list_replica_ids(&self) -> Vec<i64>

List all replica ids.

Source§

impl StatefulServicePartitionDriver

Source

pub async fn create_service_partition( &mut self, desc: &CreateStatefulServicePartitionArg, ) -> Result<()>

Create a stateful service partition with the specified number of replicas. The first replica is the primary. Runs the replica build steps.

Source

pub async fn delete_service_partition(&mut self) -> Result<()>

Delete the service partition.

Source

pub async fn restart_secondary_graceful( &mut self, replica_id: i64, ) -> Result<()>

Restart a secondary replica gracefully.

Trait Implementations§

Source§

impl Default for StatefulServicePartitionDriver

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more