Documentation ¶
Index ¶
- Variables
- type ChunkMetadata
- func (v *ChunkMetadata) Copy() *ChunkMetadata
- func (v *ChunkMetadata) CopyAsInterface() interface{}
- func (v *ChunkMetadata) Equal(u *ChunkMetadata) bool
- func (v *ChunkMetadata) IsValid() error
- func (v *ChunkMetadata) MarshalBinary() ([]byte, error)
- func (v *ChunkMetadata) MarshalJSON() ([]byte, error)
- func (v *ChunkMetadata) UnmarshalBinary(data []byte) error
- func (v *ChunkMetadata) UnmarshalBinaryFrom(rd io.Reader) error
- func (v *ChunkMetadata) UnmarshalJSON(b []byte) error
- type DownloadJob
- type FileMetadata
- func (v *FileMetadata) Copy() *FileMetadata
- func (v *FileMetadata) CopyAsInterface() interface{}
- func (v *FileMetadata) Equal(u *FileMetadata) bool
- func (v *FileMetadata) IsValid() error
- func (v *FileMetadata) MarshalBinary() ([]byte, error)
- func (v *FileMetadata) MarshalJSON() ([]byte, error)
- func (v *FileMetadata) UnmarshalBinary(data []byte) error
- func (v *FileMetadata) UnmarshalBinaryFrom(rd io.Reader) error
- func (v *FileMetadata) UnmarshalJSON(b []byte) error
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrBadHash = errors.New("hash does not match")
Functions ¶
This section is empty.
Types ¶
type ChunkMetadata ¶
type ChunkMetadata struct { Index uint64 `json:"index,omitempty" form:"index" query:"index" validate:"required"` Size uint64 `json:"size,omitempty" form:"size" query:"size" validate:"required"` Offset uint64 `json:"offset,omitempty" form:"offset" query:"offset" validate:"required"` Hash [32]byte `json:"hash,omitempty" form:"hash" query:"hash" validate:"required"` // contains filtered or unexported fields }
func ChunksBySize ¶
func ChunksBySize(file io.Reader, size uint64) ([]*ChunkMetadata, error)
func (*ChunkMetadata) Copy ¶
func (v *ChunkMetadata) Copy() *ChunkMetadata
func (*ChunkMetadata) CopyAsInterface ¶
func (v *ChunkMetadata) CopyAsInterface() interface{}
func (*ChunkMetadata) Equal ¶
func (v *ChunkMetadata) Equal(u *ChunkMetadata) bool
func (*ChunkMetadata) IsValid ¶
func (v *ChunkMetadata) IsValid() error
func (*ChunkMetadata) MarshalBinary ¶
func (v *ChunkMetadata) MarshalBinary() ([]byte, error)
func (*ChunkMetadata) MarshalJSON ¶
func (v *ChunkMetadata) MarshalJSON() ([]byte, error)
func (*ChunkMetadata) UnmarshalBinary ¶
func (v *ChunkMetadata) UnmarshalBinary(data []byte) error
func (*ChunkMetadata) UnmarshalBinaryFrom ¶
func (v *ChunkMetadata) UnmarshalBinaryFrom(rd io.Reader) error
func (*ChunkMetadata) UnmarshalJSON ¶
func (v *ChunkMetadata) UnmarshalJSON(b []byte) error
type DownloadJob ¶
type DownloadJob struct {
// contains filtered or unexported fields
}
func NewDownloadJob ¶
func NewDownloadJob(file *FileMetadata) (*DownloadJob, error)
func (*DownloadJob) Done ¶
func (j *DownloadJob) Done() bool
Done returns true if every chunk has been received.
func (*DownloadJob) RecordChunk ¶
func (j *DownloadJob) RecordChunk(index int, data []byte) error
RecordChunk verifies and records the given chunk.
func (*DownloadJob) Reset ¶
func (j *DownloadJob) Reset() error
Reset aborts the active job, if there is one, and removes all the temporary files.
func (*DownloadJob) WriteTo ¶
func (j *DownloadJob) WriteTo(file io.WriteSeeker) error
WriteTo writes the chunks to a file.
type FileMetadata ¶
type FileMetadata struct { Chunks []*ChunkMetadata `json:"chunks,omitempty" form:"chunks" query:"chunks" validate:"required"` // contains filtered or unexported fields }
func (*FileMetadata) Copy ¶
func (v *FileMetadata) Copy() *FileMetadata
func (*FileMetadata) CopyAsInterface ¶
func (v *FileMetadata) CopyAsInterface() interface{}
func (*FileMetadata) Equal ¶
func (v *FileMetadata) Equal(u *FileMetadata) bool
func (*FileMetadata) IsValid ¶
func (v *FileMetadata) IsValid() error
func (*FileMetadata) MarshalBinary ¶
func (v *FileMetadata) MarshalBinary() ([]byte, error)
func (*FileMetadata) MarshalJSON ¶
func (v *FileMetadata) MarshalJSON() ([]byte, error)
func (*FileMetadata) UnmarshalBinary ¶
func (v *FileMetadata) UnmarshalBinary(data []byte) error
func (*FileMetadata) UnmarshalBinaryFrom ¶
func (v *FileMetadata) UnmarshalBinaryFrom(rd io.Reader) error
func (*FileMetadata) UnmarshalJSON ¶
func (v *FileMetadata) UnmarshalJSON(b []byte) error
Click to show internal directories.
Click to hide internal directories.