net

package
v0.0.0-...-e52790e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 29, 2025 License: Unlicense Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const FindStart = "cofind:"

Variables

This section is empty.

Functions

func PeerFromFindString

func PeerFromFindString(find string) (p *keys.Peer, err error)

func StartWebProgram

func StartWebProgram(hash [32]byte, args vm.WebArgs) (output vm.WebRets, err error)

func StoreProgram

func StoreProgram(data []byte) (hash [32]byte, err error)

Types

type AnyMsg

type AnyMsg struct {
	From *keys.Peer
	Type MessageType
	Body []byte
}

func (AnyMsg) Deserialise

func (m AnyMsg) Deserialise() (SentMsg, error)

type EncryptedMsg

type EncryptedMsg []byte

func (EncryptedMsg) Decode

func (e EncryptedMsg) Decode(kp keys.Keypair) (m AnyMsg, err error)

type LocalNet

type LocalNet struct {
	ExistingPeers []LocalPeer
}

func (*LocalNet) AddPeer

func (n *LocalNet) AddPeer(p keys.Peer, recv chan<- EncryptedMsg)

func (*LocalNet) NewNode

func (n *LocalNet) NewNode() (node *Node)

func (*LocalNet) SendRaw

func (n *LocalNet) SendRaw(p *keys.Peer, m []byte) (err error)

type LocalPeer

type LocalPeer struct {
	keys.Peer
	Receive chan<- EncryptedMsg
}

type MessageType

type MessageType uint8

type Node

type Node struct {
	keys.ThisPeer

	Peers      map[keys.PK]*keys.Peer // known peers
	SendRaw    func(peer *keys.Peer, msg []byte) (err error)
	ReceiveRaw chan EncryptedMsg
	// contains filtered or unexported fields
}

func (*Node) AddPeer

func (n *Node) AddPeer(p *keys.Peer)

func (Node) FindString

func (n Node) FindString() string

A find string encodes the pk and addresses

func (*Node) RunWebProgram

func (n *Node) RunWebProgram(hash [32]byte, input vm.WebArgs, useLocal bool) (res vm.WebRets, err error)

func (*Node) Start

func (n *Node) Start()

func (*Node) Stop

func (n *Node) Stop()

func (*Node) StoreProgram

func (n *Node) StoreProgram(b []byte) (err error)

type SentMsg

type SentMsg interface {
	Serialise() []byte
}

sent messages

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL