Module fog_pack::types[][src]

Various fog-pack content types.

The fog-pack serialization format has a number of special types, in addition to the usual primitive types:

  • Null
  • Bool
  • Int - any integer from -2^63 to 2^64-1
  • F32 - 32-bit floating point
  • F64 - 64-bit floating point
  • Bin - Binary byte sequences
  • Str - UTF-8 strings
  • Array - heterogeneous sequence of values
  • Map - Ordered key-value map, with strings for keys
  • Time - a unix timestamp
  • Hash - a cryptographic hash
  • Identity - a public signing key
  • StreamId - an identifier for a symmetric encryption key
  • LockId - a public key for encryption
  • DataLockbox - Encrypted general data
  • IdentityLockbox - An encrypted private signing key
  • StreamLockbox - An encrypted key for symmetric encryption
  • LockLockbox - An encrypted private key

A general structure for holding fog-pack data is Value. The non-owning version of it is ValueRef.

Structs

DataLockbox

General encrypted data.

DataLockboxRef

General encrypted data.

Hash

Crytographically secure hash of data.

Identity

An Identity, wrapping a public signing key.

IdentityLockbox

An encrypted IdentityKey.

IdentityLockboxRef

An encrypted IdentityKey.

Integer

Represents a fog-pack integer, whether signed or unsigned.

LockId

An identifier for a corresponding LockKey that can be used to encrypt data for that key.

LockLockbox

An encrypted LockKey.

LockLockboxRef

An reference to an encrypted LockKey.

StreamId

An identifier for a corresponding StreamKey. It is primarily used to indicate lockboxes are meant for that particular key.

StreamLockbox

An encrypted StreamKey.

StreamLockboxRef

An encrypted StreamKey.

Timestamp

Structure for holding a raw fog-pack timestamp. This stores time in some consistent internal format, which may or may not be UTC. UTC time can always be extracted from it.

Enums

Value
ValueRef