pub trait IStatefulServicePartition:
Send
+ Sync
+ 'static {
// Required methods
fn create_replicator(&self) -> Result<Box<dyn IPrimaryReplicator>>;
fn get_partition_information(&self) -> Result<ServicePartitionInformation>;
fn get_read_status(&self) -> Result<ServicePartitionAccessStatus>;
fn get_write_status(&self) -> Result<ServicePartitionAccessStatus>;
fn report_load(&self, metrics: &[LoadMetric]) -> Result<()>;
fn report_fault(&self, fault_type: FaultType) -> Result<()>;
fn report_move_cost(&self, move_cost: MoveCost) -> Result<()>;
fn report_partition_health(
&self,
healthinfo: &HealthInformation,
) -> Result<()>;
fn report_replica_health(
&self,
healthinfo: &HealthInformation,
) -> Result<()>;
fn try_get_com(&self) -> Result<&IFabricStatefulServicePartition>;
}Required Methods§
Sourcefn create_replicator(&self) -> Result<Box<dyn IPrimaryReplicator>>
fn create_replicator(&self) -> Result<Box<dyn IPrimaryReplicator>>
Creates a FabricReplicator with the specified settings and returns it to the replica. Not supported currently.
Sourcefn get_partition_information(&self) -> Result<ServicePartitionInformation>
fn get_partition_information(&self) -> Result<ServicePartitionInformation>
Provides access to the ServicePartitionInformation of the service, which contains the partition type and ID.
Sourcefn get_read_status(&self) -> Result<ServicePartitionAccessStatus>
fn get_read_status(&self) -> Result<ServicePartitionAccessStatus>
Used to check the readiness of the replica in regard to read operations. The ReadStatus should be checked before the replica is servicing a customer request that is a read operation.
Sourcefn get_write_status(&self) -> Result<ServicePartitionAccessStatus>
fn get_write_status(&self) -> Result<ServicePartitionAccessStatus>
Used to check the readiness of the partition in regard to write operations. The WriteStatus should be checked before the replica services a customer request that is a write operation.
Sourcefn report_load(&self, metrics: &[LoadMetric]) -> Result<()>
fn report_load(&self, metrics: &[LoadMetric]) -> Result<()>
Reports load for the current replica in the partition. Remarks: The reported metrics should correspond to those that are provided in the ServiceLoadMetricDescription as a part of the ServiceDescription that is used to create the service. Load metrics that are not present in the description are ignored. Reporting custom metrics allows Service Fabric to balance services that are based on additional custom information.
Sourcefn report_fault(&self, fault_type: FaultType) -> Result<()>
fn report_fault(&self, fault_type: FaultType) -> Result<()>
Enables the replica to report a fault to the runtime and indicates that it has encountered an error from which it cannot recover and must either be restarted or removed.
Sourcefn report_move_cost(&self, move_cost: MoveCost) -> Result<()>
fn report_move_cost(&self, move_cost: MoveCost) -> Result<()>
Reports the move cost for a replica. Remarks: Services can report move cost of a replica using this method. While the Service Fabric Resource Balances searches for the best balance in the cluster, it examines both load information and move cost of each replica. Resource balances will prefer to move replicas with lower cost in order to achieve balance.
Sourcefn report_partition_health(&self, healthinfo: &HealthInformation) -> Result<()>
fn report_partition_health(&self, healthinfo: &HealthInformation) -> Result<()>
Reports current partition health.
Sourcefn report_replica_health(&self, healthinfo: &HealthInformation) -> Result<()>
fn report_replica_health(&self, healthinfo: &HealthInformation) -> Result<()>
Reports health on the current stateful service replica of the partition.
Sourcefn try_get_com(&self) -> Result<&IFabricStatefulServicePartition>
fn try_get_com(&self) -> Result<&IFabricStatefulServicePartition>
Returns the com object for proxy interop. This is only used when using Proxy.