node

package
v0.0.0-...-a4d05e0 Latest Latest
Warning

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

Go to latest
Published: May 11, 2023 License: MIT Imports: 39 Imported by: 0

Documentation

Overview

Package node is a generated GoMock package.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnknownTopic       = errors.New("topic does not exist")
	ErrMissingTopic       = errors.New("missing topic")
	ErrTooManyTopics      = errors.New("too many topics")
	ErrTopicAlreadyExists = errors.New("topic already exists")
)
View Source
var (
	ErrNoSyncPeer = errors.New("no peer to sync with")
)

Functions

func DecodePrivateKey

func DecodePrivateKey(keyHex string) (crypto.PrivKey, error)

func GeneratePrivateKey

func GeneratePrivateKey() (crypto.PrivKey, error)

func PrivateKeyToHex

func PrivateKeyToHex(key crypto.PrivKey) (string, error)

Types

type Metrics

type Metrics struct {
	API      *gateway.Metrics
	Replicas *crdt.Metrics
	// contains filtered or unexported fields
}

func NewMetrics

func NewMetrics() *Metrics

type MockMessageApi_SubscribeServer

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

MockMessageApi_SubscribeServer is a mock of MessageApi_SubscribeServer interface.

func NewMockMessageApi_SubscribeServer

func NewMockMessageApi_SubscribeServer(ctrl *gomock.Controller) *MockMessageApi_SubscribeServer

NewMockMessageApi_SubscribeServer creates a new mock instance.

func (*MockMessageApi_SubscribeServer) Context

Context mocks base method.

func (*MockMessageApi_SubscribeServer) EXPECT

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

func (*MockMessageApi_SubscribeServer) RecvMsg

func (m *MockMessageApi_SubscribeServer) RecvMsg(arg0 interface{}) error

RecvMsg mocks base method.

func (*MockMessageApi_SubscribeServer) Send

Send mocks base method.

func (*MockMessageApi_SubscribeServer) SendHeader

func (m *MockMessageApi_SubscribeServer) SendHeader(arg0 metadata.MD) error

SendHeader mocks base method.

func (*MockMessageApi_SubscribeServer) SendMsg

func (m *MockMessageApi_SubscribeServer) SendMsg(arg0 interface{}) error

SendMsg mocks base method.

func (*MockMessageApi_SubscribeServer) SetHeader

func (m *MockMessageApi_SubscribeServer) SetHeader(arg0 metadata.MD) error

SetHeader mocks base method.

func (*MockMessageApi_SubscribeServer) SetTrailer

func (m *MockMessageApi_SubscribeServer) SetTrailer(arg0 metadata.MD)

SetTrailer mocks base method.

type MockMessageApi_SubscribeServerMockRecorder

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

MockMessageApi_SubscribeServerMockRecorder is the mock recorder for MockMessageApi_SubscribeServer.

func (*MockMessageApi_SubscribeServerMockRecorder) Context

Context indicates an expected call of Context.

func (*MockMessageApi_SubscribeServerMockRecorder) RecvMsg

func (mr *MockMessageApi_SubscribeServerMockRecorder) RecvMsg(arg0 interface{}) *gomock.Call

RecvMsg indicates an expected call of RecvMsg.

func (*MockMessageApi_SubscribeServerMockRecorder) Send

func (mr *MockMessageApi_SubscribeServerMockRecorder) Send(arg0 interface{}) *gomock.Call

Send indicates an expected call of Send.

func (*MockMessageApi_SubscribeServerMockRecorder) SendHeader

func (mr *MockMessageApi_SubscribeServerMockRecorder) SendHeader(arg0 interface{}) *gomock.Call

SendHeader indicates an expected call of SendHeader.

func (*MockMessageApi_SubscribeServerMockRecorder) SendMsg

func (mr *MockMessageApi_SubscribeServerMockRecorder) SendMsg(arg0 interface{}) *gomock.Call

SendMsg indicates an expected call of SendMsg.

func (*MockMessageApi_SubscribeServerMockRecorder) SetHeader

func (mr *MockMessageApi_SubscribeServerMockRecorder) SetHeader(arg0 interface{}) *gomock.Call

SetHeader indicates an expected call of SetHeader.

func (*MockMessageApi_SubscribeServerMockRecorder) SetTrailer

func (mr *MockMessageApi_SubscribeServerMockRecorder) SetTrailer(arg0 interface{}) *gomock.Call

SetTrailer indicates an expected call of SetTrailer.

type Node

type Node struct {
	messagev1.UnimplementedMessageApiServer
	// contains filtered or unexported fields
}

func New

func New(ctx context.Context, metrics *Metrics, store NodeStore, opts *Options) (*Node, error)

func (*Node) APIHTTPListenPort

func (n *Node) APIHTTPListenPort() uint

func (*Node) Address

func (n *Node) Address() peer.AddrInfo

func (*Node) BatchQuery

func (*Node) Close

func (n *Node) Close()

func (*Node) Connect

func (n *Node) Connect(ctx context.Context, addr peer.AddrInfo) error

func (*Node) ConnectedPeers

func (n *Node) ConnectedPeers() map[peer.ID]*peer.AddrInfo

func (*Node) DeleteTopic

func (n *Node) DeleteTopic(topic string) error

func (*Node) Disconnect

func (n *Node) Disconnect(ctx context.Context, peer peer.ID) error

func (*Node) ID

func (n *Node) ID() peer.ID

func (*Node) P2PListenAddresses

func (n *Node) P2PListenAddresses() []string

func (*Node) PubSubPeers

func (n *Node) PubSubPeers() []peer.ID

func (*Node) Publish

func (*Node) Query

func (*Node) Subscribe

type NodeStore

type NodeStore interface {
	// Open or create a topic store in the node store
	NewTopic(topic string) (crdt.Store, error)
	// Return list of names for all topic stores in the node store
	Topics() ([]string, error)
	// Close the node store
	Close() error
	// Remove topic from the store.
	// Assumes the replica for the topic has been closed.
	DeleteTopic(topic string) error
}

type Options

type Options struct {
	Log               zap.Options        `group:"Log options" namespace:"log"`
	P2P               P2POptions         `group:"P2P options" namespace:"p2p"`
	API               apigateway.Options `group:"API options" namespace:"api"`
	Store             StoreOptions       `group:"Store options" namespace:"store"`
	TopicReaperPeriod time.Duration      `long:"topic-reaper-period" description:"delete invalid and test topics after this duration"`
}

type P2POptions

type P2POptions struct {
	Port            uint     `long:"port" description:"P2P listen port" default:"0"`
	NodeKey         string   `long:"node-key" env:"XMTP_NODE_KEY" description:"P2P node identity private key in hex format" default:""`
	PersistentPeers []string `long:"persistent-peer" description:"P2P persistent peers"`
}

type StoreOptions

type StoreOptions struct {
	Type     string                `long:"type" description:"type of storage to use" choice:"mem" choice:"postgres" choice:"bolt" default:"mem"`
	Postgres postgresstore.Options `group:"Store Postgres options" namespace:"postgres"`
	Bolt     bolt.Options          `group:"Store Bolt options" namespace:"bolt"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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