Documentation ¶
Overview ¶
Package types defines serialization and parsing functions for SignedLogRoot fields.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LogRoot ¶
type LogRoot struct { Version tls.Enum `tls:"size:2"` V1 *LogRootV1 `tls:"selector:Version,val:1"` }
LogRoot holds the TLS-deserialization of the following structure (described in RFC5246 section 4 notation): enum { v1(1), (65535)} Version;
struct { Version version; select(version) { case v1: LogRootV1; } } LogRoot;
type LogRootV1 ¶
type LogRootV1 struct { // TreeSize is the number of leaves in the log Merkle tree. TreeSize uint64 // RootHash is the hash of the root node of the tree. RootHash []byte `tls:"minlen:0,maxlen:128"` // TimestampNanos is the time in nanoseconds for when this root was created, // counting from the UNIX epoch. TimestampNanos uint64 // Revision is the Merkle tree revision associated with this root. // // Deprecated: Revision is a concept internal to the storage layer. Revision uint64 // Metadata holds additional data associated with this root. Metadata []byte `tls:"minlen:0,maxlen:65535"` }
LogRootV1 holds the TLS-deserialization of the following structure (described in RFC5246 section 4 notation):
struct { uint64 tree_size; opaque root_hash<0..128>; uint64 timestamp_nanos; uint64 revision; opaque metadata<0..65535>; } LogRootV1;
func (*LogRootV1) MarshalBinary ¶
MarshalBinary returns a canonical TLS serialization of LogRoot.
func (*LogRootV1) UnmarshalBinary ¶
UnmarshalBinary verifies that logRootBytes is a TLS serialized LogRoot, has the LOG_ROOT_FORMAT_V1 tag, and populates the caller with the deserialized *LogRootV1.
Click to show internal directories.
Click to hide internal directories.