Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ReceivedMessageFields ¶
func ReceivedMessageFields(p ReceivedMessage) log.Fields
Types ¶
type Message ¶
type Message interface { // MarshallBinary serializes the message into a byte slice. MarshallBinary() ([]byte, error) // UnmarshallBinary deserializes the message from a byte slice. UnmarshallBinary([]byte) error }
Message is a message that can be sent over transport.
type Meta ¶
type Meta struct { Transport string `json:"transport"` Topic string `json:"topic"` MessageID string `json:"message_id"` PeerID string `json:"peer_id"` PeerAddr string `json:"peer_addr"` ReceivedFromPeerID string `json:"received_from_peer_id"` ReceivedFromPeerAddr string `json:"received_from_peer_addr"` UserAgent string `json:"user_agent"` }
type ReceivedMessage ¶
type ReceivedMessage struct { // Message contains the message content. It is nil when the Error field // is not nil. Message Message // Author is the author of the message. Author []byte // Data contains an optional data associated with the message. A type of // the data is different depending on a transport implementation. Data any // Error contains an optional error returned by transport layer. Error error // Meta contains optional information about the message. Meta Meta }
ReceivedMessage contains a Message received from Transport.
func (ReceivedMessage) MarshalJSON ¶
func (p ReceivedMessage) MarshalJSON() ([]byte, error)
type Service ¶
type Service interface { supervisor.Service Transport }
Service implements a mechanism for exchanging messages between Oracles.
type Transport ¶
type Transport interface { // Broadcast sends a message with a given topic. Broadcast(topic string, message Message) error // Messages returns a channel for incoming messages. A new channel is // created for each call, therefore this method should not be used in // loops. In case of an error, an error will be returned in the // ReceivedMessage structure. Messages(topic string) <-chan ReceivedMessage }
type WithAppInfo ¶
Click to show internal directories.
Click to hide internal directories.