# Functions

ConnectServer creates a new Server and then initializes it using the Connect method.
New creates a new topology.
NewServer creates a new server.
WithClock configures the ClusterClock for the server to use.
WithCompressionOptions configures the server's compressors.
WithConnectionOptions configures the server's connections.
WithConnString configures the topology using the connection string.
WithHeartbeatInterval configures a server's heartbeat interval.
WithHeartbeatTimeout configures how long to wait for a heartbeat socket to connection.
WithMaxConnections configures the maximum number of connections to allow for a given server.
WithMaxIdleConnections configures the maximum number of idle connections allowed for the server.
WithMode configures the topology's monitor mode.
WithRegistry configures the registry for the server to use when creating cursors.
WithReplicaSetName configures the topology's default replica set name.
WithSeedList configures a topology's seed list.
WithServerOptions configures a topology's server options for when a new server needs to be created.
WithServerSelectionTimeout configures a topology's server selection timeout.

# Constants

These constants are the available monitoring modes.
These constants are the available monitoring modes.

# Variables

ErrServerClosed occurs when an attempt to get a connection is made after the server has been closed.
ErrServerConnected occurs when at attempt to connect is made after a server has already been connected.
ErrServerSelectionTimeout is returned from server selection when the server selection process took longer than allowed by the timeout.
ErrSubscribeAfterClosed is returned when a user attempts to subscribe to a closed Server or Topology.
ErrTopologyClosed is returned when a user attempts to call a method on a closed Topology.
ErrTopologyConnected is returned whena user attempts to connect to an already connected Topology.

# Structs

SelectedServer represents a specific server that was selected during server selection.
Server is a single server within a topology.
ServerSubscription represents a subscription to the description.Server updates for a specific server.
Subscription is a subscription to updates to the description of the Topology that created this Subscription.
Topology represents a MongoDB deployment.

# Type aliases

MonitorMode represents the way in which a server is monitored.
Option is a configuration option for a topology.
ServerOption configures a server.