Documentation ¶
Index ¶
- Constants
- Variables
- func NewChunkWriter(w io.Writer, c *btncrypt.Cipher, h ChunkHeader) (io.WriteCloser, error)
- func NewQueryChunkVersion(c *btncrypt.Cipher) version.QueryFunc
- type ChunkHeader
- type ChunkIO
- func (ch *ChunkIO) Close() error
- func (ch *ChunkIO) Header() ChunkHeader
- func (ch *ChunkIO) PRead(p []byte, offset int64) error
- func (ch *ChunkIO) PWrite(p []byte, offset int64) error
- func (ch *ChunkIO) PayloadLen() int
- func (ch *ChunkIO) Size() int64
- func (ch *ChunkIO) Sync() error
- func (ch *ChunkIO) Truncate(size int64) error
- type ChunkLenUpdatedType
- type ChunkReader
- type ChunkedFileIO
- func (cfio *ChunkedFileIO) Close() error
- func (cfio *ChunkedFileIO) OverrideNewChunkIOForTesting(...)
- func (cfio *ChunkedFileIO) PWrite(p []byte, offset int64) error
- func (cfio *ChunkedFileIO) ReadAt(p []byte, offset int64) (int, error)
- func (cfio *ChunkedFileIO) SetOrigFilename(name string)
- func (cfio *ChunkedFileIO) Size() int64
- func (cfio *ChunkedFileIO) Truncate(size int64) error
- type ChunksArrayIO
- type SimpleDBChunksArrayIO
Constants ¶
View Source
const ( NewChunk = true ExistingChunk = false )
View Source
const ( ChunkSignatureMagic1 = 0x05 // o t ChunkSignatureMagic2 = 0xa6 // a ru SignatureLength = 2 ChunkHeaderLength = 4096 MaxChunkPayloadLen = math.MaxInt32 MaxOrigFilenameLen = 1024 CurrentFormat byte = 0x03 CurrentFrameEncapsulation byte = 0x02 )
View Source
const (
ContentFramePayloadLength = btncrypt.BtnFrameMaxPayload
)
Variables ¶
View Source
var ChunkSplitSize int64 = 256 * 1024 * 1024 // 256MB
View Source
var (
ZeroContent = make([]byte, ContentFramePayloadLength)
)
Functions ¶
func NewChunkWriter ¶
func NewChunkWriter(w io.Writer, c *btncrypt.Cipher, h ChunkHeader) (io.WriteCloser, error)
Types ¶
type ChunkHeader ¶
type ChunkHeader struct { FrameEncapsulation byte PayloadLen uint32 PayloadVersion int64 OrigFilename string OrigOffset int64 }
type ChunkIO ¶
type ChunkIO struct {
// contains filtered or unexported fields
}
ChunkIO provides RandomAccessIO for blobchunk
func NewChunkIO ¶
func NewChunkIO(bh blobstore.BlobHandle, c *btncrypt.Cipher) *ChunkIO
func NewChunkIOWithMetadata ¶
func NewChunkIOWithMetadata(bh blobstore.BlobHandle, c *btncrypt.Cipher, h ChunkHeader) *ChunkIO
func (*ChunkIO) Header ¶
func (ch *ChunkIO) Header() ChunkHeader
func (*ChunkIO) PayloadLen ¶
type ChunkLenUpdatedType ¶
type ChunkLenUpdatedType bool
const ( ChunkLenNotUpdated ChunkLenUpdatedType = false ChunkLenUpdated ChunkLenUpdatedType = true )
type ChunkReader ¶
type ChunkReader struct {
// contains filtered or unexported fields
}
func NewChunkReader ¶
func (*ChunkReader) Close ¶
func (cr *ChunkReader) Close() error
func (*ChunkReader) Header ¶
func (cr *ChunkReader) Header() ChunkHeader
type ChunkedFileIO ¶
type ChunkedFileIO struct {
// contains filtered or unexported fields
}
func NewChunkedFileIO ¶
func NewChunkedFileIO(bs blobstore.RandomAccessBlobStore, c *btncrypt.Cipher, caio ChunksArrayIO) *ChunkedFileIO
func (*ChunkedFileIO) Close ¶
func (cfio *ChunkedFileIO) Close() error
func (*ChunkedFileIO) OverrideNewChunkIOForTesting ¶
func (cfio *ChunkedFileIO) OverrideNewChunkIOForTesting(newChunkIO func(blobstore.BlobHandle, *btncrypt.Cipher, int64) blobstore.BlobHandle)
func (*ChunkedFileIO) ReadAt ¶
func (cfio *ChunkedFileIO) ReadAt(p []byte, offset int64) (int, error)
func (*ChunkedFileIO) SetOrigFilename ¶
func (cfio *ChunkedFileIO) SetOrigFilename(name string)
func (*ChunkedFileIO) Size ¶
func (cfio *ChunkedFileIO) Size() int64
func (*ChunkedFileIO) Truncate ¶
func (cfio *ChunkedFileIO) Truncate(size int64) error
type ChunksArrayIO ¶
type SimpleDBChunksArrayIO ¶
func NewSimpleDBChunksArrayIO ¶
func NewSimpleDBChunksArrayIO() *SimpleDBChunksArrayIO
func (*SimpleDBChunksArrayIO) Close ¶
func (caio *SimpleDBChunksArrayIO) Close() error
Click to show internal directories.
Click to hide internal directories.