i6p

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package i6p provides a library implementation of the I6P (IPv6 Peer-to-Peer Protocol) building blocks.

I6P is designed as a connectivity/transport layer for IPv6-only peer-to-peer applications. It provides cryptographic peer identity (Ed25519), modular discovery interfaces, and a QUIC-based encrypted transport with a session handshake that binds connections to the peer identity.

Index

Constants

This section is empty.

Variables

View Source
var ErrNotListening = errors.New("peer is not listening")

Functions

This section is empty.

Types

type Peer

type Peer struct {
	KeyPair      identity.KeyPair
	Capabilities map[string]string
	// contains filtered or unexported fields
}

Peer is a high-level helper that combines transport + session. It intentionally stays small so applications can customize discovery and higher-level behavior.

func NewPeer

func NewPeer(kp identity.KeyPair, capabilities map[string]string) *Peer

func (*Peer) Accept

func (p *Peer) Accept(ctx context.Context) (*session.Session, error)

func (*Peer) Close

func (p *Peer) Close() error

func (*Peer) Dial

func (p *Peer) Dial(ctx context.Context, addr string) (*session.Session, error)

func (*Peer) Listen

func (p *Peer) Listen(addr string) error

func (*Peer) ListenAddr

func (p *Peer) ListenAddr() string

Directories

Path Synopsis
Package crypto provides high-performance cryptographic primitives for I6P.
Package crypto provides high-performance cryptographic primitives for I6P.
ratchet
Package ratchet provides continuous forward secrecy via symmetric key ratcheting.
Package ratchet provides continuous forward secrecy via symmetric key ratcheting.
Package transfer provides high-performance bulk data transfer primitives.
Package transfer provides high-performance bulk data transfer primitives.
erasure
Package erasure provides Reed-Solomon erasure coding for I6P transfers.
Package erasure provides Reed-Solomon erasure coding for I6P transfers.
transport

Jump to

Keyboard shortcuts

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