adapter

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2018 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const MAX_PAYLOADS_IN_MESSAGE = 100000
View Source
const MAX_PAYLOAD_SIZE_BYTES = 10 * 1024 * 1024
View Source
const NETWORK_SIZE = 3

Variables

View Source
var LogTag = log.String("adapter", "gossip")

Functions

func NewMemoryTransport

func NewMemoryTransport(ctx context.Context, logger log.BasicLogger, federation map[string]config.FederationNode) *memoryTransport

Package adapter provides an in-memory implementation of the Gossip Transport adapter, meant for usage in fast tests that should not use the TCP-based adapter, such as acceptance tests or sociable unit tests, or in other in-process network use cases

Types

type ErrCorruptData

type ErrCorruptData struct {
}

func (*ErrCorruptData) Error

func (e *ErrCorruptData) Error() string

type ErrTransportFailed

type ErrTransportFailed struct {
	Data *TransportData
}

func (*ErrTransportFailed) Error

func (e *ErrTransportFailed) Error() string

type MockTransportListener

type MockTransportListener struct {
	mock.Mock
}

func (*MockTransportListener) ExpectNotReceive

func (l *MockTransportListener) ExpectNotReceive()

func (*MockTransportListener) ExpectReceive

func (l *MockTransportListener) ExpectReceive(payloads [][]byte)

func (*MockTransportListener) OnTransportMessageReceived

func (l *MockTransportListener) OnTransportMessageReceived(ctx context.Context, payloads [][]byte)

func (*MockTransportListener) WhenOnTransportMessageReceived

func (l *MockTransportListener) WhenOnTransportMessageReceived(arg interface{}) *mock.MockFunction

type Transport

type Transport interface {
	RegisterListener(listener TransportListener, listenerPublicKey primitives.Ed25519PublicKey)
	Send(ctx context.Context, data *TransportData) error
}

func NewDirectTransport

func NewDirectTransport(ctx context.Context, config config.GossipTransportConfig, logger log.BasicLogger) Transport

type TransportData

type TransportData struct {
	SenderPublicKey     primitives.Ed25519PublicKey
	RecipientMode       gossipmessages.RecipientsListMode
	RecipientPublicKeys []primitives.Ed25519PublicKey
	Payloads            [][]byte // the first payload is normally gossipmessages.Header
}

type TransportListener

type TransportListener interface {
	OnTransportMessageReceived(ctx context.Context, payloads [][]byte)
}

Jump to

Keyboard shortcuts

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