Documentation
¶
Index ¶
- func DecodeIndex(r io.Reader) (Index, []InvalidIndexEntry, error)
- func DecodeNamespace(r io.Reader) (Namespace, []InvalidNamespaceEntry, error)
- func FilterSignedEntries(stream []NamespaceStreamEntry, keys []crypto.PublicKey) ([]NamespaceStreamEntry, []InvalidNamespaceEntry)
- func IsNilPath(path IPFSPath) bool
- func JoinStreamEntries(stream []NamespaceStreamEntry) ([]NamespaceStreamEntry, []InvalidNamespaceEntry)
- func MakeIndexEntryMessage(entry IndexStreamEntry) *proto.IndexEntryMessage
- func MakeIndexStream(index Index) ([]IndexStreamEntry, []InvalidIndexEntry)
- func MakeIndexStreamMessage(stream []IndexStreamEntry) *proto.IndexMessage
- func MakeLinkMessage(link Link) (*proto.LinkMessage, error)
- func MakeNamespaceEntryMessage(entry NamespaceStreamEntry) *proto.NamespaceEntryMessage
- func MakeNamespaceStream(ns Namespace) ([]NamespaceStreamEntry, []InvalidNamespaceEntry)
- func MakeNamespaceStreamMessage(stream []NamespaceStreamEntry) *proto.NamespaceMessage
- func MakePointMessage(point StreamPoint) *proto.PointMessage
- func MakeRowStream(tableKey TableName, rowKey RowName, row Row) ([]NamespaceStreamEntry, []InvalidNamespaceEntry)
- func MakeTableStream(tableKey TableName, table Table) ([]NamespaceStreamEntry, []InvalidNamespaceEntry)
- func ReadIndexMessage(message *proto.IndexMessage) (Index, []InvalidIndexEntry)
- func ReadIndexStream(stream []IndexStreamEntry) (Index, []InvalidIndexEntry)
- func ReadNamespaceMessage(message *proto.NamespaceMessage) (Namespace, []InvalidNamespaceEntry)
- func ReadNamespaceStream(stream []NamespaceStreamEntry) (Namespace, []InvalidNamespaceEntry)
- func SortNamespaceStream(stream []NamespaceStreamEntry)
- type Entry
- type EntryName
- type IPFSPath
- type Index
- func (index Index) AllTables() []TableName
- func (index Index) Copy() Index
- func (index Index) Equals(other Index) bool
- func (index Index) ForTable(tableName TableName, f func(link Link)) error
- func (index Index) GetTableAddrs(tableName TableName) ([]Link, error)
- func (index Index) IsEmpty() bool
- func (index Index) JoinIndex(other Index) Index
- func (index Index) JoinNamespace(addr Link, namespace Namespace) Index
- func (index Index) JoinTable(table TableName, addr ...Link) Index
- type IndexStreamEntry
- type InvalidIndexEntry
- type InvalidNamespaceEntry
- type Link
- func GenLink(rand *rand.Rand, size int) Link
- func MergeLinks(links []Link) []Link
- func ParseLink(text LinkText) (Link, error)
- func PresignedLink(path IPFSPath, sigs []crypto.Signature) Link
- func ReadLinkMessage(message *proto.LinkMessage) (Link, error)
- func SignedLink(path IPFSPath, keys []crypto.PrivateKey) (Link, error)
- func UnsignedLink(path IPFSPath) Link
- func (link Link) Equals(other Link) bool
- func (signed Link) IsVerifiedBy(publicKey crypto.PublicKey) bool
- func (signed Link) IsVerifiedByAny(keys []crypto.PublicKey) bool
- func (link Link) Path() IPFSPath
- func (link Link) SameLink(other Link) bool
- func (signed Link) SameText(other signedText) bool
- func (link Link) Signatures() []crypto.Signature
- type LinkText
- type Namespace
- func (ns Namespace) Copy() Namespace
- func (ns Namespace) Equals(other Namespace) bool
- func (ns Namespace) FilterVerified(keys []crypto.PublicKey) Namespace
- func (ns Namespace) ForeachEntry(f func(t TableName, r RowName, e EntryName, entry Entry))
- func (ns Namespace) ForeachRow(f func(t TableName, r RowName, row Row))
- func (ns Namespace) GetTable(key TableName) (Table, error)
- func (ns Namespace) GetTableNames() []TableName
- func (ns Namespace) IsEmpty() bool
- func (ns Namespace) JoinNamespace(other Namespace) Namespace
- func (ns Namespace) JoinTable(key TableName, table Table) Namespace
- func (ns Namespace) Strip() (Namespace, []InvalidNamespaceEntry)
- type NamespaceStreamEntry
- type Point
- func (p Point) Equals(other Point) bool
- func (p Point) HasText(text string) bool
- func (signed Point) IsVerifiedBy(publicKey crypto.PublicKey) bool
- func (signed Point) IsVerifiedByAny(keys []crypto.PublicKey) bool
- func (signed Point) SameText(other signedText) bool
- func (p Point) Signatures() []crypto.Signature
- func (p Point) Text() PointText
- type PointText
- type Row
- type RowName
- type StreamPoint
- type Table
- func (t Table) AllRows() []Row
- func (t Table) Copy() Table
- func (t Table) Equals(other Table) bool
- func (t Table) ForeachEntry(f func(rowName RowName, entryName EntryName, entry Entry))
- func (t Table) ForeachRow(f func(rowName RowName, r Row))
- func (t Table) GetRow(rowKey RowName) (Row, error)
- func (t Table) JoinRow(rowKey RowName, row Row) Table
- func (t Table) JoinTable(other Table) Table
- type TableName
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DecodeIndex ¶
func DecodeIndex(r io.Reader) (Index, []InvalidIndexEntry, error)
func DecodeNamespace ¶
func DecodeNamespace(r io.Reader) (Namespace, []InvalidNamespaceEntry, error)
func FilterSignedEntries ¶
func FilterSignedEntries(stream []NamespaceStreamEntry, keys []crypto.PublicKey) ([]NamespaceStreamEntry, []InvalidNamespaceEntry)
func JoinStreamEntries ¶
func JoinStreamEntries(stream []NamespaceStreamEntry) ([]NamespaceStreamEntry, []InvalidNamespaceEntry)
func MakeIndexEntryMessage ¶
func MakeIndexEntryMessage(entry IndexStreamEntry) *proto.IndexEntryMessage
func MakeIndexStream ¶
func MakeIndexStream(index Index) ([]IndexStreamEntry, []InvalidIndexEntry)
func MakeIndexStreamMessage ¶
func MakeIndexStreamMessage(stream []IndexStreamEntry) *proto.IndexMessage
func MakeLinkMessage ¶
func MakeLinkMessage(link Link) (*proto.LinkMessage, error)
func MakeNamespaceEntryMessage ¶
func MakeNamespaceEntryMessage(entry NamespaceStreamEntry) *proto.NamespaceEntryMessage
func MakeNamespaceStream ¶
func MakeNamespaceStream(ns Namespace) ([]NamespaceStreamEntry, []InvalidNamespaceEntry)
func MakeNamespaceStreamMessage ¶
func MakeNamespaceStreamMessage(stream []NamespaceStreamEntry) *proto.NamespaceMessage
func MakePointMessage ¶
func MakePointMessage(point StreamPoint) *proto.PointMessage
func MakeRowStream ¶
func MakeRowStream(tableKey TableName, rowKey RowName, row Row) ([]NamespaceStreamEntry, []InvalidNamespaceEntry)
func MakeTableStream ¶
func MakeTableStream(tableKey TableName, table Table) ([]NamespaceStreamEntry, []InvalidNamespaceEntry)
func ReadIndexMessage ¶
func ReadIndexMessage(message *proto.IndexMessage) (Index, []InvalidIndexEntry)
func ReadIndexStream ¶
func ReadIndexStream(stream []IndexStreamEntry) (Index, []InvalidIndexEntry)
func ReadNamespaceMessage ¶
func ReadNamespaceMessage(message *proto.NamespaceMessage) (Namespace, []InvalidNamespaceEntry)
func ReadNamespaceStream ¶
func ReadNamespaceStream(stream []NamespaceStreamEntry) (Namespace, []InvalidNamespaceEntry)
func SortNamespaceStream ¶
func SortNamespaceStream(stream []NamespaceStreamEntry)
Types ¶
type Index ¶
func EmptyIndex ¶
func EmptyIndex() Index
type IndexStreamEntry ¶
type IndexStreamEntry struct { TableName TableName Signature crypto.SignatureText Link IPFSPath }
func MakeIndexStreamEntry ¶
func ReadIndexEntryMessage ¶
func ReadIndexEntryMessage(message *proto.IndexEntryMessage) IndexStreamEntry
func ReadIndexStreamMessage ¶
func ReadIndexStreamMessage(message *proto.IndexMessage) []IndexStreamEntry
type InvalidIndexEntry ¶
type InvalidIndexEntry IndexStreamEntry
func EncodeIndex ¶
func EncodeIndex(index Index, w io.Writer) ([]InvalidIndexEntry, error)
func MakeIndexMessage ¶
func MakeIndexMessage(index Index) (*proto.IndexMessage, []InvalidIndexEntry)
type InvalidNamespaceEntry ¶
type InvalidNamespaceEntry NamespaceStreamEntry
func EncodeNamespace ¶
func EncodeNamespace(ns Namespace, w io.Writer) ([]InvalidNamespaceEntry, error)
TODO should return the invalid entries
func MakeNamespaceMessage ¶
func MakeNamespaceMessage(ns Namespace) (*proto.NamespaceMessage, []InvalidNamespaceEntry)
type Link ¶
type Link struct {
// contains filtered or unexported fields
}
func MergeLinks ¶
func ReadLinkMessage ¶
func ReadLinkMessage(message *proto.LinkMessage) (Link, error)
func SignedLink ¶
func SignedLink(path IPFSPath, keys []crypto.PrivateKey) (Link, error)
func UnsignedLink ¶
func (Link) IsVerifiedBy ¶
func (Link) IsVerifiedByAny ¶
func (Link) Signatures ¶
type Namespace ¶
Semi-lattice type that implements our storage
func EmptyNamespace ¶
func EmptyNamespace() Namespace
func MakeNamespace ¶
func (Namespace) FilterVerified ¶
func (Namespace) ForeachEntry ¶
Iterate through all entries
func (Namespace) ForeachRow ¶ added in v0.19.0
func (Namespace) GetTableNames ¶
func (Namespace) JoinNamespace ¶
func (Namespace) Strip ¶
func (ns Namespace) Strip() (Namespace, []InvalidNamespaceEntry)
Strip removes empty tables and rows that would not be saved to the backing store.
type NamespaceStreamEntry ¶
type NamespaceStreamEntry struct { Table TableName Row RowName Entry EntryName Point StreamPoint }
FIXME not really a stream, whole is kept in memory.
func ReadNamespaceEntryMessage ¶
func ReadNamespaceEntryMessage(message *proto.NamespaceEntryMessage) NamespaceStreamEntry
func ReadNamespaceStreamMessage ¶
func ReadNamespaceStreamMessage(message *proto.NamespaceMessage) []NamespaceStreamEntry
type Point ¶
type Point struct {
// contains filtered or unexported fields
}
func SignedPoint ¶
func SignedPoint(text PointText, keys []crypto.PrivateKey) (Point, error)
func UnsignedPoint ¶
func (Point) IsVerifiedBy ¶
func (Point) IsVerifiedByAny ¶
func (Point) Signatures ¶
type Row ¶
func (Row) ForeachEntry ¶
type StreamPoint ¶
type StreamPoint struct { Text PointText Signature crypto.SignatureText }
func MakeStreamPoint ¶
func MakeStreamPoint(text PointText, sig crypto.Signature) (StreamPoint, error)
func ReadPointMessage ¶
func ReadPointMessage(message *proto.PointMessage) StreamPoint
func (StreamPoint) Equals ¶
func (point StreamPoint) Equals(other StreamPoint) bool
func (StreamPoint) Less ¶
func (point StreamPoint) Less(other StreamPoint) bool
type Table ¶
TODO improved type validation
func EmptyTable ¶
func EmptyTable() Table
func (Table) ForeachEntry ¶
func (Table) ForeachRow ¶
Click to show internal directories.
Click to hide internal directories.