Documentation ¶
Index ¶
- Constants
- Variables
- func ExtractEncoding(v string) (mbase.Encoding, error)
- type Event
- type EventHeader
- type ID
- func (i ID) Bytes() []byte
- func (i ID) Defined() bool
- func (i ID) Encode(base mbase.Encoder) string
- func (i ID) Equals(o ID) bool
- func (i ID) KeyString() string
- func (i ID) Loggable() map[string]interface{}
- func (i ID) MarshalBinary() ([]byte, error)
- func (i ID) MarshalText() ([]byte, error)
- func (i ID) String() string
- func (i ID) StringOfBase(base mbase.Encoding) (string, error)
- func (i *ID) UnmarshalBinary(data []byte) error
- func (i *ID) UnmarshalText(text []byte) error
- func (i ID) Variant() uint64
- func (i ID) Version() uint64
- type IDSlice
- type Info
- type LogInfo
- type Record
Constants ¶
const ( Raw = 0x55 AccessControlled = 0x70 // Supports access control lists )
Variants.
const (
V1 = 0x01
)
Versions.
Variables ¶
var ( // ErrVarintBuffSmall means that a buffer passed to the ID parser was not // long enough, or did not contain an invalid ID. ErrVarintBuffSmall = fmt.Errorf("reading varint: buffer too small") // ErrVarintTooBig means that the varint in the given ID was above the // limit of 2^64. ErrVarintTooBig = fmt.Errorf("reading varint: varint bigger than 64bits" + " and not supported") // ErrIDTooShort means that the ID passed to decode was not long // enough to be a valid ID. ErrIDTooShort = fmt.Errorf("id too short") )
var Undef = ID{}
Undef can be used to represent a nil or undefined Cid, using Cid{} directly is also acceptable.
var VariantToStr = map[uint64]string{ Raw: "raw", AccessControlled: "access_controlled", }
VariantToStr maps the numeric variant to its name.
var Variants = map[string]uint64{ "raw": Raw, "textile": AccessControlled, }
Variants maps the name of a variant to its variant.
Functions ¶
Types ¶
type Event ¶
type Event interface { format.Node // HeaderID returns the cid of the event header. HeaderID() cid.Cid // GetHeader loads and optionally decrypts the event header. // If no key is given, the header time and key methods will return an error. GetHeader(context.Context, format.DAGService, crypto.DecryptionKey) (EventHeader, error) // BodyID returns the cid of the event body. BodyID() cid.Cid // GetBody loads and optionally decrypts the event body. GetBody(context.Context, format.DAGService, crypto.DecryptionKey) (format.Node, error) }
Event is the Block format used by Textile threads
type EventHeader ¶
type EventHeader interface { format.Node // Time returns the wall-clock time at which this event was created. Time() (*time.Time, error) // Key returns a single-use decryption key for the event body. Key() (crypto.DecryptionKey, error) }
EventHeader is the format of the event's header object
type ID ¶
type ID struct {
// contains filtered or unexported fields
}
ID represents a self-describing thread identifier. It is formed by a Version, a Variant, and a random number of a given length.
func Cast ¶
Cast takes an ID data slice, parses it and returns an ID. For IDV1, the data buffer is in the form:
<version><variant><random-number>
Please use decode when parsing a regular ID string, as Cast does not expect multibase-encoded data. Cast accepts the output of ID.Bytes().
func Decode ¶
Decode parses an ID-encoded string and returns an ID object. For IDV1, an ID-encoded string is primarily a multibase string:
<multibase-type-code><base-encoded-string>
The base-encoded string represents a:
<version><variant><random-number>
func (ID) Bytes ¶
Bytes returns the byte representation of an ID. The output of bytes can be parsed back into an ID with Cast().
func (ID) Defined ¶
Defined returns true if an ID is defined. Calling any other methods on an undefined ID will result in undefined behavior.
func (ID) Encode ¶
Encode return the string representation of an ID in a given base when applicable.
func (ID) Loggable ¶
Loggable returns a Loggable (as defined by https://godoc.org/github.com/ipfs/go-log).
func (ID) MarshalBinary ¶
MarshalBinary is equivalent to Bytes(). It implements the encoding.BinaryMarshaler interface.
func (ID) MarshalText ¶
MarshalText is equivalent to String(). It implements the encoding.TextMarshaler interface.
func (ID) String ¶
String returns the default string representation of an ID. Currently, Base32 is used as the encoding for the multibase string.
func (ID) StringOfBase ¶
String returns the string representation of an ID encoded is selected base.
func (*ID) UnmarshalBinary ¶
UnmarshalBinary is equivalent to Cast(). It implements the encoding.BinaryUnmarshaler interface.
func (*ID) UnmarshalText ¶
UnmarshalText is equivalent to Decode(). It implements the encoding.TextUnmarshaler interface.
type LogInfo ¶
type LogInfo struct { ID peer.ID PubKey ic.PubKey PrivKey ic.PrivKey Addrs []ma.Multiaddr Heads []cid.Cid }
LogInfo holds known info about a log.
type Record ¶
type Record interface { format.Node // BlockID returns the cid of the node block. BlockID() cid.Cid // GetBlock loads the node block. GetBlock(context.Context, format.DAGService) (format.Node, error) // PrevID returns the cid of the previous node. PrevID() cid.Cid // Sig returns the node signature. Sig() []byte // Verify returns a non-nil error if the node signature is valid. Verify(pk ic.PubKey) error }
Record is the most basic component of a log.