package v3rpc

import "go.etcd.io/etcd/server/v3/etcdserver/api/v3rpc"

Package v3rpc implements etcd v3 RPC system based on gRPC.

Index

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 IsCreateEvent

func IsCreateEvent(e *mvccpb.Event) bool

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, healthNotifier notifier) 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, interceptor grpc.UnaryServerInterceptor, gopts ...grpc.ServerOption) *grpc.Server

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 AuthAdmin

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

type AuthGetter

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

type AuthServer

type AuthServer struct {

	// we want compile errors if new methods are added
	pb.UnsafeAuthServer
	// contains filtered or unexported fields
}

func NewAuthServer

func NewAuthServer(s *etcdserver.EtcdServer) *AuthServer

func (*AuthServer) AuthDisable

func (as *AuthServer) AuthDisable(ctx context.Context, r *pb.AuthDisableRequest) (*pb.AuthDisableResponse, error)

func (*AuthServer) AuthEnable

func (as *AuthServer) AuthEnable(ctx context.Context, r *pb.AuthEnableRequest) (*pb.AuthEnableResponse, error)

func (*AuthServer) AuthStatus

func (as *AuthServer) AuthStatus(ctx context.Context, r *pb.AuthStatusRequest) (*pb.AuthStatusResponse, error)

func (*AuthServer) Authenticate

func (as *AuthServer) Authenticate(ctx context.Context, r *pb.AuthenticateRequest) (*pb.AuthenticateResponse, error)

func (*AuthServer) RoleAdd

func (as *AuthServer) RoleAdd(ctx context.Context, r *pb.AuthRoleAddRequest) (*pb.AuthRoleAddResponse, error)

func (*AuthServer) RoleDelete

func (as *AuthServer) RoleDelete(ctx context.Context, r *pb.AuthRoleDeleteRequest) (*pb.AuthRoleDeleteResponse, error)

func (*AuthServer) RoleGet

func (as *AuthServer) RoleGet(ctx context.Context, r *pb.AuthRoleGetRequest) (*pb.AuthRoleGetResponse, error)

func (*AuthServer) RoleGrantPermission

func (as *AuthServer) RoleGrantPermission(ctx context.Context, r *pb.AuthRoleGrantPermissionRequest) (*pb.AuthRoleGrantPermissionResponse, error)

func (*AuthServer) RoleList

func (as *AuthServer) RoleList(ctx context.Context, r *pb.AuthRoleListRequest) (*pb.AuthRoleListResponse, error)

func (*AuthServer) RoleRevokePermission

func (as *AuthServer) RoleRevokePermission(ctx context.Context, r *pb.AuthRoleRevokePermissionRequest) (*pb.AuthRoleRevokePermissionResponse, error)

func (*AuthServer) UserAdd

func (as *AuthServer) UserAdd(ctx context.Context, r *pb.AuthUserAddRequest) (*pb.AuthUserAddResponse, error)

func (*AuthServer) UserChangePassword

func (as *AuthServer) UserChangePassword(ctx context.Context, r *pb.AuthUserChangePasswordRequest) (*pb.AuthUserChangePasswordResponse, error)

func (*AuthServer) UserDelete

func (as *AuthServer) UserDelete(ctx context.Context, r *pb.AuthUserDeleteRequest) (*pb.AuthUserDeleteResponse, error)

func (*AuthServer) UserGet

func (as *AuthServer) UserGet(ctx context.Context, r *pb.AuthUserGetRequest) (*pb.AuthUserGetResponse, error)

func (*AuthServer) UserGrantRole

func (as *AuthServer) UserGrantRole(ctx context.Context, r *pb.AuthUserGrantRoleRequest) (*pb.AuthUserGrantRoleResponse, error)

func (*AuthServer) UserList

func (as *AuthServer) UserList(ctx context.Context, r *pb.AuthUserListRequest) (*pb.AuthUserListResponse, error)

func (*AuthServer) UserRevokeRole

func (as *AuthServer) UserRevokeRole(ctx context.Context, r *pb.AuthUserRevokeRoleRequest) (*pb.AuthUserRevokeRoleResponse, error)

type BackendGetter

type BackendGetter interface {
	Backend() backend.Backend
}

type ClusterServer

type ClusterServer struct {

	// we want compile errors if new methods are added
	pb.UnsafeClusterServer
	// contains filtered or unexported fields
}

func NewClusterServer

func NewClusterServer(s *etcdserver.EtcdServer) *ClusterServer

func (*ClusterServer) MemberAdd

func (cs *ClusterServer) MemberAdd(ctx context.Context, r *pb.MemberAddRequest) (*pb.MemberAddResponse, error)

func (*ClusterServer) MemberList

func (cs *ClusterServer) MemberList(ctx context.Context, r *pb.MemberListRequest) (*pb.MemberListResponse, error)

func (*ClusterServer) MemberPromote

func (cs *ClusterServer) MemberPromote(ctx context.Context, r *pb.MemberPromoteRequest) (*pb.MemberPromoteResponse, error)

func (*ClusterServer) MemberRemove

func (cs *ClusterServer) MemberRemove(ctx context.Context, r *pb.MemberRemoveRequest) (*pb.MemberRemoveResponse, error)

func (*ClusterServer) MemberUpdate

func (cs *ClusterServer) MemberUpdate(ctx context.Context, r *pb.MemberUpdateRequest) (*pb.MemberUpdateResponse, error)

type ClusterStatusGetter

type ClusterStatusGetter interface {
	IsLearner() bool
}

type ConfigGetter

type ConfigGetter interface {
	Config() config.ServerConfig
}

type Defrager

type Defrager interface {
	Defragment() error
}

type Downgrader

type Downgrader interface {
	Downgrade(ctx context.Context, dr *pb.DowngradeRequest) (*pb.DowngradeResponse, error)
}

type KVGetter

type KVGetter interface {
	KV() mvcc.WatchableKV
}

type LeaderTransferrer

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

type LeaseServer

type LeaseServer struct {
	pb.UnsafeLeaseServer
	// contains filtered or unexported fields
}

func (*LeaseServer) LeaseGrant

func (ls *LeaseServer) LeaseGrant(ctx context.Context, cr *pb.LeaseGrantRequest) (*pb.LeaseGrantResponse, error)

func (*LeaseServer) LeaseKeepAlive

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

func (*LeaseServer) LeaseLeases

func (ls *LeaseServer) LeaseLeases(ctx context.Context, rr *pb.LeaseLeasesRequest) (*pb.LeaseLeasesResponse, error)

func (*LeaseServer) LeaseRevoke

func (ls *LeaseServer) LeaseRevoke(ctx context.Context, rr *pb.LeaseRevokeRequest) (*pb.LeaseRevokeResponse, error)

func (*LeaseServer) LeaseTimeToLive

func (ls *LeaseServer) LeaseTimeToLive(ctx context.Context, rr *pb.LeaseTimeToLiveRequest) (*pb.LeaseTimeToLiveResponse, error)

Source Files

auth.go codec.go grpc.go header.go health.go interceptor.go key.go lease.go maintenance.go member.go metrics.go quota.go util.go watch.go

Version
v3.7.1 (latest)
Published
Jul 23, 2026
Platform
linux/amd64
Imports
53 packages
Last checked
4 hours ago

Tools for package owners.