Struct mongors::topology::TopologyDescription [−][src]
pub struct TopologyDescription { pub topology_type: TopologyType, pub set_name: String, pub servers: HashMap<Host, Server>, pub heartbeat_frequency_ms: u32, pub local_threshold_ms: i64, pub server_selection_timeout_ms: i64, // some fields omitted }
Topology information gathered from server set monitoring.
Fields
topology_type: TopologyType
set_name: String
The set name for a replica set topology. If the topology is not a replica set, this will be an empty string.
servers: HashMap<Host, Server>
Known servers within the topology.
heartbeat_frequency_ms: u32
The server connection health check frequency. The default is 10 seconds.
local_threshold_ms: i64
The size of the latency window for selecting suitable servers. The default is 15 milliseconds.
server_selection_timeout_ms: i64
This defines how long to block for server selection before returning an error. The default is 30 seconds.
Methods
impl TopologyDescription
[src]
impl TopologyDescription
pub fn new(connector: StreamConnector) -> TopologyDescription
[src]
pub fn new(connector: StreamConnector) -> TopologyDescription
Returns a default, unknown topology description.
pub fn acquire_stream(
&self,
read_preference: &ReadPreference
) -> Result<(PooledStream, bool, bool)>
[src]
pub fn acquire_stream(
&self,
read_preference: &ReadPreference
) -> Result<(PooledStream, bool, bool)>
Returns a server stream for read operations.
pub fn acquire_write_stream(&self) -> Result<PooledStream>
[src]
pub fn acquire_write_stream(&self) -> Result<PooledStream>
Returns a server stream for write operations.
pub fn filter_hosts(
&self,
hosts: &mut Vec<Host>,
read_preference: &ReadPreference
)
[src]
pub fn filter_hosts(
&self,
hosts: &mut Vec<Host>,
read_preference: &ReadPreference
)
Filters a given set of hosts based on the provided read preference tag sets.
pub fn filter_latency_hosts(&self, hosts: &mut Vec<Host>)
[src]
pub fn filter_latency_hosts(&self, hosts: &mut Vec<Host>)
Filter out provided hosts by creating a latency window around the server with the lowest round-trip time.
pub fn choose_write_hosts(&self) -> (Vec<Host>, bool)
[src]
pub fn choose_write_hosts(&self) -> (Vec<Host>, bool)
Returns suitable servers for write operations and whether to take a random element.
pub fn choose_hosts(
&self,
read_preference: &ReadPreference
) -> Result<(Vec<Host>, bool)>
[src]
pub fn choose_hosts(
&self,
read_preference: &ReadPreference
) -> Result<(Vec<Host>, bool)>
Returns suitable servers for read operations and whether to take a random element.
pub fn update_without_monitor(
&mut self,
host: Host,
description: Arc<RwLock<ServerDescription>>,
client: MongoClient,
top_arc: Arc<RwLock<TopologyDescription>>
)
[src]
pub fn update_without_monitor(
&mut self,
host: Host,
description: Arc<RwLock<ServerDescription>>,
client: MongoClient,
top_arc: Arc<RwLock<TopologyDescription>>
)
Update the topology description, but don't start any monitors for new servers.
pub fn update(
&mut self,
host: Host,
description: Arc<RwLock<ServerDescription>>,
client: MongoClient,
top_arc: Arc<RwLock<TopologyDescription>>
)
[src]
pub fn update(
&mut self,
host: Host,
description: Arc<RwLock<ServerDescription>>,
client: MongoClient,
top_arc: Arc<RwLock<TopologyDescription>>
)
Updates the topology description based on an updated server description.
Trait Implementations
impl Clone for TopologyDescription
[src]
impl Clone for TopologyDescription
fn clone(&self) -> TopologyDescription
[src]
fn clone(&self) -> TopologyDescription
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Default for TopologyDescription
[src]
impl Default for TopologyDescription
Auto Trait Implementations
impl Send for TopologyDescription
impl Send for TopologyDescription
impl Sync for TopologyDescription
impl Sync for TopologyDescription