pub struct Sharder {
pub nr_shards: ShardCount,
pub msb_ignore: u8,
}
Fields
nr_shards: ShardCount
msb_ignore: u8
Implementations
sourceimpl Sharder
impl Sharder
pub fn new(nr_shards: ShardCount, msb_ignore: u8) -> Self
pub fn shard_of(&self, token: Token) -> Shard
sourcepub fn shard_of_source_port(&self, source_port: u16) -> Shard
pub fn shard_of_source_port(&self, source_port: u16) -> Shard
If we connect to Scylla using Scylla’s shard aware port, then Scylla assigns a shard to the connection based on the source port. This calculates the assigned shard.
sourcepub fn draw_source_port_for_shard(&self, shard: Shard) -> u16
pub fn draw_source_port_for_shard(&self, shard: Shard) -> u16
Randomly choose a source port p
such that shard == shard_of_source_port(p)
.
sourcepub fn iter_source_ports_for_shard(
&self,
shard: Shard
) -> impl Iterator<Item = u16>
pub fn iter_source_ports_for_shard(
&self,
shard: Shard
) -> impl Iterator<Item = u16>
Returns iterator over source ports p
such that shard == shard_of_source_port(p)
.
Starts at a random port and goes forward by nr_shards
. After reaching maximum wraps back around.
Stops once all possible ports have been returned
Trait Implementations
impl Eq for Sharder
impl StructuralEq for Sharder
impl StructuralPartialEq for Sharder
Auto Trait Implementations
impl RefUnwindSafe for Sharder
impl Send for Sharder
impl Sync for Sharder
impl Unpin for Sharder
impl UnwindSafe for Sharder
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more