proto

package
v0.0.0-...-eedcae6 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2015 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const CHUNK_SIZE = 1024 * 1024 * 2
View Source
const (
	MANIFEST_HEADER = "BAR:MANIFEST"
)

Variables

This section is empty.

Functions

func PeekManifest

func PeekManifest(in io.Reader) (r io.Reader, isShadow bool, err error)

Peek blob kind from given reader

Types

type Chunk

type Chunk struct {
	Data

	// Offset
	Offset int64
}

Manifest chunk

func (Chunk) MarshalThrift

func (c Chunk) MarshalThrift() (data wire.Chunk, err error)

func (Chunk) String

func (c Chunk) String() string

func (*Chunk) UnmarshalThrift

func (c *Chunk) UnmarshalThrift(data wire.Chunk) (err error)

type ChunkSlice

type ChunkSlice []Chunk

slice of unique chunks

func (ChunkSlice) MarshalThrift

func (s ChunkSlice) MarshalThrift() (data []*wire.Chunk, err error)

func (*ChunkSlice) UnmarshalThrift

func (s *ChunkSlice) UnmarshalThrift(data []*wire.Chunk) (err error)

type Data

type Data struct {
	ID   ID
	Size int64
}

Data chunk

func (Data) MarshalThrift

func (d Data) MarshalThrift() (tData wire.DataInfo, err error)

func (*Data) UnmarshalThrift

func (d *Data) UnmarshalThrift(tData wire.DataInfo) (err error)

type ID

type ID string

SHA3-256

func (ID) Decode

func (i ID) Decode(data []byte) (err error)

func (ID) MarshalThrift

func (i ID) MarshalThrift() (res wire.ID, err error)

func (ID) String

func (i ID) String() string

func (*ID) UnmarshalBinary

func (i *ID) UnmarshalBinary(data []byte) (err error)

func (*ID) UnmarshalThrift

func (i *ID) UnmarshalThrift(data wire.ID) (err error)

type IDSlice

type IDSlice []ID

func (IDSlice) MarshalThrift

func (i IDSlice) MarshalThrift() (res [][]byte, err error)

NOTE: strange behaviour of thrift compiller should be []ID.

func (*IDSlice) UnmarshalThrift

func (i *IDSlice) UnmarshalThrift(data [][]byte) (err error)

type Manifest

type Manifest struct {
	Data
	Chunks []Chunk
}

func NewFromAny

func NewFromAny(in io.Reader, chunkSize int64) (res *Manifest, err error)

func NewFromBLOB

func NewFromBLOB(in io.Reader, chunkSize int64) (res *Manifest, err error)

Make shadow from BLOB

func NewFromManifest

func NewFromManifest(in io.Reader) (res *Manifest, err error)

Make shadow from manifest

func (Manifest) MarshalThrift

func (s Manifest) MarshalThrift() (res wire.Manifest, err error)

func (*Manifest) ParseBlob

func (s *Manifest) ParseBlob(in io.Reader, chunkSize int64) (err error)

Initialize manifest from BLOB

func (*Manifest) ParseManifest

func (s *Manifest) ParseManifest(in io.Reader) (err error)

Parse manifest

func (*Manifest) Serialize

func (s *Manifest) Serialize(out io.Writer) (err error)

write initialized manifest to specific stream

func (Manifest) String

func (s Manifest) String() (res string)

func (*Manifest) UnmarshalThrift

func (s *Manifest) UnmarshalThrift(data wire.Manifest) (err error)

type ManifestSlice

type ManifestSlice []Manifest

func (ManifestSlice) GetChunkSlice

func (s ManifestSlice) GetChunkSlice() (res IDSlice)

Get slice with unique chunk ids

func (ManifestSlice) MarshalThrift

func (s ManifestSlice) MarshalThrift() (res []*wire.Manifest, err error)

func (*ManifestSlice) UnmarshalThrift

func (s *ManifestSlice) UnmarshalThrift(data []*wire.Manifest) (err error)

type ServerInfo

type ServerInfo struct {

	// HTTP Endpoint
	HTTPEndpoint string

	// RPC Endpoint
	RPCEndpoints []string

	// Preferred chunk size
	ChunkSize int64

	// Preferred number of connections from client
	PoolSize int

	// Thrift rpc buffer size
	BufferSize int
}

Server info

func (*ServerInfo) JoinRPCEndpoints

func (i *ServerInfo) JoinRPCEndpoints() string

func (ServerInfo) MarshalThrift

func (i ServerInfo) MarshalThrift() (res wire.ServerInfo, err error)

func (*ServerInfo) UnmarshalThrift

func (i *ServerInfo) UnmarshalThrift(data wire.ServerInfo) (err error)

type Spec

type Spec struct {

	// Spec ID is SHA3-256 hash of sorted filepath:manifest-id + kills-filepaths
	ID ID

	// Spec timestamp
	Timestamp int64

	// BLOB links
	BLOBs map[string]ID

	// Deleted filenames (not implemented)
	Removes []string
}

Tree spec

func NewSpec

func NewSpec(timestamp int64, in map[string]ID, kill []string) (res Spec, err error)

func (Spec) MarshalThrift

func (s Spec) MarshalThrift() (data wire.Spec, err error)

func (*Spec) UnmarshalThrift

func (s *Spec) UnmarshalThrift(data wire.Spec) (err error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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