object

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Feb 15, 2025 License: MIT Imports: 19 Imported by: 9

Documentation

Index

Constants

This section is empty.

Variables

View Source
var BoltBucket = []byte("data")
View Source
var ErrBoltNoBucket = errors.New("no bucket in bolt")

Functions

func ExpressR added in v1.5.0

func ExpressR(engine ndn.Engine, args ndn.ExpressRArgs)

Express a single interest with reliability

func NewClient

func NewClient(engine ndn.Engine, store ndn.Store, trust *sec.TrustConfig) ndn.Client

Create a new client with given engine and store

func Produce added in v1.4.3

func Produce(args ndn.ProduceArgs, store ndn.Store, signer ndn.Signer) (enc.Name, error)

Produce and sign data, and insert into a store This function does not rely on the engine or client, so it can also be used in YaNFD

Types

type BoltStore

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

Store implementation using bbolt Internally it uses a single bucket to store all data Internal storage format is not stable. Do not rely on it. Note: insertions to bolt are comically slow unless batched.

The key is the name of the object as a TLV encoded byte slice
The value is the 8-byte version (big endian), followed by data wire

func NewBoltStore

func NewBoltStore(path string) (*BoltStore, error)

func (*BoltStore) Begin

func (s *BoltStore) Begin() (ndn.Store, error)

func (*BoltStore) Close

func (s *BoltStore) Close() error

func (*BoltStore) Commit

func (s *BoltStore) Commit() error

func (*BoltStore) Get

func (s *BoltStore) Get(name enc.Name, prefix bool) (wire []byte, err error)

func (*BoltStore) Put

func (s *BoltStore) Put(name enc.Name, version uint64, wire []byte) error

func (*BoltStore) Remove

func (s *BoltStore) Remove(name enc.Name, prefix bool) error

func (*BoltStore) Rollback

func (s *BoltStore) Rollback() error

type CachingStore added in v1.5.0

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

CachingStore is a store that caches objects from another store.

func NewCachingStore added in v1.5.0

func NewCachingStore(store ndn.Store) *CachingStore

NewCachingStore creates a new caching store.

func (*CachingStore) Begin added in v1.5.0

func (s *CachingStore) Begin() (ndn.Store, error)

func (*CachingStore) Close added in v1.5.0

func (s *CachingStore) Close() error

func (*CachingStore) Commit added in v1.5.0

func (s *CachingStore) Commit() error

func (*CachingStore) Flush added in v1.5.0

func (s *CachingStore) Flush() error

Flush flushes the cache.

func (*CachingStore) Get added in v1.5.0

func (s *CachingStore) Get(name enc.Name, prefix bool) ([]byte, error)

func (*CachingStore) Put added in v1.5.0

func (s *CachingStore) Put(name enc.Name, version uint64, wire []byte) error

func (*CachingStore) Remove added in v1.5.0

func (s *CachingStore) Remove(name enc.Name, prefix bool) error

func (*CachingStore) Rollback added in v1.5.0

func (s *CachingStore) Rollback() error

func (*CachingStore) String added in v1.5.0

func (s *CachingStore) String() string

type Client

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

func (*Client) Consume

func (c *Client) Consume(name enc.Name, callback func(status ndn.ConsumeState))

Consume an object with a given name

func (*Client) ConsumeExt added in v1.4.3

func (c *Client) ConsumeExt(args ndn.ConsumeExtArgs)

ConsumeExt is a more advanced consume API that allows for more control over the fetching process.

func (*Client) Engine

func (c *Client) Engine() ndn.Engine

Get the underlying engine

func (*Client) ExpressR

func (c *Client) ExpressR(args ndn.ExpressRArgs)

Express a single interest with reliability

func (*Client) GetLocal added in v1.5.0

func (c *Client) GetLocal(name enc.Name) (enc.Wire, error)

GetLocal returns the object data from the store

func (*Client) IsCongested added in v1.5.0

func (c *Client) IsCongested() bool

IsCongested returns true if the client is congested

func (*Client) LatestLocal added in v1.5.0

func (c *Client) LatestLocal(name enc.Name) (enc.Name, error)

LatestLocal returns the latest version name of an object in the store

func (*Client) Produce

func (c *Client) Produce(args ndn.ProduceArgs) (enc.Name, error)

Produce and sign data, and insert into the client's store. The input data will be freed as the object is segmented.

func (*Client) Remove added in v1.4.3

func (c *Client) Remove(name enc.Name) error

Remove an object from the client's store by name

func (*Client) Start

func (c *Client) Start() error

Start the client. The engine must be running.

func (*Client) Stop

func (c *Client) Stop() error

Stop the client

func (*Client) Store added in v1.4.3

func (c *Client) Store() ndn.Store

Get the underlying store

func (*Client) String added in v1.4.3

func (c *Client) String() string

Instance log identifier

func (*Client) SuggestSigner added in v1.4.3

func (c *Client) SuggestSigner(name enc.Name) ndn.Signer

SuggestSigner returns the signer for a given name nil is returned if no signer is found

func (*Client) Validate added in v1.4.3

func (c *Client) Validate(data ndn.Data, sigCov enc.Wire, callback func(bool, error))

Validate a data packet using the client configuration

func (*Client) ValidateExt added in v1.4.3

func (c *Client) ValidateExt(args ndn.ValidateExtArgs)

ValidateExt is an advanced API for validating data packets

type ConsumeState

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

arguments for the consume callback

func (*ConsumeState) Cancel added in v1.5.0

func (a *ConsumeState) Cancel()

cancel the consume operation

func (*ConsumeState) Content

func (a *ConsumeState) Content() enc.Wire

returns the currently available buffer in the content any subsequent calls to Content() will return data after the previous call

func (*ConsumeState) Error

func (a *ConsumeState) Error() error

returns the error that occurred during fetching

func (*ConsumeState) IsComplete

func (a *ConsumeState) IsComplete() bool

returns true if the content has been completely fetched

func (*ConsumeState) Name

func (a *ConsumeState) Name() enc.Name

returns the name of the object being consumed

func (*ConsumeState) Progress

func (a *ConsumeState) Progress() int

get the progress counter

func (*ConsumeState) ProgressMax

func (a *ConsumeState) ProgressMax() int

get the max value for the progress counter (-1 for unknown)

func (*ConsumeState) Version added in v1.5.0

func (a *ConsumeState) Version() uint64

returns the version of the object being consumed

type MemoryFifoDir added in v1.4.3

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

MemoryFifoDir is a simple object directory that evicts the oldest name when it reaches its size size.

func NewMemoryFifoDir added in v1.4.3

func NewMemoryFifoDir(size int) *MemoryFifoDir

NewMemoryFifoDir creates a new directory.

func (*MemoryFifoDir) Count added in v1.4.3

func (d *MemoryFifoDir) Count() int

Count returns the number of names in the directory.

func (*MemoryFifoDir) Evict added in v1.4.3

func (d *MemoryFifoDir) Evict(client ndn.Client) error

Evict removes old names from a client until it reaches the desired size.

func (*MemoryFifoDir) Pop added in v1.4.3

func (d *MemoryFifoDir) Pop() enc.Name

Pop removes the oldest name from the directory and returns it. If the directory has not reached its size, it returns nil. It is recommended to use Evict() instead to remove objects from a client.

func (*MemoryFifoDir) Push added in v1.4.3

func (d *MemoryFifoDir) Push(name enc.Name)

Push adds a name to the directory.

type MemoryStore

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

func NewMemoryStore

func NewMemoryStore() *MemoryStore

func (*MemoryStore) Begin

func (s *MemoryStore) Begin() (ndn.Store, error)

func (*MemoryStore) Commit

func (s *MemoryStore) Commit() error

func (*MemoryStore) Get

func (s *MemoryStore) Get(name enc.Name, prefix bool) ([]byte, error)

func (*MemoryStore) MemSize added in v1.4.3

func (s *MemoryStore) MemSize() int

func (*MemoryStore) Put

func (s *MemoryStore) Put(name enc.Name, version uint64, wire []byte) error

func (*MemoryStore) Remove

func (s *MemoryStore) Remove(name enc.Name, prefix bool) error

func (*MemoryStore) Rollback

func (s *MemoryStore) Rollback() error

Jump to

Keyboard shortcuts

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