topoproto

package
v0.12.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 1, 2022 License: Apache-2.0 Imports: 17 Imported by: 30

Documentation

Overview

Package topoproto contains utility functions to deal with the proto3 structures defined in proto/topodata.

Index

Constants

View Source
const (
	// VtDbPrefix + keyspace is the default name for databases.
	VtDbPrefix = "vt_"
)

Variables

AllTabletTypes lists all the possible tablet types

Functions

func IsServingType added in v0.12.0

func IsServingType(tabletType topodatapb.TabletType) bool

IsServingType returns true if the tablet type is one that should be serving to be healthy, or false if the tablet type should not be serving in it's healthy state.

func IsTypeInList

func IsTypeInList(tabletType topodatapb.TabletType, types []topodatapb.TabletType) bool

IsTypeInList returns true if the given type is in the list. Use it with AllTabletTypes for instance.

func KeyspaceIDTypeLString added in v0.11.0

func KeyspaceIDTypeLString(kidType topodatapb.KeyspaceIdType) string

KeyspaceIDTypeLString returns the lowercased string representation of a KeyspaceIdType.

func KeyspaceIDTypeString added in v0.11.0

func KeyspaceIDTypeString(kidType topodatapb.KeyspaceIdType) string

KeyspaceIDTypeString returns the string representation of a KeyspaceIdType.

func KeyspaceShardString

func KeyspaceShardString(keyspace, shard string) string

KeyspaceShardString returns a "keyspace/shard" string taking keyspace and shard as separate inputs.

func KeyspaceTypeLString added in v0.11.0

func KeyspaceTypeLString(kt topodatapb.KeyspaceType) string

KeyspaceTypeLString returns the lowercased string representation of a KeyspaceType.

func KeyspaceTypeString added in v0.10.0

func KeyspaceTypeString(kt topodatapb.KeyspaceType) string

KeyspaceTypeString returns the string representation of a KeyspaceType.

func MakeStringTypeList

func MakeStringTypeList(types []topodatapb.TabletType) []string

MakeStringTypeList returns a list of strings that match the input list.

func MySQLIP

func MySQLIP(tablet *topodatapb.Tablet) (string, error)

MySQLIP returns the MySQL server's IP by resolving the hostname.

func MysqlAddr

func MysqlAddr(tablet *topodatapb.Tablet) string

MysqlAddr returns the host:port of the mysql server.

func ParseDestination

func ParseDestination(targetString string, defaultTabletType topodatapb.TabletType) (string, topodatapb.TabletType, key.Destination, error)

ParseDestination parses the string representation of a Destination of the form keyspace:shard@tablet_type. You can use a / instead of a :.

func ParseKeyspaceShard

func ParseKeyspaceShard(param string) (string, string, error)

ParseKeyspaceShard parse a "keyspace/shard" or "keyspace:shard" string and extract both keyspace and shard

func ParseKeyspaceType

func ParseKeyspaceType(param string) (topodatapb.KeyspaceType, error)

ParseKeyspaceType parses a string into a KeyspaceType.

func ParseTabletAlias

func ParseTabletAlias(aliasStr string) (*topodatapb.TabletAlias, error)

ParseTabletAlias returns a TabletAlias for the input string, of the form <cell>-<uid>

func ParseTabletSet added in v0.8.0

func ParseTabletSet(tabletListStr string) sets.String

ParseTabletSet returns a set of tablets based on a provided comma separated list of tablets.

func ParseTabletType

func ParseTabletType(param string) (topodatapb.TabletType, error)

ParseTabletType parses the tablet type into the enum.

func ParseTabletTypes

func ParseTabletTypes(param string) ([]topodatapb.TabletType, error)

ParseTabletTypes parses a comma separated list of tablet types and returns a slice with the respective enums.

func ParseUID

func ParseUID(value string) (uint32, error)

ParseUID parses just the uid (a number)

func SourceShardAsHTML

func SourceShardAsHTML(source *topodatapb.Shard_SourceShard) template.HTML

SourceShardAsHTML returns a HTML version of the object.

func SourceShardString

func SourceShardString(source *topodatapb.Shard_SourceShard) string

SourceShardString returns a printable view of a SourceShard.

func SrvKeyspaceGetPartition

func SrvKeyspaceGetPartition(sk *topodatapb.SrvKeyspace, tabletType topodatapb.TabletType) *topodatapb.SrvKeyspace_KeyspacePartition

SrvKeyspaceGetPartition returns a Partition for the given tablet type, or nil if it's not there.

func TabletAliasEqual

func TabletAliasEqual(left, right *topodatapb.TabletAlias) bool

TabletAliasEqual returns true if two TabletAlias match

func TabletAliasIsZero

func TabletAliasIsZero(ta *topodatapb.TabletAlias) bool

TabletAliasIsZero returns true iff cell and uid are empty

func TabletAliasString

func TabletAliasString(ta *topodatapb.TabletAlias) string

TabletAliasString formats a TabletAlias

func TabletAliasUIDStr

func TabletAliasUIDStr(ta *topodatapb.TabletAlias) string

TabletAliasUIDStr returns a string version of the uid

func TabletDbName

func TabletDbName(tablet *topodatapb.Tablet) string

TabletDbName is usually implied by keyspace. Having the shard information in the database name complicates mysql replication.

func TabletIsAssigned

func TabletIsAssigned(tablet *topodatapb.Tablet) bool

TabletIsAssigned returns if this tablet is assigned to a keyspace and shard. A "scrap" node will show up as assigned even though its data cannot be used for serving.

func TabletTypeLString

func TabletTypeLString(tabletType topodatapb.TabletType) string

TabletTypeLString returns a lower case version of the tablet type, or "unknown" if not known.

func TabletTypeListVar

func TabletTypeListVar(p *[]topodatapb.TabletType, name string, usage string)

TabletTypeListVar defines a []TabletType flag with the specified name and usage string. The argument 'p' points to a []TabletType in which to store the value of the flag.

func TabletTypeVar

func TabletTypeVar(p *topodatapb.TabletType, name string, defaultValue topodatapb.TabletType, usage string)

TabletTypeVar defines a TabletType flag with the specified name, default value and usage string. The argument 'p' points to a tabletType in which to store the value of the flag.

Types

type ShardReferenceArray

type ShardReferenceArray []*topodatapb.ShardReference

ShardReferenceArray is used for sorting ShardReference arrays

func (ShardReferenceArray) Len

func (sra ShardReferenceArray) Len() int

Len implements sort.Interface

func (ShardReferenceArray) Less

func (sra ShardReferenceArray) Less(i, j int) bool

Len implements sort.Interface

func (ShardReferenceArray) Sort

func (sra ShardReferenceArray) Sort()

Sort will sort the list according to KeyRange.Start

func (ShardReferenceArray) Swap

func (sra ShardReferenceArray) Swap(i, j int)

Len implements sort.Interface

type TabletAliasList

type TabletAliasList []*topodatapb.TabletAlias

TabletAliasList is used mainly for sorting

func (TabletAliasList) Len

func (tal TabletAliasList) Len() int

Len is part of sort.Interface

func (TabletAliasList) Less

func (tal TabletAliasList) Less(i, j int) bool

Less is part of sort.Interface

func (TabletAliasList) Swap

func (tal TabletAliasList) Swap(i, j int)

Swap is part of sort.Interface

func (TabletAliasList) ToStringSlice added in v0.10.0

func (tal TabletAliasList) ToStringSlice() []string

ToStringSlice returns a slice which is the result of mapping TabletAliasString over a slice of TabletAliases.

type TabletTypeFlag

type TabletTypeFlag topodatapb.TabletType

TabletTypeFlag implements the flag.Value interface, for parsing a command-line value into a TabletType.

func (*TabletTypeFlag) Get

func (ttf *TabletTypeFlag) Get() interface{}

Get is for satisflying the internal flag interface.

func (*TabletTypeFlag) Set

func (ttf *TabletTypeFlag) Set(v string) error

Set is part of the flag.Value interface.

func (*TabletTypeFlag) String

func (ttf *TabletTypeFlag) String() string

String is part of the flag.Value interface.

type TabletTypeListValue

type TabletTypeListValue []topodatapb.TabletType

TabletTypeListValue implements the flag.Value interface, for parsing a command-line comma-separated list of value into a slice of TabletTypes.

func (*TabletTypeListValue) Get

func (ttlv *TabletTypeListValue) Get() interface{}

Get is for satisflying the internal flag interface.

func (*TabletTypeListValue) Set

func (ttlv *TabletTypeListValue) Set(v string) (err error)

Set is part of the flag.Value interface.

func (*TabletTypeListValue) String

func (ttlv *TabletTypeListValue) String() string

String is part of the flag.Value interface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL