Documentation ¶
Index ¶
Constants ¶
const Unknown = 0
Unknown is an unknown server or topology kind.
const UnknownStr = "Unknown"
UnknownStr represents an unknown server kind.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type SelectedServer ¶
type SelectedServer struct { Server Kind TopologyKind }
SelectedServer augments the Server type by also including the TopologyKind of the topology that includes the server. This type should be used to track the state of a server that was selected to perform an operation.
type Server ¶
type Server struct { Addr address.Address Arbiters []string AverageRTT time.Duration AverageRTTSet bool Compression []string // compression methods returned by server CanonicalAddr address.Address ElectionID bson.ObjectID HeartbeatInterval time.Duration HelloOK bool Hosts []string IsCryptd bool LastError error LastUpdateTime time.Time LastWriteTime time.Time MaxBatchCount uint32 MaxDocumentSize uint32 MaxMessageSize uint32 Members []address.Address Passives []string Passive bool Primary address.Address ReadOnly bool ServiceID *bson.ObjectID // Only set for servers that are deployed behind a load balancer. SessionTimeoutMinutes *int64 SetName string SetVersion uint32 Tags tag.Set TopologyVersion *TopologyVersion Kind ServerKind WireVersion *VersionRange }
Server contains information about a node in a cluster. This is created from hello command responses. If the value of the Kind field is LoadBalancer, only the Addr and Kind fields will be set. All other fields will be set to the zero value of the field's type.
type ServerKind ¶
type ServerKind uint32
ServerKind represents the type of a single server in a topology.
const ( ServerKindStandalone ServerKind = 1 ServerKindRSMember ServerKind = 2 ServerKindRSPrimary ServerKind = 4 + ServerKindRSMember ServerKindRSSecondary ServerKind = 8 + ServerKindRSMember ServerKindRSArbiter ServerKind = 16 + ServerKindRSMember ServerKindRSGhost ServerKind = 32 + ServerKindRSMember ServerKindMongos ServerKind = 256 ServerKindLoadBalancer ServerKind = 512 )
These constants are the possible types of servers.
func (ServerKind) String ¶
func (kind ServerKind) String() string
String returns a stringified version of the kind or "Unknown" if the kind is invalid.
type ServerSelector ¶
ServerSelector is an interface implemented by types that can perform server selection given a topology description and list of candidate servers. The selector should filter the provided candidates list and return a subset that matches some criteria.
type Topology ¶
type Topology struct { Servers []Server SetName string Kind TopologyKind SessionTimeoutMinutes *int64 CompatibilityErr error }
Topology contains information about a MongoDB cluster.
type TopologyKind ¶
type TopologyKind uint32
TopologyKind represents a specific topology configuration.
const ( TopologyKindSingle TopologyKind = 1 TopologyKindReplicaSet TopologyKind = 2 TopologyKindReplicaSetNoPrimary TopologyKind = 4 + TopologyKindReplicaSet TopologyKindReplicaSetWithPrimary TopologyKind = 8 + TopologyKindReplicaSet TopologyKindSharded TopologyKind = 256 TopologyKindLoadBalanced TopologyKind = 512 )
These constants are the available topology configurations.
func (TopologyKind) String ¶
func (kind TopologyKind) String() string
String implements the fmt.Stringer interface.
type TopologyVersion ¶
TopologyVersion represents a software version.
type VersionRange ¶
VersionRange represents a range of versions.