Help us shape the future of Go! Take the 2026 Go Developer Survey

mapping

package
v1.96.0 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package mapping turns what the store service carries into goback's own types and back.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Decoded added in v1.96.0

func Decoded(stored *proto.Stored) (*proto.Object, error)

Decoded is Encoded's inverse.

func DecodedAll added in v1.96.0

func DecodedAll(stored []*proto.Stored) ([]*proto.Object, error)

DecodedAll is EncodedAll's inverse.

func Duration added in v1.65.0

func Duration(seconds int64) time.Duration

Duration is a count of seconds as a duration; a count past what a duration holds is the longest one, or the shortest.

func Encoded added in v1.96.0

func Encoded(object *proto.Object) (*proto.Stored, error)

Encoded is an object as the store service carries it, nil for none.

func EncodedAll added in v1.96.0

func EncodedAll(objects []*proto.Object) ([]*proto.Stored, error)

EncodedAll is Encoded of each of objects.

func FromMissingRefs added in v1.92.0

func FromMissingRefs(refs []*proto.MissingRefs) [][]*proto.Ref

FromMissingRefs is MissingRefs's inverse.

func MissingRefs added in v1.92.0

func MissingRefs(refs [][]*proto.Ref) []*proto.MissingRefs

MissingRefs is what each of several commits lacks, as the store service carries it.

func Seconds added in v1.65.0

func Seconds(d time.Duration) int64

Seconds is d in whole seconds, as the store service carries durations.

Types

type Mapper

type Mapper interface {
	StorePolicy(in *storekey.Policy) *proto.StorePolicy
	FromStorePolicy(in *proto.StorePolicy) *storekey.Policy

	// field:KeepWithin using:"Seconds"
	RetentionPolicy(in *retention.Policy) *proto.RetentionPolicy
	// field:KeepWithin using:"Duration"
	FromRetentionPolicy(in *proto.RetentionPolicy) *retention.Policy

	SetRetention(in index.SetRetention) *proto.GetRetentionResponse
	FromSetRetention(in *proto.GetRetentionResponse) index.SetRetention

	// Effective is a policy in force, which is never unset.
	// field:KeepWithin using:"Seconds"
	Effective(in retention.Policy) *proto.RetentionPolicy
	// FromEffective is Effective's inverse.
	// field:KeepWithin using:"Duration"
	FromEffective(in *proto.RetentionPolicy) retention.Policy

	RetentionBracket(in retention.Bracket) *proto.RetentionBracket
	FromRetentionBracket(in *proto.RetentionBracket) retention.Bracket

	// field:UploadId from:"ID"
	// field:Commit using:"Encoded"
	// field:Commits using:"EncodedAll"
	// field:CommitsMissing using:"MissingRefs"
	UploadStatus(in backup.UploadStatus) (*proto.UploadStatus, error)
	// field:ID from:"UploadId"
	// field:Commit using:"Decoded"
	// field:Commits using:"DecodedAll"
	// field:CommitsMissing using:"FromMissingRefs"
	FromUploadStatus(in *proto.UploadStatus) (backup.UploadStatus, error)

	// field:AgentId from:"Agent"
	ReportSchedule(in schedule.Report) *proto.ReportScheduleRequest
	// field:Agent from:"AgentId"
	FromReportSchedule(in *proto.ReportScheduleRequest) schedule.Report

	// field:BackupSet from:"Set"
	// field:LongestGapSeconds from:"LongestGap" using:"Seconds"
	// field:JitterSeconds from:"Jitter" using:"Seconds"
	// field:CommitEverySeconds from:"CommitEvery" using:"Seconds"
	SetSchedule(in schedule.Expectation) *proto.SetSchedule
	// field:Set from:"BackupSet"
	// field:LongestGap from:"LongestGapSeconds" using:"Duration"
	// field:Jitter from:"JitterSeconds" using:"Duration"
	// field:CommitEvery from:"CommitEverySeconds" using:"Duration"
	FromSetSchedule(in *proto.SetSchedule) schedule.Expectation
}

mapper:generate

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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