Documentation ¶
Index ¶
- func CalculateNodeScore(goodResponses, badResponses int) float64
- func GenerateChallenge() []byte
- func MarshalRegistryEntry(pk []byte, data []byte, revision uint64) []byte
- func MarshalSignedRegistryEntry(sre SignedRegistryEntry) []byte
- func RegisterMessageType(messageType int, factoryFunc func() IncomingMessage)
- func RegisterProtocols()
- func RegisterSignedMessageType(messageType int, factoryFunc func() IncomingMessageSigned)
- func RegisterSignedProtocols()
- func VerifyRegistryEntry(sre SignedRegistryEntry) bool
- type AnnouncePeers
- func (a *AnnouncePeers) DecodeMessage(dec *msgpack.Decoder, message IncomingMessageDataSigned) error
- func (a AnnouncePeers) EncodeMsgpack(enc *msgpack.Encoder) error
- func (a AnnouncePeers) HandleMessage(message IncomingMessageDataSigned) error
- func (a *AnnouncePeers) PeersToSend() []net.Peer
- func (a *AnnouncePeers) SetPeersToSend(peersToSend []net.Peer)
- type EncodeableMessage
- type HandshakeDone
- func (h *HandshakeDone) DecodeMessage(dec *msgpack.Decoder, message IncomingMessageDataSigned) error
- func (m HandshakeDone) EncodeMsgpack(enc *msgpack.Encoder) error
- func (h HandshakeDone) HandleMessage(message IncomingMessageDataSigned) error
- func (m *HandshakeDone) SetChallenge(challenge []byte)
- func (m *HandshakeDone) SetNetworkId(networkId string)
- type HandshakeOpen
- func (h HandshakeOpen) Challenge() []byte
- func (h *HandshakeOpen) DecodeMessage(dec *msgpack.Decoder, message IncomingMessageData) error
- func (h HandshakeOpen) EncodeMsgpack(enc *msgpack.Encoder) error
- func (h *HandshakeOpen) HandleMessage(message IncomingMessageData) error
- func (h HandshakeOpen) NetworkId() string
- func (h *HandshakeOpen) SetHandshake(handshake []byte)
- type HandshakeRequirement
- type HandshakeRequirer
- type HashQuery
- func (h *HashQuery) DecodeMessage(dec *msgpack.Decoder, message IncomingMessageData) error
- func (h HashQuery) EncodeMsgpack(enc *msgpack.Encoder) error
- func (h *HashQuery) HandleMessage(message IncomingMessageData) error
- func (h HashQuery) Hash() *encoding.Multihash
- func (h HashQuery) Kinds() []types.StorageLocationType
- type IncomingMessage
- type IncomingMessageData
- type IncomingMessageDataSigned
- type IncomingMessageReader
- type IncomingMessageSigned
- type Mediator
- type RegistryEntry
- type RegistryEntryImpl
- type RegistryEntryRequest
- type RegistryQuery
- type SignedMessage
- func (s *SignedMessage) DecodeMessage(dec *msgpack.Decoder, message IncomingMessageData) error
- func (s *SignedMessage) EncodeMsgpack(enc *msgpack.Encoder) error
- func (s *SignedMessage) HandleMessage(message IncomingMessageData) error
- func (s *SignedMessage) NodeId() *encoding.NodeId
- func (s *SignedMessage) SetMessage(message []byte)
- func (s *SignedMessage) SetNodeId(nodeId *encoding.NodeId)
- func (s *SignedMessage) SetSignature(signature []byte)
- func (s *SignedMessage) Sign(cfg *config.NodeConfig) error
- type SignedRegistryEntry
- type SignedRegistryEntryImpl
- func (s *SignedRegistryEntryImpl) Data() []byte
- func (s *SignedRegistryEntryImpl) PK() []byte
- func (s *SignedRegistryEntryImpl) Revision() uint64
- func (s *SignedRegistryEntryImpl) SetData(data []byte)
- func (s *SignedRegistryEntryImpl) SetPK(pk []byte)
- func (s *SignedRegistryEntryImpl) SetRevision(revision uint64)
- func (s *SignedRegistryEntryImpl) SetSignature(signature []byte)
- func (s *SignedRegistryEntryImpl) Signature() []byte
- func (s *SignedRegistryEntryImpl) Verify() bool
- type StorageLocation
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CalculateNodeScore ¶
func GenerateChallenge ¶
func GenerateChallenge() []byte
func MarshalRegistryEntry ¶
func MarshalSignedRegistryEntry ¶
func MarshalSignedRegistryEntry(sre SignedRegistryEntry) []byte
func RegisterMessageType ¶
func RegisterMessageType(messageType int, factoryFunc func() IncomingMessage)
func RegisterProtocols ¶
func RegisterProtocols()
func RegisterSignedMessageType ¶
func RegisterSignedMessageType(messageType int, factoryFunc func() IncomingMessageSigned)
func RegisterSignedProtocols ¶
func RegisterSignedProtocols()
func VerifyRegistryEntry ¶
func VerifyRegistryEntry(sre SignedRegistryEntry) bool
Types ¶
type AnnouncePeers ¶
type AnnouncePeers struct { HandshakeRequirement // contains filtered or unexported fields }
func NewAnnouncePeers ¶
func NewAnnouncePeers() *AnnouncePeers
func NewAnnounceRequest ¶
func NewAnnounceRequest(peer net.Peer, peersToSend []net.Peer) *AnnouncePeers
func (*AnnouncePeers) DecodeMessage ¶
func (a *AnnouncePeers) DecodeMessage(dec *msgpack.Decoder, message IncomingMessageDataSigned) error
func (AnnouncePeers) EncodeMsgpack ¶
func (a AnnouncePeers) EncodeMsgpack(enc *msgpack.Encoder) error
func (AnnouncePeers) HandleMessage ¶
func (a AnnouncePeers) HandleMessage(message IncomingMessageDataSigned) error
func (*AnnouncePeers) PeersToSend ¶
func (a *AnnouncePeers) PeersToSend() []net.Peer
func (*AnnouncePeers) SetPeersToSend ¶
func (a *AnnouncePeers) SetPeersToSend(peersToSend []net.Peer)
type EncodeableMessage ¶
type EncodeableMessage interface { msgpack.CustomEncoder }
type HandshakeDone ¶
type HandshakeDone struct { HandshakeRequirement // contains filtered or unexported fields }
func NewHandshakeDone ¶
func NewHandshakeDone() *HandshakeDone
func NewHandshakeDoneRequest ¶
func NewHandshakeDoneRequest(handshake []byte, supportedFeatures int, connectionUris []*url.URL) *HandshakeDone
func (*HandshakeDone) DecodeMessage ¶
func (h *HandshakeDone) DecodeMessage(dec *msgpack.Decoder, message IncomingMessageDataSigned) error
func (HandshakeDone) EncodeMsgpack ¶
func (m HandshakeDone) EncodeMsgpack(enc *msgpack.Encoder) error
func (HandshakeDone) HandleMessage ¶
func (h HandshakeDone) HandleMessage(message IncomingMessageDataSigned) error
func (*HandshakeDone) SetChallenge ¶
func (m *HandshakeDone) SetChallenge(challenge []byte)
func (*HandshakeDone) SetNetworkId ¶
func (m *HandshakeDone) SetNetworkId(networkId string)
type HandshakeOpen ¶
type HandshakeOpen struct { HandshakeRequirement // contains filtered or unexported fields }
func NewHandshakeOpen ¶
func NewHandshakeOpen(challenge []byte, networkId string) *HandshakeOpen
func (HandshakeOpen) Challenge ¶
func (h HandshakeOpen) Challenge() []byte
func (*HandshakeOpen) DecodeMessage ¶
func (h *HandshakeOpen) DecodeMessage(dec *msgpack.Decoder, message IncomingMessageData) error
func (HandshakeOpen) EncodeMsgpack ¶
func (h HandshakeOpen) EncodeMsgpack(enc *msgpack.Encoder) error
func (*HandshakeOpen) HandleMessage ¶
func (h *HandshakeOpen) HandleMessage(message IncomingMessageData) error
func (HandshakeOpen) NetworkId ¶
func (h HandshakeOpen) NetworkId() string
func (*HandshakeOpen) SetHandshake ¶
func (h *HandshakeOpen) SetHandshake(handshake []byte)
type HandshakeRequirement ¶
type HandshakeRequirement struct {
// contains filtered or unexported fields
}
func (*HandshakeRequirement) RequiresHandshake ¶
func (hr *HandshakeRequirement) RequiresHandshake() bool
func (*HandshakeRequirement) SetRequiresHandshake ¶
func (hr *HandshakeRequirement) SetRequiresHandshake(value bool)
type HandshakeRequirer ¶
type HashQuery ¶
type HashQuery struct { HandshakeRequirement // contains filtered or unexported fields }
func NewHashQuery ¶
func NewHashQuery() *HashQuery
func NewHashRequest ¶
func NewHashRequest(hash *encoding.Multihash, kinds []types.StorageLocationType) *HashQuery
func (*HashQuery) DecodeMessage ¶
func (h *HashQuery) DecodeMessage(dec *msgpack.Decoder, message IncomingMessageData) error
func (HashQuery) EncodeMsgpack ¶
func (*HashQuery) HandleMessage ¶
func (h *HashQuery) HandleMessage(message IncomingMessageData) error
func (HashQuery) Kinds ¶
func (h HashQuery) Kinds() []types.StorageLocationType
type IncomingMessage ¶
type IncomingMessage interface { HandleMessage(message IncomingMessageData) error DecodeMessage(dec *msgpack.Decoder, message IncomingMessageData) error HandshakeRequirer }
func GetMessageType ¶
func GetMessageType(kind int) (IncomingMessage, bool)
type IncomingMessageData ¶
type IncomingMessageDataSigned ¶
type IncomingMessageDataSigned struct { IncomingMessageData NodeId *encoding.NodeId }
type IncomingMessageReader ¶
func (*IncomingMessageReader) DecodeMsgpack ¶
func (i *IncomingMessageReader) DecodeMsgpack(dec *msgpack.Decoder) error
type IncomingMessageSigned ¶
type IncomingMessageSigned interface { HandleMessage(message IncomingMessageDataSigned) error DecodeMessage(dec *msgpack.Decoder, message IncomingMessageDataSigned) error HandshakeRequirer }
func GetSignedMessageType ¶
func GetSignedMessageType(kind int) (IncomingMessageSigned, bool)
type Mediator ¶
type Mediator interface { NetworkId() string NodeId() *encoding.NodeId SelfConnectionUris() []*url.URL SignMessageSimple(message []byte) ([]byte, error) GetCachedStorageLocations(hash *encoding.Multihash, kinds []types.StorageLocationType) (map[string]storage.StorageLocation, error) SortNodesByScore(nodes []*encoding.NodeId) ([]*encoding.NodeId, error) ProviderStore() storage.ProviderStore AddStorageLocation(hash *encoding.Multihash, nodeId *encoding.NodeId, location storage.StorageLocation, message []byte) error HashQueryRoutingTable() structs.Map Peers() structs.Map RegistrySet(sre SignedRegistryEntry, trusted bool, receivedFrom net.Peer) error RegistryGet(pk []byte) (SignedRegistryEntry, error) ConnectToNode(connectionUris []*url.URL, retried bool, fromPeer net.Peer) error ServicesStarted() bool AddPeer(peer net.Peer) error SendPublicPeersToPeer(peer net.Peer, peersToSend []net.Peer) error }
type RegistryEntry ¶
type RegistryEntry interface {
Sign() SignedRegistryEntry
}
func NewRegistryEntry ¶
func NewRegistryEntry(kp ed25519.KeyPairEd25519, data []byte, revision uint64) RegistryEntry
type RegistryEntryImpl ¶
type RegistryEntryImpl struct {
// contains filtered or unexported fields
}
func (*RegistryEntryImpl) Sign ¶
func (r *RegistryEntryImpl) Sign() SignedRegistryEntry
type RegistryEntryRequest ¶
type RegistryEntryRequest struct { HandshakeRequirement // contains filtered or unexported fields }
func NewEmptyRegistryEntryRequest ¶
func NewEmptyRegistryEntryRequest() *RegistryEntryRequest
func NewRegistryEntryRequest ¶
func NewRegistryEntryRequest(sre SignedRegistryEntry) *RegistryEntryRequest
func (*RegistryEntryRequest) DecodeMessage ¶
func (s *RegistryEntryRequest) DecodeMessage(dec *msgpack.Decoder, message IncomingMessageData) error
func (*RegistryEntryRequest) EncodeMsgpack ¶
func (s *RegistryEntryRequest) EncodeMsgpack(enc *msgpack.Encoder) error
func (*RegistryEntryRequest) HandleMessage ¶
func (s *RegistryEntryRequest) HandleMessage(message IncomingMessageData) error
type RegistryQuery ¶
type RegistryQuery struct { HandshakeRequirement // contains filtered or unexported fields }
func NewEmptyRegistryQuery ¶
func NewEmptyRegistryQuery() *RegistryQuery
func NewRegistryQuery ¶
func NewRegistryQuery(pk []byte) *RegistryQuery
func (*RegistryQuery) DecodeMessage ¶
func (s *RegistryQuery) DecodeMessage(dec *msgpack.Decoder, message IncomingMessageData) error
func (*RegistryQuery) EncodeMsgpack ¶
func (s *RegistryQuery) EncodeMsgpack(enc *msgpack.Encoder) error
func (*RegistryQuery) HandleMessage ¶
func (s *RegistryQuery) HandleMessage(message IncomingMessageData) error
type SignedMessage ¶
type SignedMessage struct { HandshakeRequirement // contains filtered or unexported fields }
func NewSignedMessage ¶
func NewSignedMessage() *SignedMessage
func NewSignedMessageRequest ¶
func NewSignedMessageRequest(message []byte) *SignedMessage
func (*SignedMessage) DecodeMessage ¶
func (s *SignedMessage) DecodeMessage(dec *msgpack.Decoder, message IncomingMessageData) error
func (*SignedMessage) EncodeMsgpack ¶
func (s *SignedMessage) EncodeMsgpack(enc *msgpack.Encoder) error
func (*SignedMessage) HandleMessage ¶
func (s *SignedMessage) HandleMessage(message IncomingMessageData) error
func (*SignedMessage) NodeId ¶
func (s *SignedMessage) NodeId() *encoding.NodeId
func (*SignedMessage) SetMessage ¶
func (s *SignedMessage) SetMessage(message []byte)
func (*SignedMessage) SetNodeId ¶
func (s *SignedMessage) SetNodeId(nodeId *encoding.NodeId)
func (*SignedMessage) SetSignature ¶
func (s *SignedMessage) SetSignature(signature []byte)
func (*SignedMessage) Sign ¶
func (s *SignedMessage) Sign(cfg *config.NodeConfig) error
type SignedRegistryEntry ¶
type SignedRegistryEntry interface { PK() []byte Revision() uint64 Data() []byte Signature() []byte SetPK(pk []byte) SetRevision(revision uint64) SetData(data []byte) SetSignature(signature []byte) Verify() bool }
func NewSignedRegistryEntry ¶
func NewSignedRegistryEntry(pk []byte, revision uint64, data []byte, signature []byte) SignedRegistryEntry
func SignRegistryEntry ¶
func SignRegistryEntry(kp ed25519.KeyPairEd25519, data []byte, revision uint64) SignedRegistryEntry
func UnmarshalSignedRegistryEntry ¶
func UnmarshalSignedRegistryEntry(event []byte) (sre SignedRegistryEntry, err error)
type SignedRegistryEntryImpl ¶
type SignedRegistryEntryImpl struct {
// contains filtered or unexported fields
}
func (*SignedRegistryEntryImpl) Data ¶
func (s *SignedRegistryEntryImpl) Data() []byte
func (*SignedRegistryEntryImpl) PK ¶
func (s *SignedRegistryEntryImpl) PK() []byte
func (*SignedRegistryEntryImpl) Revision ¶
func (s *SignedRegistryEntryImpl) Revision() uint64
func (*SignedRegistryEntryImpl) SetData ¶
func (s *SignedRegistryEntryImpl) SetData(data []byte)
func (*SignedRegistryEntryImpl) SetPK ¶
func (s *SignedRegistryEntryImpl) SetPK(pk []byte)
func (*SignedRegistryEntryImpl) SetRevision ¶
func (s *SignedRegistryEntryImpl) SetRevision(revision uint64)
func (*SignedRegistryEntryImpl) SetSignature ¶
func (s *SignedRegistryEntryImpl) SetSignature(signature []byte)
func (*SignedRegistryEntryImpl) Signature ¶
func (s *SignedRegistryEntryImpl) Signature() []byte
func (*SignedRegistryEntryImpl) Verify ¶
func (s *SignedRegistryEntryImpl) Verify() bool
type StorageLocation ¶
type StorageLocation struct { HandshakeRequirement // contains filtered or unexported fields }
func NewStorageLocation ¶
func NewStorageLocation() *StorageLocation
func (*StorageLocation) DecodeMessage ¶
func (s *StorageLocation) DecodeMessage(dec *msgpack.Decoder, message IncomingMessageData) error
func (*StorageLocation) HandleMessage ¶
func (s *StorageLocation) HandleMessage(message IncomingMessageData) error
Click to show internal directories.
Click to hide internal directories.