zetcd

package module
v0.0.0-...-5aa6c8e Latest Latest
Warning

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

Go to latest
Published: Oct 4, 2020 License: Apache-2.0 Imports: 21 Imported by: 0

README

ZKLib

By Bowen Xiao

This project is based on zetcd.

New changes are you can use it as a library instead of client request.

Now you are able to use ZK API with only one etcd instance w/o ZK server.

Why build it?

We try to pack Zetcd into a library instead of a server to make it a binary release. It will be better for operations management and the complexity of whole software.

How to use it?

See API and DEMO for more info.

Test

  1. Run Etcd/PD in local environment (standalone mode)

  2. Run go test

Documentation

Index

Constants

View Source
const (
	FlagEphemeral = 1
	FlagSequence  = 2
)
View Source
const (
	StateUnknown           = State(-1)
	StateDisconnected      = State(0)
	StateConnecting        = State(1)
	StateSyncConnected     = State(3)
	StateAuthFailed        = State(4)
	StateConnectedReadOnly = State(5)
	StateSaslAuthenticated = State(6)
	StateExpired           = State(-112)

	StateConnected  = State(100)
	StateHasSession = State(101)
)
View Source
const (
	DefaultPort = 2181
)

Variables

View Source
var (
	ErrConnectionClosed        = errors.New("zk: connection closed")
	ErrUnknown                 = errors.New("zk: unknown error")
	ErrAPIError                = errors.New("zk: api error")
	ErrNoNode                  = errors.New("zk: node does not exist")
	ErrNoAuth                  = errors.New("zk: not authenticated")
	ErrBadVersion              = errors.New("zk: version conflict")
	ErrNoChildrenForEphemerals = errors.New("zk: ephemeral nodes may not have children")
	ErrNodeExists              = errors.New("zk: node already exists")
	ErrNotEmpty                = errors.New("zk: node has children")
	ErrSessionExpired          = errors.New("zk: session has been expired by the server")
	ErrInvalidACL              = errors.New("zk: invalid ACL specified")
	ErrAuthFailed              = errors.New("zk: client authentication failed")
	ErrClosing                 = errors.New("zk: zookeeper is closing")
	ErrNothing                 = errors.New("zk: no server responsees to process")
	ErrSessionMoved            = errors.New("zk: session moved to another server, so operation is ignored")

	ErrBadArguments = errors.New("zk: bad arguments")
)
View Source
var (
	ErrShortBuffer        = errors.New("short buffer")
	ErrPtrExpected        = errors.New("ptr expected")
	ErrUnhandledFieldType = errors.New("unhandled field type")
)
View Source
var PerfectZXidMode bool = true

PerfectZXid is enabled to insert err writes to match zookeeper's zxids

Functions

func Create

func Create(zk *ZKClient, Path string, data []byte, flags int32, acl []ACL, t *testing.T)

func Delete

func Delete(zk *ZKClient, Path string, version int32, t *testing.T, e error)

func Get

func Get(zk *ZKClient, Path string, expect string, t *testing.T)

func ReadPacket

func ReadPacket(zk net.Conn, r interface{}) (string, error)

func Serve

func Serve(ctx context.Context, ln net.Listener, auth AuthFunc, zk ZKFunc)

Serve will serve multiple sessions in concurrently.

func ServeSerial

func ServeSerial(ctx context.Context, ln net.Listener, auth AuthFunc, zk ZKFunc)

ServeSerial has at most one inflight request at a time so two servers can be reliably cross checked.

func Set

func Set(zk *ZKClient, Path string, data []byte, version int32, t *testing.T, e error)

func WritePacket

func WritePacket(zk net.Conn, r interface{}) error

Types

type ACL

type ACL struct {
	Perms  int32
	Scheme string
	ID     string
}

type AuthConn

type AuthConn interface {
	Read() (*AuthRequest, error)
	Write(AuthResponse) (Conn, error)
	Close()
}

AuthConn transfers zookeeper handshaking for establishing a session

func NewAuthConn

func NewAuthConn(c net.Conn) AuthConn

type AuthFunc

type AuthFunc func(AuthConn) (Session, error)

func NewAuth

func NewAuth(c *etcd.Client) AuthFunc

type AuthRequest

type AuthRequest struct {
	Req            *ConnectRequest
	FourLetterWord string
}

type AuthResponse

type AuthResponse struct {
	Resp           *ConnectResponse
	FourLetterWord string
}

type CheckVersionRequest

type CheckVersionRequest pathVersionRequest

type Client

type Client interface {
	Send(xid Xid, req interface{}) error
	Read() <-chan ZKResponse
	StopNotify() <-chan struct{}
	Close()
}

func NewClient

func NewClient(ctx context.Context, zk net.Conn) Client

type CloseRequest

type CloseRequest struct{}

type CloseResponse

type CloseResponse struct{}

type Conn

type Conn interface {
	Send(xid Xid, zxid ZXid, resp interface{}) error
	Read() <-chan ZKRequest
	StopNotify() <-chan struct{}
	Close()
}

func NewConn

func NewConn(zk net.Conn) Conn

type ConnectRequest

type ConnectRequest struct {
	ProtocolVersion int32
	LastZxidSeen    ZXid
	TimeOut         int32
	SessionID       Sid
	Passwd          []byte
}

type ConnectResponse

type ConnectResponse struct {
	ProtocolVersion int32
	TimeOut         int32
	SessionID       Sid
	Passwd          []byte
}

type CreateRequest

type CreateRequest struct {
	Path  string
	Data  []byte
	Acl   []ACL
	Flags int32
}

type CreateResponse

type CreateResponse pathResponse

type DeleteRequest

type DeleteRequest pathVersionRequest

type DeleteResponse

type DeleteResponse struct{}

type ErrCode

type ErrCode int32

type EventType

type EventType int32
const (
	EventNodeCreated EventType = iota + 1
	EventNodeDeleted
	EventNodeDataChanged
	EventNodeChildrenChanged

	EventSession     = EventType(-1)
	EventNotWatching = EventType(-2)
)

type ExistsRequest

type ExistsRequest pathWatchRequest

type ExistsResponse

type ExistsResponse statResponse

type GetAclRequest

type GetAclRequest pathRequest

type GetAclResponse

type GetAclResponse struct {
	Acl  []ACL
	Stat Stat
}

type GetChildren2Request

type GetChildren2Request pathWatchRequest

type GetChildren2Response

type GetChildren2Response struct {
	Children []string
	Stat     Stat
}

type GetChildrenRequest

type GetChildrenRequest pathWatchRequest

type GetChildrenResponse

type GetChildrenResponse struct {
	Children []string
}

type GetDataRequest

type GetDataRequest pathWatchRequest

type GetDataResponse

type GetDataResponse struct {
	Data []byte
	Stat Stat
}

type MultiHeader

type MultiHeader struct {
	Type Op
	Done bool
	Err  ErrCode
}

type MultiRequest

type MultiRequest struct {
	Ops        []MultiRequestOp
	DoneHeader MultiHeader
}

func (*MultiRequest) Decode

func (r *MultiRequest) Decode(buf []byte) (int, error)

func (*MultiRequest) Encode

func (r *MultiRequest) Encode(buf []byte) (int, error)

type MultiRequestOp

type MultiRequestOp struct {
	Header MultiHeader
	Op     interface{}
}

type MultiResponse

type MultiResponse struct {
	Ops        []MultiResponseOp
	DoneHeader MultiHeader
}

func (*MultiResponse) Decode

func (r *MultiResponse) Decode(buf []byte) (int, error)

func (*MultiResponse) Encode

func (r *MultiResponse) Encode(buf []byte) (int, error)

type MultiResponseOp

type MultiResponseOp struct {
	Header MultiHeader
	String string
	Stat   *Stat
}

type Op

type Op int32

type PingRequest

type PingRequest struct{}

type PingResponse

type PingResponse struct{}

type ResponseHeader

type ResponseHeader struct {
	Xid  Xid
	Zxid ZXid
	Err  ErrCode
}

type Session

type Session interface {
	Conn
	Watches
	Sid() Sid
	ZXid() ZXid
	ConnReq() ConnectRequest
	Backing() interface{}
}

type SessionPool

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

func NewSessionPool

func NewSessionPool(client *etcd.Client) *SessionPool

func (*SessionPool) Auth

func (sp *SessionPool) Auth(zka AuthConn) (Session, error)

type SetAclRequest

type SetAclRequest struct {
	Path    string
	Acl     []ACL
	Version Ver
}

type SetAclResponse

type SetAclResponse statResponse

type SetAuthRequest

type SetAuthRequest auth

type SetAuthResponse

type SetAuthResponse struct{}

type SetDataRequest

type SetDataRequest struct {
	Path    string
	Data    []byte
	Version Ver
}

type SetDataResponse

type SetDataResponse statResponse

type SetWatchesRequest

type SetWatchesRequest struct {
	RelativeZxid ZXid
	DataWatches  []string
	ExistWatches []string
	ChildWatches []string
}

type SetWatchesResponse

type SetWatchesResponse struct{}

type Sid

type Sid int64

type Stat

type Stat struct {
	// Czxid is the zxid change that caused this znode to be created.
	Czxid ZXid
	// Mzxid is The zxid change that last modified this znode.
	Mzxid ZXid
	// Ctime is milliseconds from epoch when this znode was created.
	Ctime int64
	// Mtime is The time in milliseconds from epoch when this znode was last modified.
	Mtime          int64
	Version        Ver   // The number of changes to the data of this znode.
	Cversion       Ver   // The number of changes to the children of this znode.
	Aversion       Ver   // The number of changes to the ACL of this znode.
	EphemeralOwner Sid   // The session id of the owner of this znode if the znode is an ephemeral node. If it is not an ephemeral node, it will be zero.
	DataLength     int32 // The length of the data field of this znode.
	NumChildren    int32 // The number of children of this znode.
	Pzxid          ZXid  // last modified children
}

type State

type State int32

type SyncRequest

type SyncRequest pathRequest

type SyncResponse

type SyncResponse pathResponse

type Ver

type Ver int32 // version

type WatchHandler

type WatchHandler func(ZXid, EventType)

type WatcherEvent

type WatcherEvent struct {
	Type  EventType
	State State
	Path  string
}

type Watches

type Watches interface {
	// Watch creates a watch request on a given path and evtype.
	Watch(rev ZXid, xid Xid, path string, evtype EventType, cb WatchHandler)

	// Wait blocks until all watches that rely on the given rev are dispatched.
	Wait(rev ZXid, path string, evtype EventType)
}

type Xid

type Xid int32

type ZK

type ZK interface {
	Create(xid Xid, op *CreateRequest) ZKResponse
	Delete(xid Xid, op *DeleteRequest) ZKResponse
	Exists(xid Xid, op *ExistsRequest) ZKResponse
	GetData(xid Xid, op *GetDataRequest) ZKResponse
	SetData(xid Xid, op *SetDataRequest) ZKResponse
	GetAcl(xid Xid, op *GetAclRequest) ZKResponse
	SetAcl(xid Xid, op *SetAclRequest) ZKResponse
	GetChildren(xid Xid, op *GetChildrenRequest) ZKResponse
	Sync(xid Xid, op *SyncRequest) ZKResponse
	Ping(xid Xid, op *PingRequest) ZKResponse
	GetChildren2(xid Xid, op *GetChildren2Request) ZKResponse
	// opCheck		= 13
	Multi(xid Xid, op *MultiRequest) ZKResponse
	Close(xid Xid, op *CloseRequest) ZKResponse
	SetAuth(xid Xid, op *SetAuthRequest) ZKResponse
	SetWatches(xid Xid, op *SetWatchesRequest) ZKResponse
}

ZK is a synchronous interface

func NewZKEtcd

func NewZKEtcd(c *etcd.Client, s Session) ZK

func NewZKLog

func NewZKLog(zk ZK) ZK

type ZKClient

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

func NewZKClient

func NewZKClient(etcdEps []string) *ZKClient

func (*ZKClient) Children

func (z *ZKClient) Children(path string) ([]string, *Stat, error)

func (*ZKClient) ChildrenW

func (z *ZKClient) ChildrenW(path string) ([]string, *Stat, error)

func (*ZKClient) Create

func (z *ZKClient) Create(path string, data []byte, flags int32, acl []ACL) (string, error)

not support flags, acl yet

func (*ZKClient) Delete

func (z *ZKClient) Delete(path string, version int32) error

func (*ZKClient) Exists

func (z *ZKClient) Exists(path string) (bool, *Stat, error)

TODO

func (*ZKClient) ExistsW

func (z *ZKClient) ExistsW(path string) (bool, *Stat, error)

func (*ZKClient) Get

func (z *ZKClient) Get(path string) ([]byte, error)

func (*ZKClient) Set

func (z *ZKClient) Set(path string, data []byte, version int32) (*Stat, error)

type ZKFunc

type ZKFunc func(Session) (ZK, error)

func NewZK

func NewZK(c *etcd.Client) ZKFunc

type ZKRequest

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

func (*ZKRequest) String

func (zk *ZKRequest) String() string

type ZKResponse

type ZKResponse struct {
	Hdr  *ResponseHeader
	Resp interface{}

	// Err is from transmission errors, etc
	Err error
}

func DispatchZK

func DispatchZK(zk ZK, xid Xid, op interface{}) ZKResponse

type ZXid

type ZXid int64

Directories

Path Synopsis
cmd
Package integration is used for testing zetcd against a full etcd server.
Package integration is used for testing zetcd against a full etcd server.
src
github.com/beorn7/perks/quantile
Package quantile computes approximate quantiles over an unbounded data stream within low memory and CPU bounds.
Package quantile computes approximate quantiles over an unbounded data stream within low memory and CPU bounds.
github.com/boltdb/bolt
Package bolt implements a low-level key/value store in pure Go.
Package bolt implements a low-level key/value store in pure Go.
github.com/coreos/etcd/alarm
Package alarm manages health status alarms in etcd.
Package alarm manages health status alarms in etcd.
github.com/coreos/etcd/auth
Package auth provides client role authentication for accessing keys in etcd.
Package auth provides client role authentication for accessing keys in etcd.
github.com/coreos/etcd/auth/authpb
Package authpb is a generated protocol buffer package.
Package authpb is a generated protocol buffer package.
github.com/coreos/etcd/client
Package client provides bindings for the etcd APIs.
Package client provides bindings for the etcd APIs.
github.com/coreos/etcd/clientv3
Package clientv3 implements the official Go etcd client for v3.
Package clientv3 implements the official Go etcd client for v3.
github.com/coreos/etcd/clientv3/concurrency
Package concurrency implements concurrency operations on top of etcd such as distributed locks, barriers, and elections.
Package concurrency implements concurrency operations on top of etcd such as distributed locks, barriers, and elections.
github.com/coreos/etcd/clientv3/namespace
Package namespace is a clientv3 wrapper that translates all keys to begin with a given prefix.
Package namespace is a clientv3 wrapper that translates all keys to begin with a given prefix.
github.com/coreos/etcd/clientv3/naming
Package naming provides an etcd-backed gRPC resolver for discovering gRPC services.
Package naming provides an etcd-backed gRPC resolver for discovering gRPC services.
github.com/coreos/etcd/compactor
Package compactor implements automated policies for compacting etcd's mvcc storage.
Package compactor implements automated policies for compacting etcd's mvcc storage.
github.com/coreos/etcd/discovery
Package discovery provides an implementation of the cluster discovery that is used by etcd.
Package discovery provides an implementation of the cluster discovery that is used by etcd.
github.com/coreos/etcd/error
Package error describes errors in etcd project.
Package error describes errors in etcd project.
github.com/coreos/etcd/etcdserver
Package etcdserver defines how etcd servers interact and store their states.
Package etcdserver defines how etcd servers interact and store their states.
github.com/coreos/etcd/etcdserver/api
Package api manages the capabilities and features that are exposed to clients by the etcd cluster.
Package api manages the capabilities and features that are exposed to clients by the etcd cluster.
github.com/coreos/etcd/etcdserver/api/v2http
Package v2http provides etcd client and server implementations.
Package v2http provides etcd client and server implementations.
github.com/coreos/etcd/etcdserver/api/v2http/httptypes
Package httptypes defines how etcd's HTTP API entities are serialized to and deserialized from JSON.
Package httptypes defines how etcd's HTTP API entities are serialized to and deserialized from JSON.
github.com/coreos/etcd/etcdserver/api/v3client
Package v3client provides clientv3 interfaces from an etcdserver.
Package v3client provides clientv3 interfaces from an etcdserver.
github.com/coreos/etcd/etcdserver/api/v3election
Package v3election provides a v3 election service from an etcdserver.
Package v3election provides a v3 election service from an etcdserver.
github.com/coreos/etcd/etcdserver/api/v3election/v3electionpb
Package v3electionpb is a generated protocol buffer package.
Package v3electionpb is a generated protocol buffer package.
github.com/coreos/etcd/etcdserver/api/v3lock
Package v3lock provides a v3 locking service from an etcdserver.
Package v3lock provides a v3 locking service from an etcdserver.
github.com/coreos/etcd/etcdserver/api/v3lock/v3lockpb
Package v3lockpb is a generated protocol buffer package.
Package v3lockpb is a generated protocol buffer package.
github.com/coreos/etcd/etcdserver/api/v3rpc
Package v3rpc implements etcd v3 RPC system based on gRPC.
Package v3rpc implements etcd v3 RPC system based on gRPC.
github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes
Package rpctypes has types and values shared by the etcd server and client for v3 RPC interaction.
Package rpctypes has types and values shared by the etcd server and client for v3 RPC interaction.
github.com/coreos/etcd/etcdserver/auth
Package auth implements etcd authentication.
Package auth implements etcd authentication.
github.com/coreos/etcd/etcdserver/etcdserverpb
Package etcdserverpb is a generated protocol buffer package.
Package etcdserverpb is a generated protocol buffer package.
github.com/coreos/etcd/etcdserver/membership
Package membership describes individual etcd members and clusters of members.
Package membership describes individual etcd members and clusters of members.
github.com/coreos/etcd/etcdserver/stats
Package stats defines a standard interface for etcd cluster statistics.
Package stats defines a standard interface for etcd cluster statistics.
github.com/coreos/etcd/integration
Package integration implements tests built upon embedded etcd, and focus on etcd correctness.
Package integration implements tests built upon embedded etcd, and focus on etcd correctness.
github.com/coreos/etcd/lease
Package lease provides an interface and implemetation for time-limited leases over arbitrary resources.
Package lease provides an interface and implemetation for time-limited leases over arbitrary resources.
github.com/coreos/etcd/lease/leasehttp
Package leasehttp serves lease renewals made through HTTP requests.
Package leasehttp serves lease renewals made through HTTP requests.
github.com/coreos/etcd/lease/leasepb
Package leasepb is a generated protocol buffer package.
Package leasepb is a generated protocol buffer package.
github.com/coreos/etcd/mvcc
Package mvcc defines etcd's stable MVCC storage.
Package mvcc defines etcd's stable MVCC storage.
github.com/coreos/etcd/mvcc/backend
Package backend defines a standard interface for etcd's backend MVCC storage.
Package backend defines a standard interface for etcd's backend MVCC storage.
github.com/coreos/etcd/mvcc/mvccpb
Package mvccpb is a generated protocol buffer package.
Package mvccpb is a generated protocol buffer package.
github.com/coreos/etcd/pkg/adt
Package adt implements useful abstract data types.
Package adt implements useful abstract data types.
github.com/coreos/etcd/pkg/contention
Package contention provides facilities for detecting system contention.
Package contention provides facilities for detecting system contention.
github.com/coreos/etcd/pkg/cpuutil
Package cpuutil provides facilities for detecting cpu-specific features.
Package cpuutil provides facilities for detecting cpu-specific features.
github.com/coreos/etcd/pkg/crc
Package crc provides utility function for cyclic redundancy check algorithms.
Package crc provides utility function for cyclic redundancy check algorithms.
github.com/coreos/etcd/pkg/fileutil
Package fileutil implements utility functions related to files and paths.
Package fileutil implements utility functions related to files and paths.
github.com/coreos/etcd/pkg/httputil
Package httputil provides HTTP utility functions.
Package httputil provides HTTP utility functions.
github.com/coreos/etcd/pkg/idutil
Package idutil implements utility functions for generating unique, randomized ids.
Package idutil implements utility functions for generating unique, randomized ids.
github.com/coreos/etcd/pkg/ioutil
Package ioutil implements I/O utility functions.
Package ioutil implements I/O utility functions.
github.com/coreos/etcd/pkg/logutil
Package logutil includes utilities to facilitate logging.
Package logutil includes utilities to facilitate logging.
github.com/coreos/etcd/pkg/monotime
Package monotime provides a fast monotonic clock source.
Package monotime provides a fast monotonic clock source.
github.com/coreos/etcd/pkg/netutil
Package netutil implements network-related utility functions.
Package netutil implements network-related utility functions.
github.com/coreos/etcd/pkg/pathutil
Package pathutil implements utility functions for handling slash-separated paths.
Package pathutil implements utility functions for handling slash-separated paths.
github.com/coreos/etcd/pkg/pbutil
Package pbutil defines interfaces for handling Protocol Buffer objects.
Package pbutil defines interfaces for handling Protocol Buffer objects.
github.com/coreos/etcd/pkg/report
Package report generates human-readable benchmark reports.
Package report generates human-readable benchmark reports.
github.com/coreos/etcd/pkg/runtime
Package runtime implements utility functions for runtime systems.
Package runtime implements utility functions for runtime systems.
github.com/coreos/etcd/pkg/schedule
Package schedule provides mechanisms and policies for scheduling units of work.
Package schedule provides mechanisms and policies for scheduling units of work.
github.com/coreos/etcd/pkg/srv
Package srv looks up DNS SRV records.
Package srv looks up DNS SRV records.
github.com/coreos/etcd/pkg/testutil
Package testutil provides test utility functions.
Package testutil provides test utility functions.
github.com/coreos/etcd/pkg/tlsutil
Package tlsutil provides utility functions for handling TLS.
Package tlsutil provides utility functions for handling TLS.
github.com/coreos/etcd/pkg/transport
Package transport implements various HTTP transport utilities based on Go net package.
Package transport implements various HTTP transport utilities based on Go net package.
github.com/coreos/etcd/pkg/types
Package types declares various data types and implements type-checking functions.
Package types declares various data types and implements type-checking functions.
github.com/coreos/etcd/pkg/wait
Package wait provides utility functions for polling, listening using Go channel.
Package wait provides utility functions for polling, listening using Go channel.
github.com/coreos/etcd/proxy/grpcproxy
Package grpcproxy is an OSI level 7 proxy for etcd v3 API requests.
Package grpcproxy is an OSI level 7 proxy for etcd v3 API requests.
github.com/coreos/etcd/proxy/grpcproxy/adapter
Package adapter provides gRPC adapters between client and server gRPC interfaces without needing to go through a gRPC connection.
Package adapter provides gRPC adapters between client and server gRPC interfaces without needing to go through a gRPC connection.
github.com/coreos/etcd/proxy/grpcproxy/cache
Package cache exports functionality for efficiently caching and mapping `RangeRequest`s to corresponding `RangeResponse`s.
Package cache exports functionality for efficiently caching and mapping `RangeRequest`s to corresponding `RangeResponse`s.
github.com/coreos/etcd/raft
Package raft sends and receives messages in the Protocol Buffer format defined in the raftpb package.
Package raft sends and receives messages in the Protocol Buffer format defined in the raftpb package.
github.com/coreos/etcd/raft/raftpb
Package raftpb is a generated protocol buffer package.
Package raftpb is a generated protocol buffer package.
github.com/coreos/etcd/rafthttp
Package rafthttp implements HTTP transportation layer for etcd/raft pkg.
Package rafthttp implements HTTP transportation layer for etcd/raft pkg.
github.com/coreos/etcd/snap
Package snap stores raft nodes' states with snapshots.
Package snap stores raft nodes' states with snapshots.
github.com/coreos/etcd/snap/snappb
Package snappb is a generated protocol buffer package.
Package snappb is a generated protocol buffer package.
github.com/coreos/etcd/store
Package store defines etcd's in-memory key/value store.
Package store defines etcd's in-memory key/value store.
github.com/coreos/etcd/version
Package version implements etcd version parsing and contains latest version information.
Package version implements etcd version parsing and contains latest version information.
github.com/coreos/etcd/wal
Package wal provides an implementation of a write ahead log that is used by etcd.
Package wal provides an implementation of a write ahead log that is used by etcd.
github.com/coreos/etcd/wal/walpb
Package walpb is a generated protocol buffer package.
Package walpb is a generated protocol buffer package.
github.com/coreos/go-semver/semver
Semantic Versions http://semver.org
Semantic Versions http://semver.org
github.com/coreos/go-systemd/journal
Package journal provides write bindings to the local systemd journal.
Package journal provides write bindings to the local systemd journal.
github.com/dgrijalva/jwt-go
Package jwt is a Go implementation of JSON Web Tokens: http://self-issued.info/docs/draft-jones-json-web-token.html
Package jwt is a Go implementation of JSON Web Tokens: http://self-issued.info/docs/draft-jones-json-web-token.html
github.com/gogo/protobuf/proto
Package proto converts data structures to and from the wire format of protocol buffers.
Package proto converts data structures to and from the wire format of protocol buffers.
github.com/golang/glog
Package glog implements logging analogous to the Google-internal C++ INFO/ERROR/V setup.
Package glog implements logging analogous to the Google-internal C++ INFO/ERROR/V setup.
github.com/golang/groupcache/lru
Package lru implements an LRU cache.
Package lru implements an LRU cache.
github.com/golang/protobuf/proto
Package proto converts data structures to and from the wire format of protocol buffers.
Package proto converts data structures to and from the wire format of protocol buffers.
github.com/google/btree
Package btree implements in-memory B-Trees of arbitrary degree.
Package btree implements in-memory B-Trees of arbitrary degree.
github.com/matttproud/golang_protobuf_extensions/pbutil
Package pbutil provides record length-delimited Protocol Buffer streaming.
Package pbutil provides record length-delimited Protocol Buffer streaming.
github.com/prometheus/client_golang/prometheus
Package prometheus provides metrics primitives to instrument code for monitoring.
Package prometheus provides metrics primitives to instrument code for monitoring.
github.com/prometheus/client_model/go
Package io_prometheus_client is a generated protocol buffer package.
Package io_prometheus_client is a generated protocol buffer package.
github.com/prometheus/common/expfmt
Package expfmt contains tools for reading and writing Prometheus metrics.
Package expfmt contains tools for reading and writing Prometheus metrics.
HTTP Content-Type Autonegotiation.
github.com/prometheus/common/model
Package model contains common data structures that are shared across Prometheus components and libraries.
Package model contains common data structures that are shared across Prometheus components and libraries.
github.com/prometheus/procfs
Package procfs provides functions to retrieve system, kernel and process metrics from the pseudo-filesystem proc.
Package procfs provides functions to retrieve system, kernel and process metrics from the pseudo-filesystem proc.
github.com/prometheus/procfs/xfs
Package xfs provides access to statistics exposed by the XFS filesystem.
Package xfs provides access to statistics exposed by the XFS filesystem.
github.com/russross/blackfriday
Package blackfriday is a Markdown processor.
Package blackfriday is a Markdown processor.
github.com/samuel/go-zookeeper/zk
Package zk is a native Go client library for the ZooKeeper orchestration service.
Package zk is a native Go client library for the ZooKeeper orchestration service.
github.com/spf13/cobra
Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces.
Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces.
github.com/spf13/pflag
Package pflag is a drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
Package pflag is a drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
github.com/ugorji/go/codec
High Performance, Feature-Rich Idiomatic Go codec/encoding library for binc, msgpack, cbor, json.
High Performance, Feature-Rich Idiomatic Go codec/encoding library for binc, msgpack, cbor, json.
golang.org/x/crypto/bcrypt
Package bcrypt implements Provos and Mazières's bcrypt adaptive hashing algorithm.
Package bcrypt implements Provos and Mazières's bcrypt adaptive hashing algorithm.
golang.org/x/crypto/blowfish
Package blowfish implements Bruce Schneier's Blowfish encryption algorithm.
Package blowfish implements Bruce Schneier's Blowfish encryption algorithm.
golang.org/x/net/context
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
golang.org/x/net/http2
Package http2 implements the HTTP/2 protocol.
Package http2 implements the HTTP/2 protocol.
golang.org/x/net/http2/hpack
Package hpack implements HPACK, a compression format for efficiently representing HTTP header fields in the context of HTTP/2.
Package hpack implements HPACK, a compression format for efficiently representing HTTP header fields in the context of HTTP/2.
golang.org/x/net/idna
Package idna implements IDNA2008 using the compatibility processing defined by UTS (Unicode Technical Standard) #46, which defines a standard to deal with the transition from IDNA2003.
Package idna implements IDNA2008 using the compatibility processing defined by UTS (Unicode Technical Standard) #46, which defines a standard to deal with the transition from IDNA2003.
golang.org/x/net/internal/timeseries
Package timeseries implements a time series structure for stats collection.
Package timeseries implements a time series structure for stats collection.
golang.org/x/net/lex/httplex
Package httplex contains rules around lexical matters of various HTTP-related specifications.
Package httplex contains rules around lexical matters of various HTTP-related specifications.
golang.org/x/net/trace
Package trace implements tracing of requests and long-lived objects.
Package trace implements tracing of requests and long-lived objects.
golang.org/x/sys/unix
Package unix contains an interface to the low-level operating system primitives.
Package unix contains an interface to the low-level operating system primitives.
golang.org/x/text/secure/bidirule
Package bidirule implements the Bidi Rule defined by RFC 5893.
Package bidirule implements the Bidi Rule defined by RFC 5893.
golang.org/x/text/transform
Package transform provides reader and writer wrappers that transform the bytes passing through as well as various transformations.
Package transform provides reader and writer wrappers that transform the bytes passing through as well as various transformations.
golang.org/x/text/unicode/bidi
Package bidi contains functionality for bidirectional text support.
Package bidi contains functionality for bidirectional text support.
golang.org/x/text/unicode/norm
Package norm contains types and functions for normalizing Unicode strings.
Package norm contains types and functions for normalizing Unicode strings.
golang.org/x/time/rate
Package rate provides a rate limiter.
Package rate provides a rate limiter.
google.golang.org/grpc
Package grpc implements an RPC system called gRPC.
Package grpc implements an RPC system called gRPC.
google.golang.org/grpc/codes
Package codes defines the canonical error codes used by gRPC.
Package codes defines the canonical error codes used by gRPC.
google.golang.org/grpc/credentials
Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server and make various assertions, e.g., about the client's identity, role, or whether it is authorized to make a particular call.
Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server and make various assertions, e.g., about the client's identity, role, or whether it is authorized to make a particular call.
google.golang.org/grpc/grpclog
Package grpclog defines logging for grpc.
Package grpclog defines logging for grpc.
google.golang.org/grpc/internal
Package internal contains gRPC-internal code for testing, to avoid polluting the godoc of the top-level grpc package.
Package internal contains gRPC-internal code for testing, to avoid polluting the godoc of the top-level grpc package.
google.golang.org/grpc/keepalive
Package keepalive defines configurable parameters for point-to-point healthcheck.
Package keepalive defines configurable parameters for point-to-point healthcheck.
google.golang.org/grpc/metadata
Package metadata define the structure of the metadata supported by gRPC library.
Package metadata define the structure of the metadata supported by gRPC library.
google.golang.org/grpc/naming
Package naming defines the naming API and related data structures for gRPC.
Package naming defines the naming API and related data structures for gRPC.
google.golang.org/grpc/peer
Package peer defines various peer information associated with RPCs and corresponding utils.
Package peer defines various peer information associated with RPCs and corresponding utils.
google.golang.org/grpc/stats
Package stats is for collecting and reporting various network and RPC stats.
Package stats is for collecting and reporting various network and RPC stats.
google.golang.org/grpc/tap
Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information.
Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information.
google.golang.org/grpc/transport
Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC).
Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC).

Jump to

Keyboard shortcuts

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