embedetcd

package module
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2022 License: Apache-2.0 Imports: 12 Imported by: 1

README

embed-etcd

embed-etcd is an encapsulation of etcd so that use etcd as a library made simple. This project current based on etcd v3.5.2.

Documentation

Overview

Package embedetcd is a generated GoMock package.

Index

Constants

View Source
const (
	EventBecomeLeader   = "leader"
	EventBecomeFollower = "follower"
)

Variables

View Source
var (
	ErrStartEtcd         = errors.New("start etcd failed")
	ErrStartEtcdCanceled = errors.New("etcd start canceled")
)
View Source
var (
	ErrNewMember   = errors.New("create member failed")
	ErrKVGet       = errors.New("get kv data failed")
	ErrKeyNotFound = errors.New("key didn't found in kv store")
	ErrUnmarshall  = errors.New("unmarshall data from kv failed")
)
View Source
var (
	// EtcdStartTimeout the timeout of the startup etcd.
	EtcdStartTimeout = time.Minute * 5
)

Functions

func New

func New(topology map[string]string) *embedEtcd

Types

type Config

type Config struct {
	Name                string   `yaml:"name"`
	DataDir             string   `yaml:"data_dir"`
	ListenClientAddr    string   `yaml:"listen_client_addr"`
	ListenPeerAddr      string   `yaml:"listen_peer_addr"`
	AdvertiseClientAddr string   `yaml:"advertise_client_addr"`
	AdvertisePeerAddr   string   `yaml:"advertise_peer_addr"`
	Clusters            []string `yaml:"clusters"`
}

type EmbedEtcd

type EmbedEtcd interface {
	Init(context.Context, Config) error
	Start(context.Context) (<-chan struct{}, error)
	Stop(context.Context)
}

type EventType

type EventType string

type LeaderInfo

type LeaderInfo struct {
	LeaderID   string `json:"leader_id"`
	LeaderName string `json:"leader_name"`
}

type Member

type Member interface {
	RegisterMembershipChangedProcessor(MembershipEventProcessor)
	ResignIfLeader()
	IsLeader() bool
	GetLeaderID() string
	GetLeaderAddr() string
	IsReady() bool
}

type MembershipChangedEvent

type MembershipChangedEvent struct {
	Type   EventType
	Leader uint64
}

type MembershipEventProcessor

type MembershipEventProcessor func(ctx context.Context, event MembershipChangedEvent) error

type MockMember added in v0.1.2

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

MockMember is a mock of Member interface.

func NewMockMember added in v0.1.2

func NewMockMember(ctrl *gomock.Controller) *MockMember

NewMockMember creates a new mock instance.

func (*MockMember) EXPECT added in v0.1.2

func (m *MockMember) EXPECT() *MockMemberMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockMember) GetLeaderAddr added in v0.1.2

func (m *MockMember) GetLeaderAddr() string

GetLeaderAddr mocks base method.

func (*MockMember) GetLeaderID added in v0.1.2

func (m *MockMember) GetLeaderID() string

GetLeaderID mocks base method.

func (*MockMember) IsLeader added in v0.1.2

func (m *MockMember) IsLeader() bool

IsLeader mocks base method.

func (*MockMember) IsReady added in v0.1.2

func (m *MockMember) IsReady() bool

IsReady mocks base method.

func (*MockMember) RegisterMembershipChangedProcessor added in v0.1.2

func (m *MockMember) RegisterMembershipChangedProcessor(arg0 MembershipEventProcessor)

RegisterMembershipChangedProcessor mocks base method.

func (*MockMember) ResignIfLeader added in v0.1.2

func (m *MockMember) ResignIfLeader()

ResignIfLeader mocks base method.

type MockMemberMockRecorder added in v0.1.2

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

MockMemberMockRecorder is the mock recorder for MockMember.

func (*MockMemberMockRecorder) GetLeaderAddr added in v0.1.2

func (mr *MockMemberMockRecorder) GetLeaderAddr() *gomock.Call

GetLeaderAddr indicates an expected call of GetLeaderAddr.

func (*MockMemberMockRecorder) GetLeaderID added in v0.1.2

func (mr *MockMemberMockRecorder) GetLeaderID() *gomock.Call

GetLeaderID indicates an expected call of GetLeaderID.

func (*MockMemberMockRecorder) IsLeader added in v0.1.2

func (mr *MockMemberMockRecorder) IsLeader() *gomock.Call

IsLeader indicates an expected call of IsLeader.

func (*MockMemberMockRecorder) IsReady added in v0.1.2

func (mr *MockMemberMockRecorder) IsReady() *gomock.Call

IsReady indicates an expected call of IsReady.

func (*MockMemberMockRecorder) RegisterMembershipChangedProcessor added in v0.1.2

func (mr *MockMemberMockRecorder) RegisterMembershipChangedProcessor(arg0 interface{}) *gomock.Call

RegisterMembershipChangedProcessor indicates an expected call of RegisterMembershipChangedProcessor.

func (*MockMemberMockRecorder) ResignIfLeader added in v0.1.2

func (mr *MockMemberMockRecorder) ResignIfLeader() *gomock.Call

ResignIfLeader indicates an expected call of ResignIfLeader.

Directories

Path Synopsis
examples

Jump to

Keyboard shortcuts

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