topoproto

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2021 License: Apache-2.0 Imports: 16 Imported by: 58

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 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 KeyspaceShardString

func KeyspaceShardString(keyspace, shard string) string

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

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 resolvign the host name.

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