# Functions

ConnectServer creates a new Server and then initializes it using the Connect method.
New creates a new topology.
NewServer creates a new server.
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.
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 respresents a MongoDB deployment.

# Type aliases

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