protocol

package
v1.1.1-0...-495e22c Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2019 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KeySharedKey = "identity.shared_key"
	KeyID        = "node.id"
	KeyPeerID    = "peer.id"
)
View Source
const (
	KeyProtocolCurrentBlockIndex = "protocol.current_block_index"
	KeyProtocolEnforceOnce       = "protocol.enforce_once"
)

Variables

View Source
var (
	DisconnectPeer = errors.New("peer disconnect requested")
)

Functions

func DeleteNodeID

func DeleteNodeID(node *noise.Node)

func DeletePeerID

func DeletePeerID(peer *noise.Peer)

func DeleteSharedKey

func DeleteSharedKey(peer *noise.Peer)

func HasPeerID

func HasPeerID(peer *noise.Peer) bool

func HasSharedKey

func HasSharedKey(peer *noise.Peer) bool

func LoadSharedKey

func LoadSharedKey(peer *noise.Peer) []byte

func MustSharedKey

func MustSharedKey(peer *noise.Peer) []byte

func Peer

func Peer(node *noise.Node, id ID) *noise.Peer

func SetNodeID

func SetNodeID(node *noise.Node, id ID)

func SetPeerID

func SetPeerID(peer *noise.Peer, id ID)

func SetSharedKey

func SetSharedKey(peer *noise.Peer, sharedKey []byte)

Types

type Block

type Block interface {
	OnRegister(p *Protocol, node *noise.Node)
	OnBegin(p *Protocol, peer *noise.Peer, node *noise.Node) error
	OnEnd(p *Protocol, peer *noise.Peer) error
}

type ID

type ID interface {
	fmt.Stringer
	noise.Message

	Equals(other ID) bool

	PublicKey() []byte
	Hash() []byte
}

func NodeID

func NodeID(node *noise.Node) ID

func PeerID

func PeerID(peer *noise.Peer) ID

type Protocol

type Protocol struct {
	// contains filtered or unexported fields
}

func New

func New() *Protocol

func (*Protocol) Enforce

func (p *Protocol) Enforce(node *noise.Node)

Enforce enforces that all peers of a node follow the given protocol.

func (*Protocol) Register

func (p *Protocol) Register(blk Block) *Protocol

Register registers a block to this protocol sequentially.

Jump to

Keyboard shortcuts

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