Documentation ¶
Index ¶
- Constants
- func KeyToRelativePath(key BlobHash256Key) string
- type BlobHash256Key
- type ContentStore
- func (s *ContentStore) Delete(key BlobHash256Key) error
- func (s *ContentStore) Get(key BlobHash256Key) (storage.Object, error)
- func (s *ContentStore) GetServeDirectURL(key BlobHash256Key, filename string) (*url.URL, error)
- func (s *ContentStore) Has(key BlobHash256Key) error
- func (s *ContentStore) Save(key BlobHash256Key, r io.Reader, size int64) error
- func (s *ContentStore) ShouldServeDirect() bool
- type HashSummer
- type HashedBuffer
- type HashedSizeReader
- type MultiHasher
Constants ¶
const DefaultMemorySize = 32 * 1024 * 1024
Variables ¶
This section is empty.
Functions ¶
func KeyToRelativePath ¶
func KeyToRelativePath(key BlobHash256Key) string
KeyToRelativePath converts the sha256 key aabb000000... to aa/bb/aabb000000...
Types ¶
type BlobHash256Key ¶
type BlobHash256Key string
BlobHash256Key is the key to address a blob content
func RelativePathToKey ¶
func RelativePathToKey(relativePath string) (BlobHash256Key, error)
RelativePathToKey converts a relative path aa/bb/aabb000000... to the sha256 key aabb000000...
type ContentStore ¶
type ContentStore struct {
// contains filtered or unexported fields
}
ContentStore is a wrapper around ObjectStorage
func NewContentStore ¶
func NewContentStore() *ContentStore
NewContentStore creates the default package store
func (*ContentStore) Delete ¶
func (s *ContentStore) Delete(key BlobHash256Key) error
Delete deletes a package blob
func (*ContentStore) Get ¶
func (s *ContentStore) Get(key BlobHash256Key) (storage.Object, error)
Get gets a package blob
func (*ContentStore) GetServeDirectURL ¶
func (s *ContentStore) GetServeDirectURL(key BlobHash256Key, filename string) (*url.URL, error)
func (*ContentStore) Has ¶
func (s *ContentStore) Has(key BlobHash256Key) error
FIXME: Workaround to be removed in v1.20 https://github.com/go-gitea/gitea/issues/19586
func (*ContentStore) Save ¶
func (s *ContentStore) Save(key BlobHash256Key, r io.Reader, size int64) error
Save stores a package blob
func (*ContentStore) ShouldServeDirect ¶
func (s *ContentStore) ShouldServeDirect() bool
type HashSummer ¶
type HashSummer interface {
Sums() (hashMD5, hashSHA1, hashSHA256, hashSHA512 []byte)
}
HashSummer provide a Sums method
type HashedBuffer ¶
type HashedBuffer struct { *filebuffer.FileBackedBuffer // contains filtered or unexported fields }
HashedBuffer is buffer which calculates multiple checksums
func CreateHashedBufferFromReader ¶
func CreateHashedBufferFromReader(r io.Reader) (*HashedBuffer, error)
CreateHashedBufferFromReader creates a hashed buffer with the default memory size and copies the provided reader data into it.
func CreateHashedBufferFromReaderWithSize ¶
func CreateHashedBufferFromReaderWithSize(r io.Reader, maxMemorySize int) (*HashedBuffer, error)
CreateHashedBufferFromReaderWithSize creates a hashed buffer and copies the provided reader data into it.
func NewHashedBuffer ¶
func NewHashedBuffer() (*HashedBuffer, error)
NewHashedBuffer creates a hashed buffer with the default memory size
func NewHashedBufferWithSize ¶
func NewHashedBufferWithSize(maxMemorySize int) (*HashedBuffer, error)
NewHashedBufferWithSize creates a hashed buffer with a specific memory size
func (*HashedBuffer) Sums ¶
func (b *HashedBuffer) Sums() (hashMD5, hashSHA1, hashSHA256, hashSHA512 []byte)
Sums gets the MD5, SHA1, SHA256 and SHA512 checksums of the data
type HashedSizeReader ¶
type HashedSizeReader interface { io.Reader HashSummer Size() int64 }
HashedSizeReader provide methods to read, sum hashes and a Size method
type MultiHasher ¶
type MultiHasher struct {
// contains filtered or unexported fields
}
MultiHasher calculates multiple checksums
func (*MultiHasher) MarshalBinary ¶
func (h *MultiHasher) MarshalBinary() ([]byte, error)
MarshalBinary implements encoding.BinaryMarshaler
func (*MultiHasher) Sums ¶
func (h *MultiHasher) Sums() (hashMD5, hashSHA1, hashSHA256, hashSHA512 []byte)
Sums gets the MD5, SHA1, SHA256 and SHA512 checksums of the data
func (*MultiHasher) UnmarshalBinary ¶
func (h *MultiHasher) UnmarshalBinary(b []byte) error
UnmarshalBinary implements encoding.BinaryUnmarshaler