# Functions
MaxClusterTime compares 2 clusterTime documents and returns the document representing the highest cluster time.
NewClientSession creates a new explicit client-side session.
NewImplicitClientSession creates a new implicit client-side session.
NewPool creates a new server session pool.
# Constants
Client Session states.
Client Session states.
Client Session states.
Client Session states.
Client Session states.
UUIDSubtype is the BSON binary subtype that a UUID should be encoded as.
# Variables
ErrAbortAfterCommit is returned when abort is called after a commit.
ErrAbortTwice is returned if abort is called after transaction is already aborted.
ErrCommitAfterAbort is returned if commit is called after an abort.
ErrNoTransactStarted is returned if a transaction operation is called when no transaction has started.
ErrSessionEnded is returned when a client session is used after a call to endSession().
ErrSnapshotTransaction is returned if an transaction is started on a snapshot session.
ErrTransactInProgress is returned if startTransaction() is called when a transaction is in progress.
ErrUnackWCUnsupported is returned if an unacknowledged write concern is supported for a transaction.
# Structs
Client is a session for clients to run commands.
ClientOptions represents all possible options for creating a client session.
ClusterClock represents a logical clock for keeping track of cluster time.
Node represents a server session in a linked list.
Pool is a pool of server sessions that can be reused.
Server is an open session with the server.
TransactionOptions represents all possible options for starting a transaction in a session.
# Interfaces
LoadBalancedTransactionConnection represents a connection that's pinned by a ClientSession because it's being used to execute a transaction when running against a load balancer.
# Type aliases
TransactionState indicates the state of the transactions FSM.