model

package
v0.5.11 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2023 License: Apache-2.0, MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MarshalFindRequest

func MarshalFindRequest(r *FindRequest) ([]byte, error)

MarshalFindRequest serializes the request. Currently uses JSON, but could use anything else.

NOTE: Consider using other serialization formats? We could maybe use IPLD schemas instead of structs for requests and response so we have any codec by design.

func MarshalFindResponse

func MarshalFindResponse(r *FindResponse) ([]byte, error)

MarshalFindResponse serializes a find response.

func MarshalStats

func MarshalStats(s *Stats) ([]byte, error)

MarshalStats serializes the stats response. Currently uses JSON, but could use anything else.

Types

type ContextualExtendedProviders

type ContextualExtendedProviders struct {
	Override  bool
	ContextID string
	Providers []peer.AddrInfo
	Metadatas [][]byte `json:",omitempty"`
}

type EncryptedMultihashResult added in v0.5.5

type EncryptedMultihashResult struct {
	Multihash          multihash.Multihash `json:"Multihash,omitempty"`
	EncryptedValueKeys [][]byte            `json:"EncryptedValueKeys,omitempty"`
}

EncryptedMultihashResult aggregates all encrypted value keys for a single multihash

type ExtendedProviders

type ExtendedProviders struct {
	Providers  []peer.AddrInfo               `json:",omitempty"`
	Contextual []ContextualExtendedProviders `json:",omitempty"`
	Metadatas  [][]byte                      `json:",omitempty"`
}

type FindRequest

type FindRequest struct {
	Multihashes []multihash.Multihash
}

FindRequest is the client request send by end user clients

func UnmarshalFindRequest

func UnmarshalFindRequest(b []byte) (*FindRequest, error)

UnmarshalFindRequest de-serializes the request.

type FindResponse

type FindResponse struct {
	MultihashResults          []MultihashResult          `json:"MultihashResults,omitempty"`
	EncryptedMultihashResults []EncryptedMultihashResult `json:"EncryptedMultihashResults,omitempty"`
}

FindResponse used to answer client queries/requests

func UnmarshalFindResponse

func UnmarshalFindResponse(b []byte) (*FindResponse, error)

UnmarshalFindResponse de-serializes a find response.

func (*FindResponse) PrettyPrint

func (r *FindResponse) PrettyPrint()

PrettyPrint a response for CLI output

func (*FindResponse) String

func (r *FindResponse) String() string

type MultihashResult

type MultihashResult struct {
	Multihash       multihash.Multihash
	ProviderResults []ProviderResult
}

MultihashResult aggregates all values for a single multihash.

type ProviderInfo

type ProviderInfo struct {
	AddrInfo              peer.AddrInfo
	LastAdvertisement     cid.Cid            `json:",omitempty"`
	LastAdvertisementTime string             `json:",omitempty"`
	Lag                   int                `json:",omitempty"`
	Publisher             *peer.AddrInfo     `json:",omitempty"`
	IndexCount            uint64             `json:",omitempty"`
	ExtendedProviders     *ExtendedProviders `json:",omitempty"`
	FrozenAt              cid.Cid            `json:",omitempty"`
	FrozenAtTime          string             `json:",omitempty"`
	// Inactive means that no update has been received for the configured
	// Discovery.PollInterval, and the publisher is not responding to polls.
	Inactive bool `json:",omitempty"`
}

ProviderData describes a provider.

type ProviderResult

type ProviderResult struct {
	// ContextID identifies the metadata that is part of this value.
	ContextID []byte `json:"ContextID,omitempty"`
	// Metadata contains information for the provider to use to retrieve data.
	Metadata []byte `json:"Metadata,omitempty"`
	// Provider is the peer ID and addresses of the provider.
	Provider *peer.AddrInfo `json:"Provider,omitempty"`
}

ProviderResult is a one of possibly multiple results when looking up a provider of indexed context.

func (ProviderResult) Equal

func (pr ProviderResult) Equal(other ProviderResult) bool

Equal compares ProviderResult values to determine if they are equal. The provider addresses are omitted from the comparison.

type Stats

type Stats struct {

	// EntriesEstimate estimates the number of entries by simply dividing the size of valuestore by
	// a constant (40). Warning: this estimation does not take into account the backing store
	// optimisations such as compression an prefixed-based storage which could significantly reduce
	// size on disk.
	EntriesEstimate int64
	// EntriesCount uses the backing store API whenever possible to count the number of unique
	// entries in the value store. Its value is not an exact count. It is considered to be far more
	// accurate than estimates based on size of valuestore, e.g. EntriesEstimate.
	EntriesCount int64
}

Stats is the client response to a stats request.

func UnmarshalStats

func UnmarshalStats(b []byte) (*Stats, error)

UnmarshalStats de-serializes the stats response.

Jump to

Keyboard shortcuts

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