Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrLogExists = fmt.Errorf("log already exists")
ErrLogExists indicates a requested log already exists.
View Source
var ErrLogNotFound = fmt.Errorf("log not found")
ErrLogNotFound indicates a requested log was not found.
View Source
var ErrThreadExists = fmt.Errorf("thread already exists")
ErrThreadExists indicates a thread already exists.
View Source
var ErrThreadNotFound = fmt.Errorf("thread not found")
ErrThreadNotFound indicates a requested thread was not found.
Functions ¶
This section is empty.
Types ¶
type AddrBook ¶
type AddrBook interface {
// AddAddr adds an address under a log with a given TTL.
AddAddr(thread.ID, peer.ID, ma.Multiaddr, time.Duration) error
// AddAddrs adds addresses under a log with a given TTL.
AddAddrs(thread.ID, peer.ID, []ma.Multiaddr, time.Duration) error
// SetAddr sets a log's address with a given TTL.
SetAddr(thread.ID, peer.ID, ma.Multiaddr, time.Duration) error
// SetAddrs sets a log's addresses with a given TTL.
SetAddrs(thread.ID, peer.ID, []ma.Multiaddr, time.Duration) error
// UpdateAddrs updates the TTL of a log address.
UpdateAddrs(t thread.ID, id peer.ID, oldTTL time.Duration, newTTL time.Duration) error
// Addrs returns all addresses for a log.
Addrs(thread.ID, peer.ID) ([]ma.Multiaddr, error)
// AddrStream returns a channel that delivers address changes for a log.
AddrStream(context.Context, thread.ID, peer.ID) (<-chan ma.Multiaddr, error)
// ClearAddrs deletes all addresses for a log.
ClearAddrs(thread.ID, peer.ID) error
// LogsWithAddrs returns a list of log IDs for a thread.
LogsWithAddrs(thread.ID) (peer.IDSlice, error)
// ThreadsFromAddrs returns a list of threads referenced in the book.
ThreadsFromAddrs() (thread.IDSlice, error)
}
AddrBook stores log addresses.
type HeadBook ¶
type HeadBook interface {
// AddHead stores cid in a log's head.
AddHead(thread.ID, peer.ID, cid.Cid) error
// AddHeads stores cids in a log's head.
AddHeads(thread.ID, peer.ID, []cid.Cid) error
// SetHead sets a log's head as cid.
SetHead(thread.ID, peer.ID, cid.Cid) error
// SetHeads sets a log's head as cids.
SetHeads(thread.ID, peer.ID, []cid.Cid) error
// Heads retrieves head values for a log.
Heads(thread.ID, peer.ID) ([]cid.Cid, error)
// ClearHeads deletes the head entry for a log.
ClearHeads(thread.ID, peer.ID) error
}
HeadBook stores log heads.
type KeyBook ¶
type KeyBook interface {
// PubKey retrieves the public key of a log.
PubKey(thread.ID, peer.ID) (crypto.PubKey, error)
// AddPubKey adds a public key under a log.
AddPubKey(thread.ID, peer.ID, crypto.PubKey) error
// PrivKey retrieves the private key of a log.
PrivKey(thread.ID, peer.ID) (crypto.PrivKey, error)
// AddPrivKey adds a private key under a log.
AddPrivKey(thread.ID, peer.ID, crypto.PrivKey) error
// ReadKey retrieves the read key of a thread.
ReadKey(thread.ID) (*sym.Key, error)
// AddReadKey adds a read key under a thread.
AddReadKey(thread.ID, *sym.Key) error
// ServiceKey retrieves the service key of a thread.
ServiceKey(thread.ID) (*sym.Key, error)
// AddServiceKey adds a service key under a thread.
AddServiceKey(thread.ID, *sym.Key) error
// ClearKeys deletes all keys under a thread.
ClearKeys(thread.ID) error
// ClearLogKeys deletes all keys under a log.
ClearLogKeys(thread.ID, peer.ID) error
// LogsWithKeys returns a list of log IDs for a service.
LogsWithKeys(thread.ID) (peer.IDSlice, error)
// ThreadsFromKeys returns a list of threads referenced in the book.
ThreadsFromKeys() (thread.IDSlice, error)
}
KeyBook stores log keys.
type Logstore ¶
type Logstore interface {
Close() error
ThreadMetadata
KeyBook
AddrBook
HeadBook
// Threads returns all threads in the store.
Threads() (thread.IDSlice, error)
// AddThread adds a thread.
AddThread(thread.Info) error
// GetThread returns info about a thread.
GetThread(thread.ID) (thread.Info, error)
// DeleteThread deletes a thread.
DeleteThread(thread.ID) error
// AddLog adds a log to a thread.
AddLog(thread.ID, thread.LogInfo) error
// GetLog returns info about a log.
GetLog(thread.ID, peer.ID) (thread.LogInfo, error)
// GetManagedLogs returns info about locally managed logs.
GetManagedLogs(thread.ID) ([]thread.LogInfo, error)
// DeleteLog deletes a log.
DeleteLog(thread.ID, peer.ID) error
}
Logstore stores log keys, addresses, heads and thread meta data.
type ThreadMetadata ¶
type ThreadMetadata interface {
// GetInt64 retrieves a string value under key.
GetInt64(t thread.ID, key string) (*int64, error)
// PutInt64 stores an int value under key.
PutInt64(t thread.ID, key string, val int64) error
// GetString retrieves a string value under key.
GetString(t thread.ID, key string) (*string, error)
// PutString stores a string value under key.
PutString(t thread.ID, key string, val string) error
// GetBool retrieves a boolean value under key.
GetBool(t thread.ID, key string) (*bool, error)
// PutBool stores a boolean value under key.
PutBool(t thread.ID, key string, val bool) error
// GetBytes retrieves a byte value under key.
GetBytes(t thread.ID, key string) (*[]byte, error)
// PutBytes stores a byte value under key.
PutBytes(t thread.ID, key string, val []byte) error
// ClearMetadata clears all metadata under a thread.
ClearMetadata(t thread.ID) error
}
ThreadMetadata stores local thread metadata like name.
Click to show internal directories.
Click to hide internal directories.