transport

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Oct 5, 2021 License: AGPL-3.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Message

type Message interface {
	Marshall() ([]byte, error)
	Unmarshall([]byte) error
}

type ReceivedMessage

type ReceivedMessage struct {
	// Message contains the message content. It is nil when the Error field
	// is not nil.
	Message Message
	// Data contains an optional data associated with the message. A type of
	// the data is different depending on a transport implementation.
	Data interface{}
	// Error contains an optional error returned by a transport.
	Error error
}

ReceivedMessage contains a Message received from a Transport with an additional data.

type Transport

type Transport interface {
	Broadcast(topic string, message Message) error
	// Messages returns a channel that will deliver incoming messages. Note,
	// that only messages for subscribed topics will be supported by this
	// method, for unsubscribed topic nil will be returned. In case of an
	// error, error will be returned in a ReceivedMessage structure.
	Messages(topic string) chan ReceivedMessage
	// Start starts listening for messages.
	Start() error
	// Wait waits until transport's context is cancelled.
	Wait()
}

Transport is the interface for different implementations of a publish–subscribe messaging solutions for the Oracle network.

Directories

Path Synopsis
p2p

Jump to

Keyboard shortcuts

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