v3rpc

package
v0.0.0-...-b2fb441 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2019 License: Apache-2.0 Imports: 37 Imported by: 0

Documentation

Overview

Package v3rpc implements etcd v3 RPC system based on gRPC.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FiltersFromRequest

func FiltersFromRequest(creq *pb.WatchCreateRequest) []mvcc.FilterFunc

FiltersFromRequest returns "mvcc.FilterFunc" from a given watch create request.

func GetProgressReportInterval

func GetProgressReportInterval() time.Duration

GetProgressReportInterval returns the current progress report interval (for testing).

func NewKVServer

func NewKVServer(s *etcdserver.EtcdServer) pb.KVServer

func NewLeaseServer

func NewLeaseServer(s *etcdserver.EtcdServer) pb.LeaseServer

func NewMaintenanceServer

func NewMaintenanceServer(s *etcdserver.EtcdServer) pb.MaintenanceServer

func NewQuotaKVServer

func NewQuotaKVServer(s *etcdserver.EtcdServer) pb.KVServer

func NewQuotaLeaseServer

func NewQuotaLeaseServer(s *etcdserver.EtcdServer) pb.LeaseServer

func NewWatchServer

func NewWatchServer(s *etcdserver.EtcdServer) pb.WatchServer

NewWatchServer returns a new watch server.

func Server

func Server(s *etcdserver.EtcdServer, tls *tls.Config, gopts ...grpc.ServerOption) *grpc.Server

Server . grpc api/v3rpc/grpc.go 服务在这里注册

|-etcdserver.Server                                             服务注册
|  |-pb.RegisterKVServer()                                      注册KV服务
|  |-pb.RegisterWatchServer()                                   注册WATCH服务
|  |-pb.RegisterLeaseServer()                                   注册LEASE服务
|  |-pb.RegisterClusterServer()
|  |-pb.RegisterAuthServer()
|  |-pb.RegisterMaintenanceServer()

func SetProgressReportInterval

func SetProgressReportInterval(newTimeout time.Duration)

SetProgressReportInterval updates the current progress report interval (for testing).

Types

type Alarmer

type Alarmer interface {
	// Alarms is implemented in Server interface located in etcdserver/server.go
	// It returns a list of alarms present in the AlarmStore
	Alarms() []*pb.AlarmMember
	Alarm(ctx context.Context, ar *pb.AlarmRequest) (*pb.AlarmResponse, error)
}

type AuthGetter

type AuthGetter interface {
	AuthInfoFromCtx(ctx context.Context) (*auth.AuthInfo, error)
	AuthStore() auth.AuthStore
}

type AuthServer

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

func NewAuthServer

func NewAuthServer(s *etcdserver.EtcdServer) *AuthServer

func (*AuthServer) AuthDisable

func (*AuthServer) AuthEnable

func (*AuthServer) Authenticate

func (*AuthServer) RoleAdd

func (*AuthServer) RoleDelete

func (*AuthServer) RoleGet

func (*AuthServer) RoleList

func (*AuthServer) UserAdd

func (*AuthServer) UserDelete

func (*AuthServer) UserGet

func (*AuthServer) UserGrantRole

func (*AuthServer) UserList

func (*AuthServer) UserRevokeRole

type BackendGetter

type BackendGetter interface {
	Backend() backend.Backend
}

type ClusterServer

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

func NewClusterServer

func NewClusterServer(s etcdserver.ServerV3) *ClusterServer

func (*ClusterServer) MemberAdd

func (*ClusterServer) MemberList

func (*ClusterServer) MemberPromote

func (*ClusterServer) MemberRemove

func (*ClusterServer) MemberUpdate

type ClusterStatusGetter

type ClusterStatusGetter interface {
	IsLearner() bool
}

type KVGetter

type KVGetter interface {
	KV() mvcc.ConsistentWatchableKV
}

type LeaderTransferrer

type LeaderTransferrer interface {
	MoveLeader(ctx context.Context, lead, target uint64) error
}

type LeaseServer

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

func (*LeaseServer) LeaseGrant

func (*LeaseServer) LeaseKeepAlive

func (ls *LeaseServer) LeaseKeepAlive(stream pb.Lease_LeaseKeepAliveServer) (err error)

func (*LeaseServer) LeaseLeases

func (*LeaseServer) LeaseRevoke

func (*LeaseServer) LeaseTimeToLive

Directories

Path Synopsis
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.

Jump to

Keyboard shortcuts

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