Documentation ¶
Index ¶
Constants ¶
const CiphertextTag = "AesCiphertext::"
CiphertextTag prefixes all messages that have body encrypted
const EventAppAdded = messages.TypeAppAdded
EventAppAdded is emmited, when peer wants to expose a new app
const EventAppWithdrawn = messages.TypeAppWithdrawn
EventAppWithdrawn is emmited, when peer no longer wants to expose an app
Variables ¶
This section is empty.
Functions ¶
func CreateMockTransportPair ¶
func CreateMockTransportPair() (*MockTransport, *MockTransport)
CreateMockTransportPair creates two mock transports
Types ¶
type DefaultPeer ¶
type DefaultPeer struct {
// contains filtered or unexported fields
}
DefaultPeer implements Peer by plucing out Transport layer into another interface
func NewDefaultPeer ¶
func NewDefaultPeer(introduceAsName string, transport Transport) (*DefaultPeer, error)
NewDefaultPeer creates PeerConnection instances
func (*DefaultPeer) AppEvents ¶
func (o *DefaultPeer) AppEvents() chan AppEvent
AppEvents immplements Peer
func (*DefaultPeer) Frames ¶
func (o *DefaultPeer) Frames() chan messages.Message
Frames returns messages that are used to interchange app data
func (*DefaultPeer) Send ¶
func (o *DefaultPeer) Send(msg messages.Message) error
Send immplements Peer
func (*DefaultPeer) SessionEvents ¶
func (o *DefaultPeer) SessionEvents() chan messages.Message
SessionEvents immplements Peer
type DefaultPeerFactory ¶
type DefaultPeerFactory struct {
// contains filtered or unexported fields
}
DefaultPeerFactory implements PeerFactory
func (*DefaultPeerFactory) Peers ¶
func (defaultPeerFactory *DefaultPeerFactory) Peers() (chan Peer, error)
Peers implements PeerFactory
type MockPeer ¶
type MockPeer struct { // AppEventsPeer can be used to force the mock to emit AppEvents AppEventsPeer chan AppEvent // MessaesFromPeer can be used to simulate, that the mock emits messages MessagesFromPeer chan messages.Message // MessagesToPeer are used to simulate sending messages to remote peer MessagesToPeer chan messages.Message // SessionEvents can be used to simulate, that the mock emits session changing events MessagesSessionEvents chan messages.Message // contains filtered or unexported fields }
MockPeer implements Peer and can be used for unit tests
func (*MockPeer) SessionEvents ¶
SessionEvents implements Peer
type MockTransport ¶
type MockTransport struct {
// contains filtered or unexported fields
}
MockTransport implements Transport and can be used for unit tests
func (*MockTransport) Close ¶
func (transport *MockTransport) Close() error
Close implements Transport
type Peer ¶
type Peer interface { Name() string Send(messages.Message) error Frames() chan messages.Message SessionEvents() chan messages.Message AppEvents() chan AppEvent }
Peer is entity connected to wormhole network, that can exchange messages with other entities
type PeerFactory ¶
PeerFactory is responsible for creating new peers
func NewDefaultPeerFactory ¶
func NewDefaultPeerFactory(ownName string, transportFactory TransportFactory) PeerFactory
NewDefaultPeerFactory creates PeerConnectionFactory instances
func NewMockPeerFactory ¶
func NewMockPeerFactory(peers chan Peer) PeerFactory
NewMockPeerFactory creates mockPeerFactory instances
type Transport ¶
type Transport interface { Send(messages.Message) error Receive() (chan messages.Message, error) Close() error }
Transport is used to allow communication between the peers
func NewAesTransport ¶
NewAesTransport creates AesTranport instances
func NewWebsocketClientTransport ¶
NewWebsocketClientTransport creates new websocketTransport instances, that implement Transport over a websocket
func NewWebsocketTransport ¶
NewWebsocketTransport creates new websocketTransport instances, that implement Transport over a websocket connection
type TransportFactory ¶
TransportFactory creates Transport instances
func NewAesTransportFactory ¶
func NewAesTransportFactory(password string, child TransportFactory) TransportFactory
NewAesTransportFactory is a decorator over TransportFactory, that allows encryption in transit with AES
func NewWebsocketTransportFactory ¶
func NewWebsocketTransportFactory(host, port, path string) (TransportFactory, error)
NewWebsocketTransportFactory allows creating peers, that are servers, waiting for clients to connect to them