You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.1 KiB

3 years ago
// Copyright (C) MongoDB, Inc. 2017-present.
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may
// not use this file except in compliance with the License. You may obtain
// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
package description
// TopologyKind represents a specific topology configuration.
type TopologyKind uint32
// These constants are the available topology configurations.
const (
Single TopologyKind = 1
ReplicaSet TopologyKind = 2
ReplicaSetNoPrimary TopologyKind = 4 + ReplicaSet
ReplicaSetWithPrimary TopologyKind = 8 + ReplicaSet
Sharded TopologyKind = 256
LoadBalanced TopologyKind = 512
)
// String implements the fmt.Stringer interface.
func (kind TopologyKind) String() string {
switch kind {
case Single:
return "Single"
case ReplicaSet:
return "ReplicaSet"
case ReplicaSetNoPrimary:
return "ReplicaSetNoPrimary"
case ReplicaSetWithPrimary:
return "ReplicaSetWithPrimary"
case Sharded:
return "Sharded"
case LoadBalanced:
return "LoadBalanced"
}
return "Unknown"
}