getters

package
v0.7.0-rc2 Latest Latest
Warning

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

Go to latest
Published: Feb 9, 2023 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func TestGetter added in v0.6.3

func TestGetter(t *testing.T) (share.Getter, *share.Root)

TestGetter provides a testing SingleEDSGetter and the root of the EDS it holds.

func WithSession

func WithSession(ctx context.Context) context.Context

WithSession stores an empty session in the context, indicating that a blockservice session should be created.

Types

type CascadeGetter added in v0.6.3

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

CascadeGetter implements custom share.Getter that composes multiple Getter implementations in "cascading" order.

See cascade func for details on cascading.

func NewCascadeGetter added in v0.6.3

func NewCascadeGetter(getters []share.Getter, interval time.Duration) *CascadeGetter

NewCascadeGetter instantiates a new CascadeGetter from given share.Getters with given interval.

func (*CascadeGetter) GetEDS added in v0.6.3

GetEDS gets a full EDS from any of registered share.Getters in cascading order.

func (*CascadeGetter) GetShare added in v0.6.3

func (cg *CascadeGetter) GetShare(ctx context.Context, root *share.Root, row, col int) (share.Share, error)

GetShare gets a share from any of registered share.Getters in cascading order.

func (*CascadeGetter) GetSharesByNamespace added in v0.6.3

func (cg *CascadeGetter) GetSharesByNamespace(
	ctx context.Context,
	root *share.Root,
	id namespace.ID,
) (share.NamespacedShares, error)

GetSharesByNamespace gets NamespacedShares from any of registered share.Getters in cascading order.

type IPLDGetter

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

IPLDGetter is a share.Getter that retrieves shares from the bitswap network. Result caching is handled by the provided blockservice. A blockservice session will be created for retrieval if the passed context is wrapped with WithSession.

func NewIPLDGetter

func NewIPLDGetter(bServ blockservice.BlockService) *IPLDGetter

NewIPLDGetter creates a new share.Getter that retrieves shares from the bitswap network.

func (*IPLDGetter) GetEDS

func (ig *IPLDGetter) GetEDS(ctx context.Context, root *share.Root) (eds *rsmt2d.ExtendedDataSquare, err error)

func (*IPLDGetter) GetShare

func (ig *IPLDGetter) GetShare(ctx context.Context, dah *share.Root, row, col int) (share.Share, error)

GetShare gets a single share at the given EDS coordinates from the bitswap network.

func (*IPLDGetter) GetSharesByNamespace

func (ig *IPLDGetter) GetSharesByNamespace(
	ctx context.Context,
	root *share.Root,
	nID namespace.ID,
) (shares share.NamespacedShares, err error)

type SingleEDSGetter added in v0.6.3

type SingleEDSGetter struct {
	EDS *rsmt2d.ExtendedDataSquare
}

SingleEDSGetter contains a single EDS where data is retrieved from. Its primary use is testing, and GetSharesByNamespace is not supported.

func (*SingleEDSGetter) GetEDS added in v0.6.3

GetEDS returns a kept EDS if the correct root is given.

func (*SingleEDSGetter) GetShare added in v0.6.3

func (seg *SingleEDSGetter) GetShare(_ context.Context, root *share.Root, row, col int) (share.Share, error)

GetShare gets a share from a kept EDS if exist and if the correct root is given.

func (*SingleEDSGetter) GetSharesByNamespace added in v0.6.3

func (seg *SingleEDSGetter) GetSharesByNamespace(
	ctx context.Context,
	root *share.Root,
	id namespace.ID,
) (share.NamespacedShares, error)

GetSharesByNamespace returns NamespacedShares from a kept EDS if the correct root is given.

type StoreGetter

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

StoreGetter is a share.Getter that retrieves shares from an eds.Store. No results are saved to the eds.Store after retrieval.

func NewStoreGetter

func NewStoreGetter(store *eds.Store) *StoreGetter

NewStoreGetter creates a new share.Getter that retrieves shares from an eds.Store.

func (*StoreGetter) GetEDS

func (sg *StoreGetter) GetEDS(ctx context.Context, root *share.Root) (eds *rsmt2d.ExtendedDataSquare, err error)

GetEDS gets the EDS identified by the given root from the EDS store.

func (*StoreGetter) GetShare

func (sg *StoreGetter) GetShare(ctx context.Context, dah *share.Root, row, col int) (share.Share, error)

GetShare gets a single share at the given EDS coordinates from the eds.Store through the corresponding CAR-level blockstore.

func (*StoreGetter) GetSharesByNamespace

func (sg *StoreGetter) GetSharesByNamespace(
	ctx context.Context,
	root *share.Root,
	nID namespace.ID,
) (shares share.NamespacedShares, err error)

GetSharesByNamespace gets all EDS shares in the given namespace from the EDS store through the corresponding CAR-level blockstore.

type TeeGetter

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

TeeGetter is a share.Getter that wraps a getter and stores the results of GetEDS into an eds.Store.

func NewTeeGetter

func NewTeeGetter(getter share.Getter, store *eds.Store) *TeeGetter

NewTeeGetter creates a new TeeGetter.

func (*TeeGetter) GetEDS

func (tg *TeeGetter) GetEDS(ctx context.Context, root *share.Root) (eds *rsmt2d.ExtendedDataSquare, err error)

func (*TeeGetter) GetShare

func (tg *TeeGetter) GetShare(ctx context.Context, root *share.Root, row, col int) (share share.Share, err error)

func (*TeeGetter) GetSharesByNamespace

func (tg *TeeGetter) GetSharesByNamespace(
	ctx context.Context,
	root *share.Root,
	id namespace.ID,
) (shares share.NamespacedShares, err error)

Jump to

Keyboard shortcuts

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