topoproto

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2020 License: Apache-2.0 Imports: 14 Imported by: 0

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

SlaveTabletTypes contains all the tablet type that can have replication enabled.

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 AllTabletType and SlaveTabletType for instance.

func KeyspaceShardString

func KeyspaceShardString(keyspace, shard string) string

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

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 MysqlHostname

func MysqlHostname(tablet *topodatapb.Tablet) string

MysqlHostname returns the mysql host name. This function also handles legacy behavior: it uses the tablet's hostname if MysqlHostname is not specified. TODO(sougou); deprecate this function after 3.0.

func MysqlPort

func MysqlPort(tablet *topodatapb.Tablet) int32

MysqlPort returns the mysql port. This function also handles legacy behavior: it uses the tablet's port map if MysqlHostname is not specified. TODO(sougou); deprecate this function after 3.0.

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 added in v1.0.1

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

func SetMysqlPort(tablet *topodatapb.Tablet, port int32)

SetMysqlPort sets the mysql port for tablet. This function also handles legacy by setting the port in PortMap. TODO(sougou); deprecate this function after 3.0.

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

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