topoproto

package
v3.0.1+incompatible Latest Latest
Warning

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

Go to latest
Published: Mar 26, 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

This section is empty.

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 Destionation 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" string and extract both keyspace and shard

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 ShardHasCell

func ShardHasCell(shard *topodatapb.Shard, cell string) bool

ShardHasCell returns true if the cell is listed in the Cells for the shard.

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