transport

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2023 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNotReachable = errors.New("raft node unreachable")
View Source
var ErrPeerClosed = errors.New("peer closed")

Functions

func NewServer

func NewServer(dmx Demultiplexer) raftpb.RaftServerServer

Types

type Demultiplexer

type Demultiplexer interface {
	Receive(ctx context.Context, msg *raftpb.Message, endpoint string) error
}

type Host

type Host interface {
	Sender
	Demultiplexer

	Stop()
	Register(node uint64, r Receiver)
}

func NewHost

func NewHost(resolver Resolver, callback string) Host

type Multiplexer

type Multiplexer interface {
	Send(ctx context.Context, msg *raftpb.Message, cb SendCallback)
}

type Receiver

type Receiver interface {
	Receive(ctx context.Context, msg *raftpb.Message, from uint64, endpoint string)
}

type Resolver

type Resolver interface {
	Resolve(node uint64) string
}

type SendCallback

type SendCallback func(error)

type Sender

type Sender interface {
	Send(ctx context.Context, msg *raftpb.Message, to uint64, endpoint string, cb SendCallback)
}

type SimpleResolver

type SimpleResolver struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func NewSimpleResolver

func NewSimpleResolver() *SimpleResolver

func (*SimpleResolver) Register

func (r *SimpleResolver) Register(node uint64, endpoint string)

func (*SimpleResolver) Resolve

func (r *SimpleResolver) Resolve(node uint64) string

func (*SimpleResolver) Unregister

func (r *SimpleResolver) Unregister(node uint64)

Jump to

Keyboard shortcuts

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