rdr

package
v1.5.1 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2025 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	RdrNodeDesc        *schema.NodeImplDesc
	SegmentedNodeDesc  *schema.NodeImplDesc
	GeneralObjNodeDesc *schema.NodeImplDesc
)

Functions

func CreateGeneralObjNode

func CreateGeneralObjNode(node *schema.Node) schema.NodeImpl

func CreateRdrNode

func CreateRdrNode(node *schema.Node) schema.NodeImpl

func CreateSegmentedNode

func CreateSegmentedNode(node *schema.Node) schema.NodeImpl

func DataFetcher

func DataFetcher(mNode schema.MatchedNode, intConfig *ndn.InterestConfig, maxRetries int) schema.NeedResult

DataFetcher tries to get specified Data packet up to `maxRetries` times.

Types

type GeneralObjNode

type GeneralObjNode struct {
	schema.BaseNodeImpl

	MetaFreshness         time.Duration
	MaxRetriesForMeta     uint64
	ManifestFreshness     time.Duration
	MaxRetriesForManifest uint64
}

GeneralObject in CNL

func (*GeneralObjNode) CastTo

func (n *GeneralObjNode) CastTo(ptr any) any

func (*GeneralObjNode) NeedCallback

func (n *GeneralObjNode) NeedCallback(mNode schema.MatchedNode, callback schema.Callback)

func (*GeneralObjNode) NeedChan

func (n *GeneralObjNode) NeedChan(mNode schema.MatchedNode) chan schema.NeedResult

func (*GeneralObjNode) NodeImplTrait

func (n *GeneralObjNode) NodeImplTrait() schema.NodeImpl

func (*GeneralObjNode) Provide

func (n *GeneralObjNode) Provide(mNode schema.MatchedNode, content enc.Wire) uint64

func (*GeneralObjNode) String added in v1.4.3

func (n *GeneralObjNode) String() string

type RdrNode

type RdrNode struct {
	schema.BaseNodeImpl

	MetaFreshness     time.Duration
	MaxRetriesForMeta uint64
}

RdrNode handles the version discovery

func (*RdrNode) CastTo

func (n *RdrNode) CastTo(ptr any) any

func (*RdrNode) NeedCallback

func (n *RdrNode) NeedCallback(mNode schema.MatchedNode, callback schema.Callback, version *uint64)

func (*RdrNode) NeedChan

func (n *RdrNode) NeedChan(mNode schema.MatchedNode, version *uint64) chan schema.NeedResult

func (*RdrNode) NodeImplTrait

func (n *RdrNode) NodeImplTrait() schema.NodeImpl

func (*RdrNode) Provide

func (n *RdrNode) Provide(mNode schema.MatchedNode, content enc.Wire) uint64

func (*RdrNode) String added in v1.4.3

func (n *RdrNode) String() string

type RdrPipeline

type RdrPipeline interface {
}

type RdrPipelineAdaptive

type RdrPipelineAdaptive struct {
	InitCwnd         float64
	InitSsthresh     float64
	RtoCheckInterval time.Duration
	IgnoreCongMarks  bool
	DisableCwa       bool
}

type RdrPipelineAimd

type RdrPipelineAimd struct {
	RdrPipelineAdaptive

	AiStep          float64
	MdCoef          float64
	ResetCwndToInit bool
}

type RdrPipelineCubic

type RdrPipelineCubic struct {
	RdrPipelineAdaptive

	CubicBeta      float64
	EnableFastConv bool
}

type RdrPipelineFixed

type RdrPipelineFixed struct {
	MaxPipelineSize uint64
}

func (*RdrPipelineFixed) Run

func (p *RdrPipelineFixed) Run(mNode schema.MatchedNode, callback schema.Callback, manifest []enc.Buffer)

Run executes the pipeline in a standalone goroutine with blocking setting.

type SegmentedNode

type SegmentedNode struct {
	schema.BaseNodeImpl

	ContentType         ndn.ContentType
	Freshness           time.Duration
	ValidDur            time.Duration
	Lifetime            time.Duration
	MustBeFresh         bool
	SegmentSize         uint64
	MaxRetriesOnFailure uint64
	Pipeline            string
}

SegmentedNode handles the segmentation and reassembly

func (*SegmentedNode) CastTo

func (n *SegmentedNode) CastTo(ptr any) any

func (*SegmentedNode) NeedCallback

func (n *SegmentedNode) NeedCallback(
	mNode schema.MatchedNode, callback schema.Callback, manifest []enc.Buffer) error

func (*SegmentedNode) NeedChan

func (n *SegmentedNode) NeedChan(mNode schema.MatchedNode, manifest []enc.Buffer) chan schema.NeedResult

func (*SegmentedNode) NodeImplTrait

func (n *SegmentedNode) NodeImplTrait() schema.NodeImpl

func (*SegmentedNode) Provide

func (n *SegmentedNode) Provide(mNode schema.MatchedNode, content enc.Wire, needManifest bool) any

func (*SegmentedNode) SinglePacketPipeline

func (n *SegmentedNode) SinglePacketPipeline(
	mNode schema.MatchedNode, callback schema.Callback, manifest []enc.Buffer,
)

func (*SegmentedNode) String added in v1.4.3

func (n *SegmentedNode) String() string

Jump to

Keyboard shortcuts

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