pub struct ShardMetadata {
pub shard_id: ShardId,
pub node_count: usize,
pub edge_count: usize,
pub cross_shard_edges: usize,
pub primary_node: String,
pub replicas: Vec<String>,
pub created_at: DateTime<Utc>,
pub modified_at: DateTime<Utc>,
pub strategy: ShardStrategy,
}Expand description
Metadata about a graph shard
Fields§
§shard_id: ShardIdShard identifier
node_count: usizeNumber of nodes in this shard
edge_count: usizeNumber of edges in this shard
cross_shard_edges: usizeNumber of edges crossing to other shards
primary_node: StringPrimary node responsible for this shard
replicas: Vec<String>Replica nodes
created_at: DateTime<Utc>Creation timestamp
modified_at: DateTime<Utc>Last modification timestamp
strategy: ShardStrategyPartitioning strategy used
Implementations§
Source§impl ShardMetadata
impl ShardMetadata
Sourcepub fn new(
shard_id: ShardId,
primary_node: String,
strategy: ShardStrategy,
) -> Self
pub fn new( shard_id: ShardId, primary_node: String, strategy: ShardStrategy, ) -> Self
Create new shard metadata
Sourcepub fn edge_cut_ratio(&self) -> f64
pub fn edge_cut_ratio(&self) -> f64
Calculate edge cut ratio (cross-shard edges / total edges)
Trait Implementations§
Source§impl Clone for ShardMetadata
impl Clone for ShardMetadata
Source§fn clone(&self) -> ShardMetadata
fn clone(&self) -> ShardMetadata
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ShardMetadata
impl Debug for ShardMetadata
Source§impl<'de> Deserialize<'de> for ShardMetadata
impl<'de> Deserialize<'de> for ShardMetadata
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ShardMetadata
impl RefUnwindSafe for ShardMetadata
impl Send for ShardMetadata
impl Sync for ShardMetadata
impl Unpin for ShardMetadata
impl UnwindSafe for ShardMetadata
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> 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>
Converts
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>
Converts
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>
Wrap the input message
T in a tonic::Request