util

package
v5.2.0-release+incompa... Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2020 License: LGPL-3.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const (

	//StartOfSection writ hosts start
	StartOfSection = "# Generate by Rainbond. DO NOT EDIT"
	//EndOfSection writ hosts end
	EndOfSection = "# End of Section"
)

Variables

View Source
var StatefulServiceType = "StatefulServiceType"

StatefulServiceType 有状态应用

View Source
var StatelessServiceType = "StatelessServiceType"

StatelessServiceType 无状态应用

Functions

func Bool

func Bool(v bool) *bool

Bool returns a pointer to the bool value passed in.

func BoolMap

func BoolMap(src map[string]bool) map[string]*bool

BoolMap converts a string map of bool values into a string map of bool pointers

func BoolSlice

func BoolSlice(src []bool) []*bool

BoolSlice converts a slice of bool values into a slice of bool pointers

func BoolValue

func BoolValue(v *bool) bool

BoolValue returns the value of the bool pointer passed in or false if the pointer is nil.

func BoolValueMap

func BoolValueMap(src map[string]*bool) map[string]bool

BoolValueMap converts a string map of bool pointers into a string map of bool values

func BoolValueSlice

func BoolValueSlice(src []*bool) []bool

BoolValueSlice converts a slice of bool pointers into a slice of bool values

func BytesSliceEqual

func BytesSliceEqual(a, b []byte) bool

BytesSliceEqual BytesSliceEqual

func CheckAndCreateDir

func CheckAndCreateDir(path string) error

CheckAndCreateDir check and create dir

func CheckAndCreateDirByMode

func CheckAndCreateDirByMode(path string, mode os.FileMode) error

CheckAndCreateDirByMode check and create dir

func CheckIP

func CheckIP(ip string) bool

CheckIP Verify IP address validity

func CmdExec

func CmdExec(args string) (string, error)

CmdExec CmdExec

func CmdRunWithTimeout

func CmdRunWithTimeout(cmd *exec.Cmd, timeout time.Duration) (bool, error)

CmdRunWithTimeout exec cmd with timeout

func CopyFile

func CopyFile(source, target string) error

CopyFile copy source file to target direct io read and write file Keep the permissions user and group

func CreateFileHash

func CreateFileHash(sourceFile, hashfile string) error

CreateFileHash compute sourcefile hash and write hashfile

func CreateHashString

func CreateHashString(source string) (hashstr string, err error)

CreateHashString create hash string

func CreateHostID

func CreateHostID() (string, error)

CreateHostID create host id by mac addr

func CreateVersionByTime

func CreateVersionByTime() string

CreateVersionByTime create version number

func Deweight

func Deweight(data *[]string)

Deweight 去除数组重复

func DirIsEmpty

func DirIsEmpty(dir string) bool

DirIsEmpty 验证目录是否为空

func Exec

func Exec(ctx context.Context, f func() error, wait time.Duration) error

Exec 上下文执行

func FileExists

func FileExists(filename string) (bool, error)

FileExists check file exist

func FileExistsWithSuffix

func FileExistsWithSuffix(pathDir, suffix string) bool

FileExistsWithSuffix 指定目录是否含有指定后缀的文件

func Float32

func Float32(v float32) *float32

Float32 returns a pointer to the float32 value passed in.

func Float32Map

func Float32Map(src map[string]float32) map[string]*float32

Float32Map converts a string map of float32 values into a string map of float32 pointers

func Float32Slice

func Float32Slice(src []float32) []*float32

Float32Slice converts a slice of float32 values into a slice of float32 pointers

func Float32Value

func Float32Value(v *float32) float32

Float32Value returns the value of the float32 pointer passed in or 0 if the pointer is nil.

func Float32ValueMap

func Float32ValueMap(src map[string]*float32) map[string]float32

Float32ValueMap converts a string map of float32 pointers into a string map of float32 values

func Float32ValueSlice

func Float32ValueSlice(src []*float32) []float32

Float32ValueSlice converts a slice of float32 pointers into a slice of float32 values

func Float64

func Float64(v float64) *float64

Float64 returns a pointer to the float64 value passed in.

func Float64Map

func Float64Map(src map[string]float64) map[string]*float64

Float64Map converts a string map of float64 values into a string map of float64 pointers

func Float64Slice

func Float64Slice(src []float64) []*float64

Float64Slice converts a slice of float64 values into a slice of float64 pointers

func Float64Value

func Float64Value(v *float64) float64

Float64Value returns the value of the float64 pointer passed in or 0 if the pointer is nil.

func Float64ValueMap

func Float64ValueMap(src map[string]*float64) map[string]float64

Float64ValueMap converts a string map of float64 pointers into a string map of float64 values

func Float64ValueSlice

func Float64ValueSlice(src []*float64) []float64

Float64ValueSlice converts a slice of float64 pointers into a slice of float64 values

func GetCurrentDir

func GetCurrentDir() string

GetCurrentDir get current dir

func GetDirList

func GetDirList(dirpath string, level int) ([]string, error)

GetDirList get all lower level dir

func GetDirNameList

func GetDirNameList(dirpath string, level int) ([]string, error)

GetDirNameList get all lower level dir

func GetDirSize

func GetDirSize(path string) float64

GetDirSize kb为单位

func GetDirSizeByCmd

func GetDirSizeByCmd(path string) float64

GetDirSizeByCmd get dir sizes by du command return kb

func GetFileList

func GetFileList(dirpath string, level int) ([]string, error)

GetFileList -

func GetFileSize

func GetFileSize(path string) int64

GetFileSize get file size

func GetIDFromKey

func GetIDFromKey(key string) string

GetIDFromKey 从 etcd 的 key 中取 id

func GetParentDirectory

func GetParentDirectory(dirctory string) string

GetParentDirectory GetParentDirectory

func Int

func Int(v int) *int

Int returns a pointer to the int value passed in.

func Int16

func Int16(v int16) *int16

Int16 returns a pointer to the int16 value passed in.

func Int16Map

func Int16Map(src map[string]int16) map[string]*int16

Int16Map converts a string map of int16 values into a string map of int16 pointers

func Int16Slice

func Int16Slice(src []int16) []*int16

Int16Slice converts a slice of int16 values into a slice of int16 pointers

func Int16Value

func Int16Value(v *int16) int16

Int16Value returns the value of the int16 pointer passed in or 0 if the pointer is nil.

func Int16ValueMap

func Int16ValueMap(src map[string]*int16) map[string]int16

Int16ValueMap converts a string map of int16 pointers into a string map of int16 values

func Int16ValueSlice

func Int16ValueSlice(src []*int16) []int16

Int16ValueSlice converts a slice of int16 pointers into a slice of int16 values

func Int32

func Int32(v int32) *int32

Int32 returns a pointer to the int32 value passed in.

func Int32Map

func Int32Map(src map[string]int32) map[string]*int32

Int32Map converts a string map of int32 values into a string map of int32 pointers

func Int32Slice

func Int32Slice(src []int32) []*int32

Int32Slice converts a slice of int32 values into a slice of int32 pointers

func Int32Value

func Int32Value(v *int32) int32

Int32Value returns the value of the int32 pointer passed in or 0 if the pointer is nil.

func Int32ValueMap

func Int32ValueMap(src map[string]*int32) map[string]int32

Int32ValueMap converts a string map of int32 pointers into a string map of int32 values

func Int32ValueSlice

func Int32ValueSlice(src []*int32) []int32

Int32ValueSlice converts a slice of int32 pointers into a slice of int32 values

func Int64

func Int64(v int64) *int64

Int64 returns a pointer to the int64 value passed in.

func Int64Map

func Int64Map(src map[string]int64) map[string]*int64

Int64Map converts a string map of int64 values into a string map of int64 pointers

func Int64Slice

func Int64Slice(src []int64) []*int64

Int64Slice converts a slice of int64 values into a slice of int64 pointers

func Int64Value

func Int64Value(v *int64) int64

Int64Value returns the value of the int64 pointer passed in or 0 if the pointer is nil.

func Int64ValueMap

func Int64ValueMap(src map[string]*int64) map[string]int64

Int64ValueMap converts a string map of int64 pointers into a string map of int64 values

func Int64ValueSlice

func Int64ValueSlice(src []*int64) []int64

Int64ValueSlice converts a slice of int64 pointers into a slice of int64 values

func Int8

func Int8(v int8) *int8

Int8 returns a pointer to the int8 value passed in.

func Int8Map

func Int8Map(src map[string]int8) map[string]*int8

Int8Map converts a string map of int8 values into a string map of int8 pointers

func Int8Slice

func Int8Slice(src []int8) []*int8

Int8Slice converts a slice of int8 values into a slice of int8 pointers

func Int8Value

func Int8Value(v *int8) int8

Int8Value returns the value of the int8 pointer passed in or 0 if the pointer is nil.

func Int8ValueMap

func Int8ValueMap(src map[string]*int8) map[string]int8

Int8ValueMap converts a string map of int8 pointers into a string map of int8 values

func Int8ValueSlice

func Int8ValueSlice(src []*int8) []int8

Int8ValueSlice converts a slice of int8 pointers into a slice of int8 values

func IntMap

func IntMap(src map[string]int) map[string]*int

IntMap converts a string map of int values into a string map of int pointers

func IntSlice

func IntSlice(src []int) []*int

IntSlice converts a slice of int values into a slice of int pointers

func IntValue

func IntValue(v *int) int

IntValue returns the value of the int pointer passed in or 0 if the pointer is nil.

func IntValueMap

func IntValueMap(src map[string]*int) map[string]int

IntValueMap converts a string map of int pointers into a string map of int values

func IntValueSlice

func IntValueSlice(src []*int) []int

IntValueSlice converts a slice of int pointers into a slice of int values

func IntermittentExec

func IntermittentExec(ctx context.Context, f func(), t time.Duration)

IntermittentExec 间歇性执行

func IsDir

func IsDir(path string) (bool, error)

IsDir path is dir

func IsHaveFile

func IsHaveFile(path string) bool

IsHaveFile 指定目录是否含有文件 .开头文件除外

func LocalIP

func LocalIP() (net.IP, error)

LocalIP 获取本机 ip 获取第一个非 loopback ip

func MergeDir

func MergeDir(fromdir, todir string) error

MergeDir MergeDir if Subdirectories already exist, Don't replace

func MillisecondsTimeValue

func MillisecondsTimeValue(v *int64) time.Time

MillisecondsTimeValue converts an int64 pointer to a time.Time value representing milliseconds sinch Epoch or time.Time{} if the pointer is nil.

func NewUUID

func NewUUID() string

NewUUID 创建无-的32位uuid

func OpenOrCreateFile

func OpenOrCreateFile(filename string) (*os.File, error)

OpenOrCreateFile open or create file

func ParseVariable

func ParseVariable(source string, configs map[string]string) string

ParseVariable parse and replace variable in source str

func ProfilerSetup

func ProfilerSetup(r ServeMux)

ProfilerSetup pprof route

func ReadHostID

func ReadHostID(filePath string) (string, error)

ReadHostID 读取当前机器ID ID是节点的唯一标识,acp_node将把ID与机器信息的绑定关系维护于etcd中

func RemoveSpaces

func RemoveSpaces(sources []string) (re []string)

RemoveSpaces 去除空格项

func Rename

func Rename(old, new string) error

Rename move file

func Reverse

func Reverse(source []string) []string

Reverse reverse sort string array

func SearchFile

func SearchFile(pathDir, name string, level int) bool

SearchFile 搜索指定目录是否有指定文件,指定搜索目录层数,-1为全目录搜索

func SearchFileBody

func SearchFileBody(filename, searchStr string) bool

SearchFileBody 搜索文件中是否含有指定字符串

func SecondsTimeValue

func SecondsTimeValue(v *int64) time.Time

SecondsTimeValue converts an int64 pointer to a time.Time value representing seconds since Epoch or time.Time{} if the pointer is nil.

func SendNoBlocking

func SendNoBlocking(m []byte, ch chan []byte)

SendNoBlocking 无阻塞发送

func StdCopy

func StdCopy(dstout, dsterr io.Writer, src io.Reader) (written int64, err error)

StdCopy is a modified version of io.Copy.

StdCopy will demultiplex `src`, assuming that it contains two streams, previously multiplexed together using a StdWriter instance. As it reads from `src`, StdCopy will write to `dstout` and `dsterr`.

StdCopy will read until it hits EOF on `src`. It will then return a nil error. In other words: if `err` is non nil, it indicates a real underlying error.

`written` will hold the total number of bytes written to `dstout` and `dsterr`.

func String

func String(v string) *string

String returns a pointer to the string value passed in.

func StringArrayContains

func StringArrayContains(list []string, source string) bool

StringArrayContains string array contains

func StringMap

func StringMap(src map[string]string) map[string]*string

StringMap converts a string map of string values into a string map of string pointers

func StringSlice

func StringSlice(src []string) []*string

StringSlice converts a slice of string values into a slice of string pointers

func StringValue

func StringValue(v *string) string

StringValue returns the value of the string pointer passed in or "" if the pointer is nil.

func StringValueMap

func StringValueMap(src map[string]*string) map[string]string

StringValueMap converts a string map of string pointers into a string map of string values

func StringValueSlice

func StringValueSlice(src []*string) []string

StringValueSlice converts a slice of string pointers into a slice of string values

func Time

func Time(v time.Time) *time.Time

Time returns a pointer to the time.Time value passed in.

func TimeMap

func TimeMap(src map[string]time.Time) map[string]*time.Time

TimeMap converts a string map of time.Time values into a string map of time.Time pointers

func TimeSlice

func TimeSlice(src []time.Time) []*time.Time

TimeSlice converts a slice of time.Time values into a slice of time.Time pointers

func TimeUnixMilli

func TimeUnixMilli(t time.Time) int64

TimeUnixMilli returns a Unix timestamp in milliseconds from "January 1, 1970 UTC". The result is undefined if the Unix time cannot be represented by an int64. Which includes calling TimeUnixMilli on a zero Time is undefined.

This utility is useful for service API's such as CloudWatch Logs which require their unix time values to be in milliseconds.

See Go stdlib https://golang.org/pkg/time/#Time.UnixNano for more information.

func TimeValue

func TimeValue(v *time.Time) time.Time

TimeValue returns the value of the time.Time pointer passed in or time.Time{} if the pointer is nil.

func TimeValueMap

func TimeValueMap(src map[string]*time.Time) map[string]time.Time

TimeValueMap converts a string map of time.Time pointers into a string map of time.Time values

func TimeValueSlice

func TimeValueSlice(src []*time.Time) []time.Time

TimeValueSlice converts a slice of time.Time pointers into a slice of time.Time values

func ToByte

func ToByte(v string) []byte

ToByte string to []byte BenchmarkToByte-4 2000000000 0.36 ns/op

func ToString

func ToString(b []byte) string

ToString []byte to string BenchmarkToString-4 30000000 42.0 ns/op

func Translation

func Translation(english string) string

Translation Translation English to Chinese

func Uint

func Uint(v uint) *uint

Uint returns a pointer to the uint value passed in.

func Uint16

func Uint16(v uint16) *uint16

Uint16 returns a pointer to the uint16 value passed in.

func Uint16Map

func Uint16Map(src map[string]uint16) map[string]*uint16

Uint16Map converts a string map of uint16 values into a string map of uint16 pointers

func Uint16Slice

func Uint16Slice(src []uint16) []*uint16

Uint16Slice converts a slice of uint16 values into a slice of uint16 pointers

func Uint16Value

func Uint16Value(v *uint16) uint16

Uint16Value returns the value of the uint16 pointer passed in or 0 if the pointer is nil.

func Uint16ValueMap

func Uint16ValueMap(src map[string]*uint16) map[string]uint16

Uint16ValueMap converts a string map of uint16 pointers into a string map of uint16 values

func Uint16ValueSlice

func Uint16ValueSlice(src []*uint16) []uint16

Uint16ValueSlice converts a slice of uint16 pointers into a slice of uint16 values

func Uint32

func Uint32(v uint32) *uint32

Uint32 returns a pointer to the uint32 value passed in.

func Uint32Map

func Uint32Map(src map[string]uint32) map[string]*uint32

Uint32Map converts a string map of uint32 values into a string map of uint32 pointers

func Uint32Slice

func Uint32Slice(src []uint32) []*uint32

Uint32Slice converts a slice of uint32 values into a slice of uint32 pointers

func Uint32Value

func Uint32Value(v *uint32) uint32

Uint32Value returns the value of the uint32 pointer passed in or 0 if the pointer is nil.

func Uint32ValueMap

func Uint32ValueMap(src map[string]*uint32) map[string]uint32

Uint32ValueMap converts a string map of uint32 pointers into a string map of uint32 values

func Uint32ValueSlice

func Uint32ValueSlice(src []*uint32) []uint32

Uint32ValueSlice converts a slice of uint32 pointers into a slice of uint32 values

func Uint64

func Uint64(v uint64) *uint64

Uint64 returns a pointer to the uint64 value passed in.

func Uint64Map

func Uint64Map(src map[string]uint64) map[string]*uint64

Uint64Map converts a string map of uint64 values into a string map of uint64 pointers

func Uint64Slice

func Uint64Slice(src []uint64) []*uint64

Uint64Slice converts a slice of uint64 values into a slice of uint64 pointers

func Uint64Value

func Uint64Value(v *uint64) uint64

Uint64Value returns the value of the uint64 pointer passed in or 0 if the pointer is nil.

func Uint64ValueMap

func Uint64ValueMap(src map[string]*uint64) map[string]uint64

Uint64ValueMap converts a string map of uint64 pointers into a string map of uint64 values

func Uint64ValueSlice

func Uint64ValueSlice(src []*uint64) []uint64

Uint64ValueSlice converts a slice of uint64 pointers into a slice of uint64 values

func Uint8

func Uint8(v uint8) *uint8

Uint8 returns a pointer to the uint8 value passed in.

func Uint8Map

func Uint8Map(src map[string]uint8) map[string]*uint8

Uint8Map converts a string map of uint8 values into a string map of uint8 pointers

func Uint8Slice

func Uint8Slice(src []uint8) []*uint8

Uint8Slice converts a slice of uint8 values into a slice of uint8 pointers

func Uint8Value

func Uint8Value(v *uint8) uint8

Uint8Value returns the value of the uint8 pointer passed in or 0 if the pointer is nil.

func Uint8ValueMap

func Uint8ValueMap(src map[string]*uint8) map[string]uint8

Uint8ValueMap converts a string map of uint8 pointers into a string map of uint8 values

func Uint8ValueSlice

func Uint8ValueSlice(src []*uint8) []uint8

Uint8ValueSlice converts a slice of uint8 pointers into a slice of uint8 values

func UintMap

func UintMap(src map[string]uint) map[string]*uint

UintMap converts a string map of uint values uinto a string map of uint pointers

func UintSlice

func UintSlice(src []uint) []*uint

UintSlice converts a slice of uint values uinto a slice of uint pointers

func UintValue

func UintValue(v *uint) uint

UintValue returns the value of the uint pointer passed in or 0 if the pointer is nil.

func UintValueMap

func UintValueMap(src map[string]*uint) map[string]uint

UintValueMap converts a string map of uint pointers uinto a string map of uint values

func UintValueSlice

func UintValueSlice(src []*uint) []uint

UintValueSlice converts a slice of uint pointers uinto a slice of uint values

func Unzip

func Unzip(archive, target string) error

Unzip archive file to target dir

func Zip

func Zip(source, target string) error

Zip zip compressing source dir to target file

Types

type Hosts

type Hosts struct {
	Path  string
	Lines []HostsLine
}

Hosts represents a hosts file.

func NewHosts

func NewHosts(hostsFile string) (Hosts, error)

NewHosts return a new instance of “Hosts“.

func (*Hosts) Add

func (h *Hosts) Add(ip string, hosts ...string)

Add an entry to the hosts file.

func (*Hosts) AddLines

func (h *Hosts) AddLines(lines ...string)

AddLines adds entries to the hosts file.

func (*Hosts) Cleanup

func (h *Hosts) Cleanup() error

Cleanup remove entries created by rainbond from the hosts file.

func (Hosts) Flush

func (h Hosts) Flush() error

Flush any changes made to hosts file.

type HostsLine

type HostsLine struct {
	IP    string
	Hosts []string
	Raw   string
	Err   error
}

HostsLine represents a single line in the hosts file.

func NewHostsLine

func NewHostsLine(raw string) HostsLine

NewHostsLine returns a new instance of ```HostsLine```.

func (HostsLine) IsComment

func (l HostsLine) IsComment() bool

IsComment returns ```true``` if the line is a comment.

type IPEVENT

type IPEVENT struct {
	Type IPEVENTTYPE
	IP   net.IP
}

IPEVENT ip change event

type IPEVENTTYPE

type IPEVENTTYPE int

IPEVENTTYPE ip change event type

const (
	//ADD add event
	ADD IPEVENTTYPE = iota
	//DEL del event
	DEL
	//UPDATE update event
	UPDATE
)

type IPPool

type IPPool struct {
	HostIPs map[string]net.IP
	EventCh chan IPEVENT
	StopCh  chan struct{}
	// contains filtered or unexported fields
}

IPPool ip pool

func NewIPPool

func NewIPPool(ignoreInterfaceName []string) *IPPool

NewIPPool new ip pool

func (*IPPool) Close

func (i *IPPool) Close()

Close close

func (*IPPool) GetHostIPs

func (i *IPPool) GetHostIPs() []net.IP

GetHostIPs get host ips

func (*IPPool) GetWatchIPChan

func (i *IPPool) GetWatchIPChan() <-chan IPEVENT

GetWatchIPChan watch ip change

func (*IPPool) LoopCheckIPs

func (i *IPPool) LoopCheckIPs()

LoopCheckIPs loop check ips

func (*IPPool) Ready

func (i *IPPool) Ready() bool

Ready ready

type PipeCommand

type PipeCommand struct {
	// contains filtered or unexported fields
}

PipeCommand PipeCommand

func NewPipeCommand

func NewPipeCommand(stack ...*exec.Cmd) (*PipeCommand, error)

NewPipeCommand new pipe commands

func (*PipeCommand) GetFinalStderr

func (p *PipeCommand) GetFinalStderr() io.Reader

GetFinalStderr get final command stderr reader

func (*PipeCommand) GetFinalStdout

func (p *PipeCommand) GetFinalStdout() io.Reader

GetFinalStdout get final command stdout reader

func (*PipeCommand) Run

func (p *PipeCommand) Run() error

Run Run

type SSHClient

type SSHClient struct {
	IP             string
	Port           int
	User           string
	Password       string
	Method         string
	Key            string
	Stdout, Stderr io.Writer
	Cmd            string
}

SSHClient ssh client

func NewSSHClient

func NewSSHClient(ip, user, password, cmd string, port int, stdout, stderr io.Writer) *SSHClient

NewSSHClient new ssh client

func (*SSHClient) Connection

func (server *SSHClient) Connection() error

Connection 执行远程连接

type ServeMux

type ServeMux interface {
	HandleFunc(pattern string, funC http.HandlerFunc)
}

ServeMux -

type StdType

type StdType byte

StdType is the type of standard stream a writer can multiplex to.

const (
	// Stdin represents standard input stream type.
	Stdin StdType = iota
	// Stdout represents standard output stream type.
	Stdout
	// Stderr represents standard error steam type.
	Stderr
	// Systemerr represents errors originating from the system that make it
	// into the the multiplexed stream.
	Systemerr
)

type TimeVersion

type TimeVersion string

TimeVersion time version

func NewTimeVersion

func NewTimeVersion() TimeVersion

NewTimeVersion return version string by time

Directories

Path Synopsis
etcdlock
Package etcdlock Master election using etcd.
Package etcdlock Master election using etcd.

Jump to

Keyboard shortcuts

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