Documentation
¶
Index ¶
- Variables
- func Advert(ctx context.Context, ds Store, id ipld.Link) (schema.Advertisement, error)
- func ChunkLink(ctx context.Context, ds ProviderContextTable, p peer.ID, contextID []byte) (datamodel.Link, error)
- func Encode(ctx context.Context, ds Store, lnk ipld.Link, w io.Writer) error
- func EncodeHead(ctx context.Context, ds Store, w io.Writer) error
- func Entries(ctx context.Context, ds Store, root ipld.Link) iter.Seq2[multihash.Multihash, error]
- func Head(ctx context.Context, ds Store) (*head.SignedHead, error)
- func IsNotFound(err error) bool
- func Metadata(ctx context.Context, mctx metadata.MetadataContext, ds ProviderContextTable, ...) (metadata.Metadata, error)
- func PutAdvert(ctx context.Context, ds Store, adv schema.Advertisement) (ipld.Link, error)
- func PutChunkLink(ctx context.Context, ds ProviderContextTable, p peer.ID, contextID []byte, ...) error
- func PutEntries(ctx context.Context, ds Store, entries iter.Seq[multihash.Multihash], ...) (next ipld.Link, err error)
- func PutHead(ctx context.Context, ds Store, newHead *head.SignedHead) (datamodel.Link, error)
- func PutMetadata(ctx context.Context, ds ProviderContextTable, p peer.ID, contextID []byte, ...) error
- type AdStore
- func (s *AdStore) Advert(ctx context.Context, id ipld.Link) (schema.Advertisement, error)
- func (s *AdStore) ChunkLinkForProviderAndContextID(ctx context.Context, p peer.ID, contextID []byte) (datamodel.Link, error)
- func (s *AdStore) DeleteChunkLinkForProviderAndContextID(ctx context.Context, p peer.ID, contextID []byte) error
- func (s *AdStore) DeleteMetadataForProviderAndContextID(ctx context.Context, p peer.ID, contextID []byte) error
- func (s *AdStore) Encode(ctx context.Context, id datamodel.Link, w io.Writer) error
- func (s *AdStore) EncodeHead(ctx context.Context, w io.Writer) error
- func (s *AdStore) Entries(ctx context.Context, root ipld.Link) iter.Seq2[multihash.Multihash, error]
- func (s *AdStore) Head(ctx context.Context) (*head.SignedHead, error)
- func (s *AdStore) MetadataForProviderAndContextID(ctx context.Context, p peer.ID, contextID []byte) (metadata.Metadata, error)
- func (s *AdStore) PutAdvert(ctx context.Context, ad schema.Advertisement) (ipld.Link, error)
- func (s *AdStore) PutChunkLinkForProviderAndContextID(ctx context.Context, p peer.ID, contextID []byte, chunkLink datamodel.Link) error
- func (s *AdStore) PutEntries(ctx context.Context, mhs iter.Seq[multihash.Multihash]) (ipld.Link, error)
- func (s *AdStore) PutHead(ctx context.Context, newHead *head.SignedHead) (datamodel.Link, error)
- func (s *AdStore) PutMetadataForProviderAndContextID(ctx context.Context, p peer.ID, contextID []byte, md metadata.Metadata) error
- type AdvertReadable
- type AdvertStore
- type AdvertWritable
- type ChunkLinkStore
- type EncodeableStore
- type EntriesReadable
- type EntriesStore
- type EntriesWritable
- type ErrNotFound
- type FullStore
- type HeadStore
- type MetadataStore
- type Option
- type ProviderContextTable
- type PublisherStore
- type Store
Constants ¶
This section is empty.
Variables ¶
View Source
var MaxEntryChunkSize = 16384
MaxEntryChunkSize is the maximum number of multihashes each advertisement entry chunk may contain.
Functions ¶
func IsNotFound ¶
func PutChunkLink ¶
func PutEntries ¶
Types ¶
type AdStore ¶
type AdStore struct {
// contains filtered or unexported fields
}
func NewPublisherStore ¶
func NewPublisherStore(store Store, chunkLinks, metadataTable ProviderContextTable, opts ...Option) *AdStore
func (*AdStore) ChunkLinkForProviderAndContextID ¶
func (*AdStore) DeleteChunkLinkForProviderAndContextID ¶
func (*AdStore) DeleteMetadataForProviderAndContextID ¶
func (*AdStore) MetadataForProviderAndContextID ¶
func (*AdStore) PutChunkLinkForProviderAndContextID ¶
func (*AdStore) PutEntries ¶
type AdvertReadable ¶
type AdvertStore ¶
type AdvertStore interface {
AdvertReadable
AdvertWritable
}
type AdvertWritable ¶
type ChunkLinkStore ¶
type ChunkLinkStore interface {
ChunkLinkForProviderAndContextID(ctx context.Context, p peer.ID, contextID []byte) (ipld.Link, error)
PutChunkLinkForProviderAndContextID(ctx context.Context, p peer.ID, contextID []byte, adCid ipld.Link) error
DeleteChunkLinkForProviderAndContextID(ctx context.Context, p peer.ID, contextID []byte) error
}
type EncodeableStore ¶
type EntriesReadable ¶
type EntriesStore ¶
type EntriesStore interface {
EntriesReadable
EntriesWritable
}
type EntriesWritable ¶
type ErrNotFound ¶
type ErrNotFound struct {
// contains filtered or unexported fields
}
func NewErrNotFound ¶
func NewErrNotFound(underlying error) ErrNotFound
func (ErrNotFound) Error ¶
func (e ErrNotFound) Error() string
func (ErrNotFound) Unwrap ¶
func (e ErrNotFound) Unwrap() error
type FullStore ¶
type FullStore interface {
EncodeableStore
PublisherStore
}
type MetadataStore ¶
type MetadataStore interface {
MetadataForProviderAndContextID(ctx context.Context, p peer.ID, contextID []byte) (metadata.Metadata, error)
PutMetadataForProviderAndContextID(ctx context.Context, p peer.ID, contextID []byte, md metadata.Metadata) error
DeleteMetadataForProviderAndContextID(ctx context.Context, p peer.ID, contextID []byte) error
}
type Option ¶
type Option func(cfg *options)
Option is an option configuring a store.
func WithMetadataContext ¶
func WithMetadataContext(context metadata.MetadataContext) Option
WithMetadataContext configues the IPNI metadata context, allowing custom metadata types to be stored. If not configured, the default context is used.
type ProviderContextTable ¶
type PublisherStore ¶
type PublisherStore interface {
AdvertStore
EntriesStore
HeadStore
ChunkLinkStore
MetadataStore
}
Click to show internal directories.
Click to hide internal directories.