Documentation ¶
Index ¶
Constants ¶
View Source
const VersionRecordMD = 1
RecordMetadata is the metadata of a record.
Variables ¶
View Source
var ( // ErrRecordNotFound is emitted when a record could not be found ErrRecordNotFound = errors.New("record not found") // ErrRecordFound is emitted when a record is found while none was // expected. ErrRecordFound = errors.New("record found") // ErrFileNotFound is emitted when a file inside a record could not be // found ErrFileNotFound = errors.New("file not found") // ErrShutdown is emitted when the backend is shutting down. ErrShutdown = errors.New("backend is shutting down") // ErrNoChanges there are no changes to the record. ErrNoChanges = errors.New("no changes to record") // ErrChangesRecord is returned when a record would change when not // expected. ErrChangesRecord = errors.New("changes record") // ErrRecordArchived is returned when an update was attempted on a // archived record. ErrRecordArchived = errors.New("record is archived") // ErrJournalsNotReplayed is returned when the journals have not been replayed // and the subsequent code expect it to be replayed ErrJournalsNotReplayed = errors.New("journals have not been replayed") // Plugin names must be all lowercase letters and have a length of <20 PluginRE = regexp.MustCompile(`^[a-zA-Z]{1,20}$`) )
View Source
var ( // MDStatus converts a status code to a human readable error. MDStatus = map[MDStatusT]string{ MDStatusInvalid: "invalid", MDStatusUnvetted: "unvetted", MDStatusVetted: "vetted", MDStatusCensored: "censored", MDStatusIterationUnvetted: "iteration unvetted", MDStatusArchived: "archived", } )
Functions ¶
This section is empty.
Types ¶
type Backend ¶
type Backend interface { // Create new record New([]MetadataStream, []File) (*RecordMetadata, error) // Update unvetted record (token, mdAppend, mdOverwrite, fAdd, fDelete) UpdateUnvettedRecord([]byte, []MetadataStream, []MetadataStream, []File, []string) (*Record, error) // Update vetted record (token, mdAppend, mdOverwrite, fAdd, fDelete) UpdateVettedRecord([]byte, []MetadataStream, []MetadataStream, []File, []string) (*Record, error) // Update vetted metadata (token, mdAppend, mdOverwrite) UpdateVettedMetadata([]byte, []MetadataStream, []MetadataStream) error // Get unvetted record GetUnvetted([]byte) (*Record, error) // Get vetted record GetVetted([]byte, string) (*Record, error) // Set unvetted record status SetUnvettedStatus([]byte, MDStatusT, []MetadataStream, []MetadataStream) (*Record, error) // Set vetted record status SetVettedStatus([]byte, MDStatusT, []MetadataStream, []MetadataStream) (*Record, error) // Inventory retrieves various record records. Inventory(uint, uint, bool) ([]Record, []Record, error) // Obtain plugin settings GetPlugins() ([]Plugin, error) // Plugin pass-through command Plugin(string, string) (string, string, error) // command type, payload, errror // Close performs cleanup of the backend. Close() }
type ContentVerificationError ¶
type ContentVerificationError struct { ErrorCode v1.ErrorStatusT ErrorContext []string }
ContentVerificationError is returned when a submitted record contains unacceptable file formats or corrupt data.
func (ContentVerificationError) Error ¶
func (c ContentVerificationError) Error() string
type MDStatusT ¶
type MDStatusT int
const ( // All possible MD status codes MDStatusInvalid MDStatusT = 0 // Invalid status, this is a bug MDStatusUnvetted MDStatusT = 1 // Unvetted record MDStatusVetted MDStatusT = 2 // Vetted record MDStatusCensored MDStatusT = 3 // Censored record MDStatusIterationUnvetted MDStatusT = 4 // Unvetted record that has been changed MDStatusArchived MDStatusT = 5 // Vetted record that has been archived )
type MetadataStream ¶
type MetadataStream struct { ID uint64 // Stream identity Payload string // String encoded metadata }
MetadataStream describes a single metada stream. The ID determines how and where it is stored.
type Plugin ¶
type Plugin struct { ID string // Identifier Version string // Version Settings []PluginSetting // Settings }
Plugin describes a plugin and its settings.
type PluginSetting ¶
PluginSettings
type Record ¶
type Record struct { RecordMetadata RecordMetadata // Internal metadata Version string // Version of Files Metadata []MetadataStream // User provided metadata Files []File // User provided files }
Record is a permanent Record that includes the submitted files, metadata and internal metadata.
type RecordMetadata ¶
type RecordMetadata struct { Version uint64 `json:"version"` // Version of the scruture Iteration uint64 `json:"iteration"` // Iteration count of record Status MDStatusT `json:"status"` // Current status of the record Merkle string `json:"merkle"` // Merkle root of all files in record Timestamp int64 `json:"timestamp"` // Last updated Token string `json:"token"` // Record authentication token }
type StateTransitionError ¶
StateTransitionError indicates an invalid record status transition.
func (StateTransitionError) Error ¶
func (s StateTransitionError) Error() string
Click to show internal directories.
Click to hide internal directories.