operationlog

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 30, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidRetentionPolicy    = errors.New("invalid retention policy")
	ErrOperationOutsideRetention = errors.New("operation outside retention boundary")
	ErrOperationConflict         = errors.New("operation replay conflict")
	ErrStaleCheckpoint           = errors.New("stale checkpoint")
	ErrCheckpointMismatch        = errors.New("checkpoint mismatch")
)

Functions

This section is empty.

Types

type ConflictReport

type ConflictReport struct {
	OperationID    OperationID
	ExistingDigest string
	IncomingDigest string
}

func (*ConflictReport) Error

func (r *ConflictReport) Error() string

func (*ConflictReport) Unwrap

func (r *ConflictReport) Unwrap() error

type DeviceID

type DeviceID string

type EncryptedOperation

type EncryptedOperation struct {
	SpaceID         SpaceID
	MemberID        MemberID
	DeviceID        DeviceID
	OperationID     OperationID
	KeyEpoch        KeyEpoch
	MembershipEpoch MembershipEpoch
	Ciphertext      []byte
	Nonce           []byte
	AssociatedData  []byte
	CreatedAt       time.Time
}

type FastForwardCheckpoint

type FastForwardCheckpoint struct {
	SpaceID         SpaceID
	ThroughSequence uint64
	OperationID     OperationID
	Digest          string
	KeyEpoch        KeyEpoch
	MembershipEpoch MembershipEpoch
}

type KeyEpoch

type KeyEpoch uint64

type Log

type Log struct {
	// contains filtered or unexported fields
}

func NewLog

func NewLog(options LogOptions) (*Log, error)

func (*Log) Append

func (l *Log) Append(operation EncryptedOperation) (OperationCommitment, error)

func (*Log) Checkpoint

func (l *Log) Checkpoint() FastForwardCheckpoint

func (*Log) Commitments

func (l *Log) Commitments() []OperationCommitment

func (*Log) FastForward

func (l *Log) FastForward(checkpoint FastForwardCheckpoint) error

type LogOptions

type LogOptions struct {
	Retention RetentionPolicy
}

type MemberID

type MemberID string

type MembershipEpoch

type MembershipEpoch uint64

type OperationCommitment

type OperationCommitment struct {
	SpaceID         SpaceID
	OperationID     OperationID
	Sequence        uint64
	Digest          string
	KeyEpoch        KeyEpoch
	MembershipEpoch MembershipEpoch
	CiphertextSize  int
}

type OperationID

type OperationID string

type RetentionPolicy

type RetentionPolicy struct {
	MaxOperations      int
	MinKeyEpoch        KeyEpoch
	MinMembershipEpoch MembershipEpoch
}

type SpaceID

type SpaceID string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL