Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// Callback is the callback for the motor
Callback NodeCallback
// GroupIDs is the list of peer ids for the node
GroupIDs []party.ID
// SelfPartyID is the party id for the node
SelfPartyID party.ID
}
Config is the configuration for the node
type IPFSNode ¶
type IPFSNode interface {
Node
// Get the IPFS Core API
CoreAPI() icore.CoreAPI
// Add a file to the network
Add(data []byte) (string, error)
// AddPath adds a file to the network
AddPath(path string) (string, error)
// Get a file from the network
Get(hash string) ([]byte, error)
// GetPath gets a file from the network
GetPath(hash string) (map[string]files.Node, error)
// It's returning a DocumentStore for the given username.
LoadDocsStore(username string, opts *iface.CreateDocumentDBOptions) (iface.DocumentStore, error)
// It's returning a DocumentStore for the given username.
LoadEventLogStore(username string) (iface.EventLogStore, error)
// It's returning a KeyValueStore for the given username.
LoadKeyValueStore(username string) (iface.KeyValueStore, error)
}
`IPFSNode` is an interface that defines the methods that a Highway node must implement. @property Add - This is the function that adds a file to the IPFS network. @property {error} Connect - Connects to a peer @property CoreAPI - This is the IPFS Core API. @property Get - Get a file from the network @property {string} MultiAddr - The multiaddr of the node @property PeerID - The peer ID of the node @property GetDecrypted - This is a method that takes a cid and a public key and returns the decrypted file. @property AddEncrypted - Add a file to the network, encrypted with the given public key.
type Node ¶
type Node interface {
// PeerID returns the peer ID of the node
PeerID() peer.ID
// Connect to a peer
Connect(peers ...string) error
// MultiAddrs returns the multiaddr of the node
MultiAddrs() string
// Close the node
Close() error
}
`Node` is an interface that defines the methods that a node must implement to be used by the Motor library. @property PeerID - The peer ID of the node. @property {error} Connect - Connect to a peer @property {string} MultiAddrs - The multiaddr of the node @property {error} Close - Close the node
type NodeCallback ¶ added in v0.6.0
NodeCallback is an interface with three methods: OnDiscover, OnLinking, and OnTopicMessage. @property OnDiscover - This is called when a node is discovered. The data is the data that was sent by the node. @property OnLinking - This is called when a node is linking to the gateway. @property OnTopicMessage - This is the callback that will be called when a message is received on a topic.
func DefaultCallback ¶ added in v0.6.0
func DefaultCallback() NodeCallback
It returns a pointer to a defaultCallback struct
type Option ¶
Option is a function that configures a Node
func WithGroupIds ¶
WithGroupIds sets the peer ids for the node
func WithNodeCallback ¶
func WithNodeCallback(callback NodeCallback) Option
WithNodeCallback sets the callback for the motor
func WithPartyId ¶
WithPartyId sets the party id for the node. This is to be replaced by the User defined label for the device
type PeerNode ¶ added in v0.6.0
type PeerNode interface {
Node
// NewStream creates a new stream to a peer
NewStream(to peer.ID, protocol protocol.ID, msg proto.Message) error
// SetStreamHandler sets the handler for a given protocol
SetStreamHandler(protocol protocol.ID, handler network.StreamHandler)
// Publish a message to a topic
Publish(topic string, message []byte, opts ...ps.TopicOpt) error
// Subscribe to a topic
Subscribe(topic string, handlers ...func(msg *ps.Message)) (*ps.Subscription, error)
}
`PeerNode` is an interface that defines the methods that a node must implement to be used by the Motor library. @property PeerID - The peer ID of the node. @property {error} Connect - Connect to a peer @property {string} MultiAddrs - The multiaddresses of the node. @property {error} NewStream - This is the function that allows you to create a new stream to a peer. @property {error} Publish - Publish a message to a topic. @property SetStreamHandler - This is a function that sets the handler for a given protocol. @property Subscribe - Subscribe to a topic. @property {error} Close - Closes the node.
type StoreType ¶ added in v0.3.0
type StoreType string
StoreType is the type of a store
const ( // DB_EVENT_LOG_STORE is a store that stores events DB_EVENT_LOG_STORE StoreType = "eventlog" // DB_KEY_VALUE_STORE is a store that stores key-value pairs DB_KEY_VALUE_STORE StoreType = "keyvalue" // DB_DOCUMENT_STORE is a store that stores documents DB_DOCUMENT_STORE StoreType = "docstore" )