Help us shape the future of Go! Take the 2026 Go Developer Survey

transport

package module
v1.6.1 Latest Latest
Warning

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

Go to latest
Published: Jul 22, 2024 License: BSD-2-Clause Imports: 10 Imported by: 40

README

raft-grpc-transport

Godoc

This library provides a Transport for https://github.com/hashicorp/raft over gRPC.

One benefit of this is that gRPC is easy to multiplex over a single port.

Usage

// ...
tm := transport.New(raft.ServerAddress(myAddress), []grpc.DialOption{grpc.WithInsecure()})
s := grpc.NewServer()
tm.Register(s)
r, err := raft.NewRaft(..., tm.Transport())
// ...

Want more example code? Check out main.go at https://github.com/Jille/raft-grpc-example

Documentation

Overview

Package transport provides a Transport for github.com/hashicorp/raft over gRPC.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Manager

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

func New

func New(localAddress raft.ServerAddress, dialOptions []grpc.DialOption, options ...Option) *Manager

New creates both components of raft-grpc-transport: a gRPC service and a Raft Transport.

func (*Manager) Close added in v1.3.0

func (m *Manager) Close() error

func (*Manager) Register

func (m *Manager) Register(s grpc.ServiceRegistrar)

Register the RaftTransport gRPC service on a gRPC server.

func (*Manager) Transport

func (m *Manager) Transport() raft.Transport

Transport returns a raft.Transport that communicates over gRPC.

type Option added in v1.4.0

type Option func(m *Manager)

func WithHeartbeatTimeout added in v1.4.0

func WithHeartbeatTimeout(d time.Duration) Option

WithHeartbeatTimeout configures the transport to not wait for more than d for a heartbeat to be executed by a remote peer.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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