ndn

package module
v0.0.0-...-dbd5041 Latest Latest
Warning

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

Go to latest
Published: Jan 8, 2015 License: MIT Imports: 13 Imported by: 0

README

Go-NDN Build Status

An experimental work-in-progress client for Named Data Networking. Built as a way for me to reverse-engineer and learn the protocol. Includes a dockerfile for running nfd and nrd.

Development

Start NFD with "fig up".

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrCertificateNotFound = errors.New("certificate not found")
View Source
var ErrCommandCertificateNameNotSet = errors.New("registerPrefix: The command certificate name has not been set. You must call setCommandSigningInfo.")
View Source
var ErrCommandKeyChainNotSet = errors.New("registerPrefix: The command KeyChain has not been set. You must call setCommandSigningInfo.")
View Source
var ErrInvalidPacket = errors.New("invalid packet received")
View Source
var ErrNameRequired = errors.New("name is required")
View Source
var ErrUnexpectedEventTypeReceived = errors.New("unexpected event type received")
View Source
var PacketTooLargeError = errors.New("Packet size exceeds maximum limit")

Functions

This section is empty.

Types

type Face

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

func NewFace

func NewFace(transport Transport) *Face

func NewTCPFace

func NewTCPFace(addr string) (*Face, error)

func (*Face) Close

func (f *Face) Close() error

func (*Face) ExpressInterest

func (f *Face) ExpressInterest(i *packets.Interest) (*pendingInterest, error)

func (*Face) ProcessEvents

func (f *Face) ProcessEvents() error

func (*Face) Put

func (f *Face) Put(d *packets.Data) error

func (*Face) RegisterPrefix

func (f *Face) RegisterPrefix(prefix name.Name) (<-chan *packets.Interest, error)

func (*Face) RemovePendingInterest

func (f *Face) RemovePendingInterest(id uint64)

func (*Face) SetCommandSigningInfo

func (f *Face) SetCommandSigningInfo(keyChain *KeyChain, certificateName name.Name)

type InterestFilter

type InterestFilter interface {
	Matches(name.Name) bool
}

type KeyChain

type KeyChain struct{}

func NewKeyChain

func NewKeyChain() *KeyChain

func (*KeyChain) Sign

func (k *KeyChain) Sign(packet signable, certificateName name.Name, newEncoder encoding.EncoderFactory) error

type PrefixInterestFilter

type PrefixInterestFilter name.Name

func (PrefixInterestFilter) Matches

func (f PrefixInterestFilter) Matches(n name.Name) bool

type Transport

type Transport interface {
	io.Reader
	io.Writer
	io.Closer
}

Directories

Path Synopsis
tlv
examples

Jump to

Keyboard shortcuts

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