Documentation ¶
Index ¶
- Variables
- func HandleEnvelopeSubscription(sub EnvelopeSubscription, handler func(*Envelope) error)
- func ListenOnExternalPort(c *listenConfig)
- func ListenOnIPV6(c *listenConfig)
- func ListenOnLocalIPs(c *listenConfig)
- func ListenOnPrivateIPs(c *listenConfig)
- func SendWithConnectionInfo(c *peer.ConnectionInfo) func(*sendOptions)
- func SendWithResponse(v interface{ ... }, t time.Duration) func(*sendOptions)
- func WithLocalPeer(k localpeer.LocalPeer) func(*network)
- type DataForwardEnvelope
- type DataForwardRequest
- type DataForwardResponse
- type Envelope
- type EnvelopeFilter
- type EnvelopePubSub
- type EnvelopeSubscription
- type ListenOption
- type MockEnvelopeSubscription
- type Network
- type Option
- type OutboxesMap
- func (m *OutboxesMap) Delete(k crypto.PublicKey)
- func (m *OutboxesMap) Get(k crypto.PublicKey) (*outbox, bool)
- func (m *OutboxesMap) GetOrPut(k crypto.PublicKey, v *outbox) (*outbox, bool)
- func (m *OutboxesMap) ListKeys() []crypto.PublicKey
- func (m *OutboxesMap) ListValues() []*outbox
- func (m *OutboxesMap) Put(k crypto.PublicKey, v *outbox)
- func (m *OutboxesMap) Range(i func(k crypto.PublicKey, v *outbox) bool)
- type Resolver
- type ResolverSyncList
- type SendOption
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrNotFound is returned by Get() when the object was not found ErrNotFound = errors.New("not found") // ErrCannotSendToSelf is returned when trying to Send() to our own peer ErrCannotSendToSelf = errors.New("cannot send objects to ourself") // ErrInvalidRequest when received an invalid request object ErrInvalidRequest = errors.Error("invalid request") // ErrSendingTimedOut when sending times out ErrSendingTimedOut = errors.Error("sending timed out") // ErrAlreadySentDuringContext when trying to send to the same peer during // this context ErrAlreadySentDuringContext = errors.Error("already sent to peer") // ErrWaitingForResponseTimedOut is returned when Send is waiting for a // response given a response id ErrWaitingForResponseTimedOut = errors.Error("time out waiting for response") // ErrUnableToUnmarshalIntoResponse is returned when the returned object // cannot be unmarshalled into given struct ErrUnableToUnmarshalIntoResponse = errors.Error("unable to unmarshal into" + " given response") )
Functions ¶
func HandleEnvelopeSubscription ¶
func HandleEnvelopeSubscription( sub EnvelopeSubscription, handler func(*Envelope) error, )
func ListenOnExternalPort ¶
func ListenOnExternalPort(c *listenConfig)
func ListenOnIPV6 ¶
func ListenOnIPV6(c *listenConfig)
func ListenOnLocalIPs ¶
func ListenOnLocalIPs(c *listenConfig)
func ListenOnPrivateIPs ¶
func ListenOnPrivateIPs(c *listenConfig)
func SendWithConnectionInfo ¶ added in v0.15.5
func SendWithConnectionInfo(c *peer.ConnectionInfo) func(*sendOptions)
func SendWithResponse ¶ added in v0.15.5
func WithLocalPeer ¶
WithLocalPeer overrides the default localpeer for the network.
Types ¶
type DataForwardEnvelope ¶ added in v0.15.0
type DataForwardEnvelope struct { Metadata object.Metadata `nimona:"metadata:m,omitempty"` Sender crypto.PublicKey `nimona:"sender:s,omitempty"` Data []byte `nimona:"data:d,omitempty"` }
func (*DataForwardEnvelope) FromObject ¶ added in v0.15.0
func (e *DataForwardEnvelope) FromObject(o *object.Object) error
func (DataForwardEnvelope) ToObject ¶ added in v0.15.0
func (e DataForwardEnvelope) ToObject() *object.Object
func (DataForwardEnvelope) ToObjectMap ¶ added in v0.15.0
func (e DataForwardEnvelope) ToObjectMap() map[string]interface{}
func (*DataForwardEnvelope) Type ¶ added in v0.15.0
func (e *DataForwardEnvelope) Type() string
type DataForwardRequest ¶ added in v0.15.0
type DataForwardRequest struct { Metadata object.Metadata `nimona:"metadata:m,omitempty"` RequestID string `nimona:"requestID:s,omitempty"` Recipient crypto.PublicKey `nimona:"recipient:s,omitempty"` Payload *object.Object `nimona:"payload:o,omitempty"` }
func (*DataForwardRequest) FromObject ¶ added in v0.15.0
func (e *DataForwardRequest) FromObject(o *object.Object) error
func (DataForwardRequest) ToObject ¶ added in v0.15.0
func (e DataForwardRequest) ToObject() *object.Object
func (DataForwardRequest) ToObjectMap ¶ added in v0.15.0
func (e DataForwardRequest) ToObjectMap() map[string]interface{}
func (*DataForwardRequest) Type ¶ added in v0.15.0
func (e *DataForwardRequest) Type() string
type DataForwardResponse ¶ added in v0.15.0
type DataForwardResponse struct { Metadata object.Metadata `nimona:"metadata:m,omitempty"` RequestID string `nimona:"requestID:s,omitempty"` Success bool `nimona:"success:b,omitempty"` }
func (*DataForwardResponse) FromObject ¶ added in v0.15.0
func (e *DataForwardResponse) FromObject(o *object.Object) error
func (DataForwardResponse) ToObject ¶ added in v0.15.0
func (e DataForwardResponse) ToObject() *object.Object
func (DataForwardResponse) ToObjectMap ¶ added in v0.15.0
func (e DataForwardResponse) ToObjectMap() map[string]interface{}
func (*DataForwardResponse) Type ¶ added in v0.15.0
func (e *DataForwardResponse) Type() string
type EnvelopeFilter ¶
func FilterByObjectHash ¶
func FilterByObjectHash(objectHashes ...object.Hash) EnvelopeFilter
func FilterByObjectType ¶
func FilterByObjectType(typePatterns ...string) EnvelopeFilter
func FilterByRequestID ¶ added in v0.15.0
func FilterByRequestID(requestID string) EnvelopeFilter
type EnvelopePubSub ¶
type EnvelopePubSub interface { Publish(*Envelope) Subscribe(...EnvelopeFilter) EnvelopeSubscription }
EnvelopePubSub -
func NewEnvelopePubSub ¶
func NewEnvelopePubSub() EnvelopePubSub
NewEnvelope constructs and returns a new Envelope
type EnvelopeSubscription ¶
type EnvelopeSubscription interface { Channel() <-chan *Envelope Next() (*Envelope, error) Cancel() }
EnvelopeSubscription is returned for every subscription
type ListenOption ¶
type ListenOption func(c *listenConfig)
type MockEnvelopeSubscription ¶
type MockEnvelopeSubscription struct {
// contains filtered or unexported fields
}
func (*MockEnvelopeSubscription) AddNext ¶
func (s *MockEnvelopeSubscription) AddNext(env *Envelope, err error)
func (*MockEnvelopeSubscription) Cancel ¶
func (s *MockEnvelopeSubscription) Cancel()
func (*MockEnvelopeSubscription) Next ¶
func (s *MockEnvelopeSubscription) Next() (*Envelope, error)
type Network ¶
type Network interface { Subscribe( filters ...EnvelopeFilter, ) EnvelopeSubscription Send( ctx context.Context, object *object.Object, publicKey crypto.PublicKey, sendOptions ...SendOption, ) error Listen( ctx context.Context, bindAddress string, options ...ListenOption, ) (net.Listener, error) LocalPeer() localpeer.LocalPeer RegisterResolver( resolver Resolver, ) }
Network interface for mocking
type OutboxesMap ¶
type OutboxesMap struct {
// contains filtered or unexported fields
}
OutboxesMap -
type ResolverSyncList ¶ added in v0.15.5
type ResolverSyncList struct {
// contains filtered or unexported fields
}
ResolverSyncList -
func (*ResolverSyncList) Delete ¶ added in v0.15.5
func (m *ResolverSyncList) Delete(k Resolver)
Delete -
func (*ResolverSyncList) Exists ¶ added in v0.15.5
func (m *ResolverSyncList) Exists(k Resolver) bool
Exists -
func (*ResolverSyncList) List ¶ added in v0.15.5
func (m *ResolverSyncList) List() []Resolver
List -
func (*ResolverSyncList) Range ¶ added in v0.15.5
func (m *ResolverSyncList) Range(i func(k Resolver) bool)
Range -
type SendOption ¶ added in v0.15.5
type SendOption func(*sendOptions)
SendOption for customizing a Send method
Click to show internal directories.
Click to hide internal directories.