Documentation
¶
Overview ¶
Package types intends to provide all types used in storage layer.
Code generated by go generate cmd/definitions; DO NOT EDIT.
Code generated by go generate internal/cmd; DO NOT EDIT.
Code generated by go generate cmd/definitions; DO NOT EDIT.
Index ¶
- Variables
- func NewOperationNotImplementedError(op string) error
- type Appender
- type Block
- type BlockIterator
- type BlockPage
- type Blocker
- type Continuable
- type Copier
- type Direr
- type Fetcher
- type Interceptor
- type ListMode
- type Mover
- type Multiparter
- type NextBlockFunc
- type NextObjectFunc
- type NextPartFunc
- type NextStoragerFunc
- type Object
- func (o *Object) GetAppendNumberMaximum() (int, bool)
- func (o *Object) GetAppendOffset() (int64, bool)
- func (o *Object) GetAppendSizeMaximum() (int64, bool)
- func (o *Object) GetAppendTotalSizeMaximum() (int64, bool)
- func (o *Object) GetContentLength() (int64, bool)
- func (o *Object) GetContentMd5() (string, bool)
- func (o *Object) GetContentType() (string, bool)
- func (o *Object) GetEtag() (string, bool)
- func (o *Object) GetID() string
- func (o *Object) GetLastModified() (time.Time, bool)
- func (o *Object) GetLinkTarget() (string, bool)
- func (o *Object) GetMode() ObjectMode
- func (o *Object) GetMultipartID() (string, bool)
- func (o *Object) GetMultipartNumberMaximum() (int, bool)
- func (o *Object) GetMultipartSizeMaximum() (int64, bool)
- func (o *Object) GetMultipartSizeMinimum() (int64, bool)
- func (o *Object) GetPath() string
- func (o *Object) GetServiceMetadata() (interface{}, bool)
- func (o *Object) GetUserMetadata() (map[string]string, bool)
- func (o *Object) MustGetAppendNumberMaximum() int
- func (o *Object) MustGetAppendOffset() int64
- func (o *Object) MustGetAppendSizeMaximum() int64
- func (o *Object) MustGetAppendTotalSizeMaximum() int64
- func (o *Object) MustGetContentLength() int64
- func (o *Object) MustGetContentMd5() string
- func (o *Object) MustGetContentType() string
- func (o *Object) MustGetEtag() string
- func (o *Object) MustGetLastModified() time.Time
- func (o *Object) MustGetLinkTarget() string
- func (o *Object) MustGetMultipartID() string
- func (o *Object) MustGetMultipartNumberMaximum() int
- func (o *Object) MustGetMultipartSizeMaximum() int64
- func (o *Object) MustGetMultipartSizeMinimum() int64
- func (o *Object) MustGetServiceMetadata() interface{}
- func (o *Object) MustGetUserMetadata() map[string]string
- func (o *Object) SetAppendNumberMaximum(v int) *Object
- func (o *Object) SetAppendOffset(v int64) *Object
- func (o *Object) SetAppendSizeMaximum(v int64) *Object
- func (o *Object) SetAppendTotalSizeMaximum(v int64) *Object
- func (o *Object) SetContentLength(v int64) *Object
- func (o *Object) SetContentMd5(v string) *Object
- func (o *Object) SetContentType(v string) *Object
- func (o *Object) SetEtag(v string) *Object
- func (o *Object) SetID(v string) *Object
- func (o *Object) SetLastModified(v time.Time) *Object
- func (o *Object) SetLinkTarget(v string) *Object
- func (o *Object) SetMode(v ObjectMode) *Object
- func (o *Object) SetMultipartID(v string) *Object
- func (o *Object) SetMultipartNumberMaximum(v int) *Object
- func (o *Object) SetMultipartSizeMaximum(v int64) *Object
- func (o *Object) SetMultipartSizeMinimum(v int64) *Object
- func (o *Object) SetPath(v string) *Object
- func (o *Object) SetServiceMetadata(v interface{}) *Object
- func (o *Object) SetUserMetadata(v map[string]string) *Object
- type ObjectIterator
- type ObjectMode
- func (o *ObjectMode) Add(mode ObjectMode)
- func (o *ObjectMode) Del(mode ObjectMode)
- func (o ObjectMode) IsAppend() bool
- func (o ObjectMode) IsBlock() bool
- func (o ObjectMode) IsDir() bool
- func (o ObjectMode) IsLink() bool
- func (o ObjectMode) IsPage() bool
- func (o ObjectMode) IsPart() bool
- func (o ObjectMode) IsRead() bool
- func (o ObjectMode) String() string
- type ObjectPage
- type OperationError
- type Pager
- type Pair
- type Part
- type PartIterator
- type PartPage
- type Reacher
- type Servicer
- type StorageMeta
- func (m *StorageMeta) GetLocation() (string, bool)
- func (m *StorageMeta) GetName() string
- func (m *StorageMeta) GetWorkDir() string
- func (m *StorageMeta) MustGetLocation() string
- func (m *StorageMeta) SetLocation(v string) *StorageMeta
- func (m *StorageMeta) SetName(v string) *StorageMeta
- func (m *StorageMeta) SetWorkDir(v string) *StorageMeta
- type Storager
- type StoragerIterator
- type StoragerPage
- type UnimplementedAppender
- func (s UnimplementedAppender) CommitAppend(o *Object, pairs ...Pair) (err error)
- func (s UnimplementedAppender) CommitAppendWithContext(ctx context.Context, o *Object, pairs ...Pair) (err error)
- func (s UnimplementedAppender) CreateAppend(path string, pairs ...Pair) (o *Object, err error)
- func (s UnimplementedAppender) CreateAppendWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)
- func (s UnimplementedAppender) String() string
- func (s UnimplementedAppender) WriteAppend(o *Object, r io.Reader, size int64, pairs ...Pair) (n int64, err error)
- func (s UnimplementedAppender) WriteAppendWithContext(ctx context.Context, o *Object, r io.Reader, size int64, pairs ...Pair) (n int64, err error)
- type UnimplementedBlocker
- func (s UnimplementedBlocker) CombineBlock(o *Object, bids []string, pairs ...Pair) (err error)
- func (s UnimplementedBlocker) CombineBlockWithContext(ctx context.Context, o *Object, bids []string, pairs ...Pair) (err error)
- func (s UnimplementedBlocker) CreateBlock(path string, pairs ...Pair) (o *Object, err error)
- func (s UnimplementedBlocker) CreateBlockWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)
- func (s UnimplementedBlocker) ListBlock(o *Object, pairs ...Pair) (bi *BlockIterator, err error)
- func (s UnimplementedBlocker) ListBlockWithContext(ctx context.Context, o *Object, pairs ...Pair) (bi *BlockIterator, err error)
- func (s UnimplementedBlocker) String() string
- func (s UnimplementedBlocker) WriteBlock(o *Object, r io.Reader, size int64, bid string, pairs ...Pair) (n int64, err error)
- func (s UnimplementedBlocker) WriteBlockWithContext(ctx context.Context, o *Object, r io.Reader, size int64, bid string, ...) (n int64, err error)
- type UnimplementedCopier
- type UnimplementedDirer
- type UnimplementedFetcher
- type UnimplementedMover
- type UnimplementedMultiparter
- func (s UnimplementedMultiparter) CompleteMultipart(o *Object, parts []*Part, pairs ...Pair) (err error)
- func (s UnimplementedMultiparter) CompleteMultipartWithContext(ctx context.Context, o *Object, parts []*Part, pairs ...Pair) (err error)
- func (s UnimplementedMultiparter) CreateMultipart(path string, pairs ...Pair) (o *Object, err error)
- func (s UnimplementedMultiparter) CreateMultipartWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)
- func (s UnimplementedMultiparter) ListMultipart(o *Object, pairs ...Pair) (pi *PartIterator, err error)
- func (s UnimplementedMultiparter) ListMultipartWithContext(ctx context.Context, o *Object, pairs ...Pair) (pi *PartIterator, err error)
- func (s UnimplementedMultiparter) String() string
- func (s UnimplementedMultiparter) WriteMultipart(o *Object, r io.Reader, size int64, index int, pairs ...Pair) (n int64, part *Part, err error)
- func (s UnimplementedMultiparter) WriteMultipartWithContext(ctx context.Context, o *Object, r io.Reader, size int64, index int, ...) (n int64, part *Part, err error)
- type UnimplementedPager
- func (s UnimplementedPager) CreatePage(path string, pairs ...Pair) (o *Object, err error)
- func (s UnimplementedPager) CreatePageWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)
- func (s UnimplementedPager) String() string
- func (s UnimplementedPager) WritePage(o *Object, r io.Reader, size int64, offset int64, pairs ...Pair) (n int64, err error)
- func (s UnimplementedPager) WritePageWithContext(ctx context.Context, o *Object, r io.Reader, size int64, offset int64, ...) (n int64, err error)
- type UnimplementedReacher
- type UnimplementedServicer
- func (s UnimplementedServicer) Create(name string, pairs ...Pair) (store Storager, err error)
- func (s UnimplementedServicer) CreateWithContext(ctx context.Context, name string, pairs ...Pair) (store Storager, err error)
- func (s UnimplementedServicer) Delete(name string, pairs ...Pair) (err error)
- func (s UnimplementedServicer) DeleteWithContext(ctx context.Context, name string, pairs ...Pair) (err error)
- func (s UnimplementedServicer) Get(name string, pairs ...Pair) (store Storager, err error)
- func (s UnimplementedServicer) GetWithContext(ctx context.Context, name string, pairs ...Pair) (store Storager, err error)
- func (s UnimplementedServicer) List(pairs ...Pair) (sti *StoragerIterator, err error)
- func (s UnimplementedServicer) ListWithContext(ctx context.Context, pairs ...Pair) (sti *StoragerIterator, err error)
- func (s UnimplementedServicer) String() string
- type UnimplementedStorager
- func (s UnimplementedStorager) Create(path string, pairs ...Pair) (o *Object)
- func (s UnimplementedStorager) Delete(path string, pairs ...Pair) (err error)
- func (s UnimplementedStorager) DeleteWithContext(ctx context.Context, path string, pairs ...Pair) (err error)
- func (s UnimplementedStorager) List(path string, pairs ...Pair) (oi *ObjectIterator, err error)
- func (s UnimplementedStorager) ListWithContext(ctx context.Context, path string, pairs ...Pair) (oi *ObjectIterator, err error)
- func (s UnimplementedStorager) Metadata(pairs ...Pair) (meta *StorageMeta)
- func (s UnimplementedStorager) Read(path string, w io.Writer, pairs ...Pair) (n int64, err error)
- func (s UnimplementedStorager) ReadWithContext(ctx context.Context, path string, w io.Writer, pairs ...Pair) (n int64, err error)
- func (s UnimplementedStorager) Stat(path string, pairs ...Pair) (o *Object, err error)
- func (s UnimplementedStorager) StatWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)
- func (s UnimplementedStorager) String() string
- func (s UnimplementedStorager) Write(path string, r io.Reader, size int64, pairs ...Pair) (n int64, err error)
- func (s UnimplementedStorager) WriteWithContext(ctx context.Context, path string, r io.Reader, size int64, pairs ...Pair) (n int64, err error)
Examples ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrNotImplemented will be returned while this operation is not // implemented by services. ErrNotImplemented = errorCode{"not implemented"} )
var IterateDone error = errorCode{"iterate is done"}
IterateDone means this iterator has returned all data.
Functions ¶
func NewOperationNotImplementedError ¶
NewOperationNotImplementedError will create a new NotImplemented error.
Types ¶
type Appender ¶
type Appender interface {
// CommitAppend will commit and finish an append process.
CommitAppend(o *Object, pairs ...Pair) (err error)
// CommitAppendWithContext will commit and finish an append process.
CommitAppendWithContext(ctx context.Context, o *Object, pairs ...Pair) (err error)
// CreateAppend will create an append object.
CreateAppend(path string, pairs ...Pair) (o *Object, err error)
// CreateAppendWithContext will create an append object.
CreateAppendWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)
// WriteAppend will append content to an append object.
WriteAppend(o *Object, r io.Reader, size int64, pairs ...Pair) (n int64, err error)
// WriteAppendWithContext will append content to an append object.
WriteAppendWithContext(ctx context.Context, o *Object, r io.Reader, size int64, pairs ...Pair) (n int64, err error)
// contains filtered or unexported methods
}
Appender is the interface for Append related operations.
type BlockIterator ¶
type BlockIterator struct {
// contains filtered or unexported fields
}
func NewBlockIterator ¶
func NewBlockIterator(ctx context.Context, next NextBlockFunc, status Continuable) *BlockIterator
func (*BlockIterator) ContinuationToken ¶
func (it *BlockIterator) ContinuationToken() string
func (*BlockIterator) Next ¶
func (it *BlockIterator) Next() (object *Block, err error)
type BlockPage ¶
type BlockPage struct {
Status Continuable
Data []*Block
}
type Blocker ¶
type Blocker interface {
// CombineBlock will combine blocks into an object.
CombineBlock(o *Object, bids []string, pairs ...Pair) (err error)
// CombineBlockWithContext will combine blocks into an object.
CombineBlockWithContext(ctx context.Context, o *Object, bids []string, pairs ...Pair) (err error)
// CreateBlock will create a new block object.
CreateBlock(path string, pairs ...Pair) (o *Object, err error)
// CreateBlockWithContext will create a new block object.
CreateBlockWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)
// ListBlock will list blocks belong to this object.
ListBlock(o *Object, pairs ...Pair) (bi *BlockIterator, err error)
// ListBlockWithContext will list blocks belong to this object.
ListBlockWithContext(ctx context.Context, o *Object, pairs ...Pair) (bi *BlockIterator, err error)
// WriteBlock will write content to a block.
WriteBlock(o *Object, r io.Reader, size int64, bid string, pairs ...Pair) (n int64, err error)
// WriteBlockWithContext will write content to a block.
WriteBlockWithContext(ctx context.Context, o *Object, r io.Reader, size int64, bid string, pairs ...Pair) (n int64, err error)
// contains filtered or unexported methods
}
Blocker is the interface for Block related operations.
type Continuable ¶
type Continuable interface {
ContinuationToken() string
}
type Copier ¶
type Copier interface {
// Copy will copy an Object or multiple object in the service.
Copy(src string, dst string, pairs ...Pair) (err error)
// CopyWithContext will copy an Object or multiple object in the service.
CopyWithContext(ctx context.Context, src string, dst string, pairs ...Pair) (err error)
// contains filtered or unexported methods
}
Copier is the interface for Copy.
type Direr ¶
type Direr interface {
// CreateDir will create a new dir object.
CreateDir(path string, pairs ...Pair) (o *Object, err error)
// CreateDirWithContext will create a new dir object.
CreateDirWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)
// contains filtered or unexported methods
}
Direr is the interface for Directory.
type Fetcher ¶
type Fetcher interface {
// Fetch will fetch from a given url to path.
Fetch(path string, url string, pairs ...Pair) (err error)
// FetchWithContext will fetch from a given url to path.
FetchWithContext(ctx context.Context, path string, url string, pairs ...Pair) (err error)
// contains filtered or unexported methods
}
Fetcher is the interface for Fetch.
type Interceptor ¶
func ChainInterceptor ¶
func ChainInterceptor(interceptors ...Interceptor) Interceptor
type Mover ¶
type Mover interface {
// Move will move an object in the service.
Move(src string, dst string, pairs ...Pair) (err error)
// MoveWithContext will move an object in the service.
MoveWithContext(ctx context.Context, src string, dst string, pairs ...Pair) (err error)
// contains filtered or unexported methods
}
Mover is the interface for Move.
type Multiparter ¶
type Multiparter interface {
// CompleteMultipart will complete a multipart upload and construct an Object.
CompleteMultipart(o *Object, parts []*Part, pairs ...Pair) (err error)
// CompleteMultipartWithContext will complete a multipart upload and construct an Object.
CompleteMultipartWithContext(ctx context.Context, o *Object, parts []*Part, pairs ...Pair) (err error)
// CreateMultipart will create a new multipart.
CreateMultipart(path string, pairs ...Pair) (o *Object, err error)
// CreateMultipartWithContext will create a new multipart.
CreateMultipartWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)
// ListMultipart will list parts belong to this multipart.
ListMultipart(o *Object, pairs ...Pair) (pi *PartIterator, err error)
// ListMultipartWithContext will list parts belong to this multipart.
ListMultipartWithContext(ctx context.Context, o *Object, pairs ...Pair) (pi *PartIterator, err error)
// WriteMultipart will write content to a multipart.
WriteMultipart(o *Object, r io.Reader, size int64, index int, pairs ...Pair) (n int64, part *Part, err error)
// WriteMultipartWithContext will write content to a multipart.
WriteMultipartWithContext(ctx context.Context, o *Object, r io.Reader, size int64, index int, pairs ...Pair) (n int64, part *Part, err error)
// contains filtered or unexported methods
}
Multiparter is the interface for Multipart related operations.
type NextBlockFunc ¶
NextObjectFunc is the func used in iterator.
Notes - ErrDone should be return while there are no items any more. - Input objects slice should be set every time.
type NextObjectFunc ¶
type NextObjectFunc func(ctx context.Context, page *ObjectPage) error
NextObjectFunc is the func used in iterator.
Notes - ErrDone should be return while there are no items any more. - Input objects slice should be set every time.
type NextPartFunc ¶
NextObjectFunc is the func used in iterator.
Notes - ErrDone should be return while there are no items any more. - Input objects slice should be set every time.
type NextStoragerFunc ¶
type NextStoragerFunc func(ctx context.Context, page *StoragerPage) error
NextObjectFunc is the func used in iterator.
Notes - ErrDone should be return while there are no items any more. - Input objects slice should be set every time.
type Object ¶
type Object struct {
// ID ID is the unique key in storage.
ID string
// Mode
Mode ObjectMode
// Path Path is either the absolute path or the relative path towards storage's WorkDir depends on user's input.
Path string
// contains filtered or unexported fields
}
Object is the smallest unit in go-storage.
NOTES:
- Object's fields SHOULD not be changed outside services.
- Object CANNOT be copied
- Object is concurrent safe.
func (*Object) GetAppendNumberMaximum ¶
func (*Object) GetAppendOffset ¶
func (*Object) GetAppendSizeMaximum ¶
func (*Object) GetAppendTotalSizeMaximum ¶
func (*Object) GetContentLength ¶
func (*Object) GetContentMd5 ¶
func (*Object) GetContentType ¶
func (*Object) GetLinkTarget ¶
func (*Object) GetMode ¶
func (o *Object) GetMode() ObjectMode
func (*Object) GetMultipartID ¶
func (*Object) GetMultipartNumberMaximum ¶
func (*Object) GetMultipartSizeMaximum ¶
func (*Object) GetMultipartSizeMinimum ¶
func (*Object) GetServiceMetadata ¶
func (*Object) MustGetAppendNumberMaximum ¶
func (*Object) MustGetAppendOffset ¶
func (*Object) MustGetAppendSizeMaximum ¶
func (*Object) MustGetAppendTotalSizeMaximum ¶
func (*Object) MustGetContentLength ¶
func (*Object) MustGetContentMd5 ¶
func (*Object) MustGetContentType ¶
func (*Object) MustGetEtag ¶
func (*Object) MustGetLastModified ¶
func (*Object) MustGetLinkTarget ¶
func (*Object) MustGetMultipartID ¶
func (*Object) MustGetMultipartNumberMaximum ¶
func (*Object) MustGetMultipartSizeMaximum ¶
func (*Object) MustGetMultipartSizeMinimum ¶
func (*Object) MustGetServiceMetadata ¶
func (o *Object) MustGetServiceMetadata() interface{}
func (*Object) MustGetUserMetadata ¶
func (*Object) SetAppendNumberMaximum ¶
func (*Object) SetAppendOffset ¶
func (*Object) SetAppendSizeMaximum ¶
func (*Object) SetAppendTotalSizeMaximum ¶
func (*Object) SetContentLength ¶
func (*Object) SetContentMd5 ¶
func (*Object) SetContentType ¶
func (*Object) SetLinkTarget ¶
func (*Object) SetMode ¶
func (o *Object) SetMode(v ObjectMode) *Object
func (*Object) SetMultipartID ¶
func (*Object) SetMultipartNumberMaximum ¶
func (*Object) SetMultipartSizeMaximum ¶
func (*Object) SetMultipartSizeMinimum ¶
func (*Object) SetServiceMetadata ¶
type ObjectIterator ¶
type ObjectIterator struct {
// contains filtered or unexported fields
}
func NewObjectIterator ¶
func NewObjectIterator(ctx context.Context, next NextObjectFunc, status Continuable) *ObjectIterator
func (*ObjectIterator) ContinuationToken ¶
func (it *ObjectIterator) ContinuationToken() string
func (*ObjectIterator) Next ¶
func (it *ObjectIterator) Next() (object *Object, err error)
type ObjectMode ¶
type ObjectMode uint32
const ( // ModeDir means this Object represents a dir which can be used to list with dir mode. ModeDir ObjectMode = 1 << iota // ModeRead means this Object can be used to read content. ModeRead // ModeLink means this Object is a link which targets to another Object. ModeLink // ModePart means this Object is a Multipart Object which can be used for multipart operations. ModePart // ModeBlock means this Object is a Block Object which can be used for block operations. ModeBlock // ModePage means this Object is a Page Object which can be used for random write with offset. ModePage // ModeAppend means this Object is a Append Object which can be used for append. ModeAppend )
All available object mode
func (*ObjectMode) Add ¶
func (o *ObjectMode) Add(mode ObjectMode)
Add support add ObjectMode into current one.
Example ¶
var o ObjectMode o.Add(ModeDir) o.Add(ModeRead | ModeAppend)
func (*ObjectMode) Del ¶
func (o *ObjectMode) Del(mode ObjectMode)
Del support delete ObjectMode from current one.
Example ¶
o := ModeRead | ModeAppend o.Del(ModeAppend) o.Del(ModeRead | ModeAppend)
func (ObjectMode) IsAppend ¶
func (o ObjectMode) IsAppend() bool
func (ObjectMode) IsBlock ¶
func (o ObjectMode) IsBlock() bool
func (ObjectMode) IsDir ¶
func (o ObjectMode) IsDir() bool
func (ObjectMode) IsLink ¶
func (o ObjectMode) IsLink() bool
func (ObjectMode) IsPage ¶
func (o ObjectMode) IsPage() bool
func (ObjectMode) IsPart ¶
func (o ObjectMode) IsPart() bool
func (ObjectMode) IsRead ¶
func (o ObjectMode) IsRead() bool
func (ObjectMode) String ¶
func (o ObjectMode) String() string
String implement Stringer for ObjectMode.
An object with Read,Append will print like "read|append"
type ObjectPage ¶
type ObjectPage struct {
Status Continuable
Data []*Object
}
type OperationError ¶
type OperationError struct {
// contains filtered or unexported fields
}
OperationError is the error for operation related errors.
func (OperationError) Error ¶
func (oe OperationError) Error() string
func (OperationError) IsInternalError ¶
func (oe OperationError) IsInternalError()
func (OperationError) Unwrap ¶
func (oe OperationError) Unwrap() error
type Pager ¶
type Pager interface {
// CreatePage will create a new page object.
CreatePage(path string, pairs ...Pair) (o *Object, err error)
// CreatePageWithContext will create a new page object.
CreatePageWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)
// WritePage will write content to specific offset.
WritePage(o *Object, r io.Reader, size int64, offset int64, pairs ...Pair) (n int64, err error)
// WritePageWithContext will write content to specific offset.
WritePageWithContext(ctx context.Context, o *Object, r io.Reader, size int64, offset int64, pairs ...Pair) (n int64, err error)
// contains filtered or unexported methods
}
Pager is the interface for Page related operations which support random write.
type Pair ¶
type Pair struct {
Key string
Value interface{}
}
Pair will store option for storage service.
type PartIterator ¶
type PartIterator struct {
// contains filtered or unexported fields
}
func NewPartIterator ¶
func NewPartIterator(ctx context.Context, next NextPartFunc, status Continuable) *PartIterator
func (*PartIterator) ContinuationToken ¶
func (it *PartIterator) ContinuationToken() string
func (*PartIterator) Next ¶
func (it *PartIterator) Next() (object *Part, err error)
type PartPage ¶
type PartPage struct {
Status Continuable
Data []*Part
}
type Reacher ¶
type Reacher interface {
// Reach will provide a way, which can reach the object.
Reach(path string, pairs ...Pair) (url string, err error)
// ReachWithContext will provide a way, which can reach the object.
ReachWithContext(ctx context.Context, path string, pairs ...Pair) (url string, err error)
// contains filtered or unexported methods
}
Reacher is the interface for Reach.
type Servicer ¶
type Servicer interface {
String() string
// Create will create a new storager instance.
Create(name string, pairs ...Pair) (store Storager, err error)
// CreateWithContext will create a new storager instance.
CreateWithContext(ctx context.Context, name string, pairs ...Pair) (store Storager, err error)
// Delete will delete a storager instance.
Delete(name string, pairs ...Pair) (err error)
// DeleteWithContext will delete a storager instance.
DeleteWithContext(ctx context.Context, name string, pairs ...Pair) (err error)
// Get will get a valid storager instance for service.
Get(name string, pairs ...Pair) (store Storager, err error)
// GetWithContext will get a valid storager instance for service.
GetWithContext(ctx context.Context, name string, pairs ...Pair) (store Storager, err error)
// List will list all storager instances under this service.
List(pairs ...Pair) (sti *StoragerIterator, err error)
// ListWithContext will list all storager instances under this service.
ListWithContext(ctx context.Context, pairs ...Pair) (sti *StoragerIterator, err error)
// contains filtered or unexported methods
}
Servicer can maintain multipart storage services.
type StorageMeta ¶
func NewStorageMeta ¶
func NewStorageMeta() *StorageMeta
NewStorageMeta will create a new StorageMeta.
func (*StorageMeta) GetLocation ¶
func (m *StorageMeta) GetLocation() (string, bool)
func (*StorageMeta) GetName ¶
func (m *StorageMeta) GetName() string
func (*StorageMeta) GetWorkDir ¶
func (m *StorageMeta) GetWorkDir() string
func (*StorageMeta) MustGetLocation ¶
func (m *StorageMeta) MustGetLocation() string
func (*StorageMeta) SetLocation ¶
func (m *StorageMeta) SetLocation(v string) *StorageMeta
func (*StorageMeta) SetName ¶
func (m *StorageMeta) SetName(v string) *StorageMeta
func (*StorageMeta) SetWorkDir ¶
func (m *StorageMeta) SetWorkDir(v string) *StorageMeta
type Storager ¶
type Storager interface {
String() string
// Create will create a new object without any api call.
//
// ## Behavior
//
// - Create SHOULD NOT send any API call.
// - Create SHOULD accept ObjectMode pair as object mode.
Create(path string, pairs ...Pair) (o *Object)
// Delete will delete an object from service.
//
// ## Behavior
//
// - Delete only delete one and only one object.
// - Service DON'T NEED to support remove all.
// - User NEED to implement remove_all by themself.
// - Delete is idempotent.
// - Successful delete always return nil error.
// - Delete SHOULD never return `ObjectNotExist`
// - Delete DON'T NEED to check the object exist or not.
Delete(path string, pairs ...Pair) (err error)
// DeleteWithContext will delete an object from service.
//
// ## Behavior
//
// - Delete only delete one and only one object.
// - Service DON'T NEED to support remove all.
// - User NEED to implement remove_all by themself.
// - Delete is idempotent.
// - Successful delete always return nil error.
// - Delete SHOULD never return `ObjectNotExist`
// - Delete DON'T NEED to check the object exist or not.
DeleteWithContext(ctx context.Context, path string, pairs ...Pair) (err error)
// List will return list a specific path.
List(path string, pairs ...Pair) (oi *ObjectIterator, err error)
// ListWithContext will return list a specific path.
ListWithContext(ctx context.Context, path string, pairs ...Pair) (oi *ObjectIterator, err error)
// Metadata will return current storager metadata.
Metadata(pairs ...Pair) (meta *StorageMeta)
// Read will read the file's data.
Read(path string, w io.Writer, pairs ...Pair) (n int64, err error)
// ReadWithContext will read the file's data.
ReadWithContext(ctx context.Context, path string, w io.Writer, pairs ...Pair) (n int64, err error)
// Stat will stat a path to get info of an object.
//
// ## Behavior
//
// - Stat SHOULD accept ObjectMode pair as hints.
// - Service COULD have different implementations for different object mode.
// - Service SHOULD check if returning ObjectMode is match
Stat(path string, pairs ...Pair) (o *Object, err error)
// StatWithContext will stat a path to get info of an object.
//
// ## Behavior
//
// - Stat SHOULD accept ObjectMode pair as hints.
// - Service COULD have different implementations for different object mode.
// - Service SHOULD check if returning ObjectMode is match
StatWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)
// Write will write data into a file.
Write(path string, r io.Reader, size int64, pairs ...Pair) (n int64, err error)
// WriteWithContext will write data into a file.
WriteWithContext(ctx context.Context, path string, r io.Reader, size int64, pairs ...Pair) (n int64, err error)
// contains filtered or unexported methods
}
Storager is the interface for storage service.
type StoragerIterator ¶
type StoragerIterator struct {
// contains filtered or unexported fields
}
func NewStoragerIterator ¶
func NewStoragerIterator(ctx context.Context, next NextStoragerFunc, status Continuable) *StoragerIterator
func (*StoragerIterator) ContinuationToken ¶
func (it *StoragerIterator) ContinuationToken() string
func (*StoragerIterator) Next ¶
func (it *StoragerIterator) Next() (object Storager, err error)
type StoragerPage ¶
type StoragerPage struct {
Status Continuable
Data []Storager
}
type UnimplementedAppender ¶
type UnimplementedAppender struct{}
UnimplementedAppender must be embedded to have forward compatible implementations.
func (UnimplementedAppender) CommitAppend ¶
func (s UnimplementedAppender) CommitAppend(o *Object, pairs ...Pair) (err error)
func (UnimplementedAppender) CommitAppendWithContext ¶
func (UnimplementedAppender) CreateAppend ¶
func (s UnimplementedAppender) CreateAppend(path string, pairs ...Pair) (o *Object, err error)
func (UnimplementedAppender) CreateAppendWithContext ¶
func (UnimplementedAppender) String ¶
func (s UnimplementedAppender) String() string
func (UnimplementedAppender) WriteAppend ¶
type UnimplementedBlocker ¶
type UnimplementedBlocker struct{}
UnimplementedBlocker must be embedded to have forward compatible implementations.
func (UnimplementedBlocker) CombineBlock ¶
func (s UnimplementedBlocker) CombineBlock(o *Object, bids []string, pairs ...Pair) (err error)
func (UnimplementedBlocker) CombineBlockWithContext ¶
func (UnimplementedBlocker) CreateBlock ¶
func (s UnimplementedBlocker) CreateBlock(path string, pairs ...Pair) (o *Object, err error)
func (UnimplementedBlocker) CreateBlockWithContext ¶
func (UnimplementedBlocker) ListBlock ¶
func (s UnimplementedBlocker) ListBlock(o *Object, pairs ...Pair) (bi *BlockIterator, err error)
func (UnimplementedBlocker) ListBlockWithContext ¶
func (s UnimplementedBlocker) ListBlockWithContext(ctx context.Context, o *Object, pairs ...Pair) (bi *BlockIterator, err error)
func (UnimplementedBlocker) String ¶
func (s UnimplementedBlocker) String() string
func (UnimplementedBlocker) WriteBlock ¶
type UnimplementedCopier ¶
type UnimplementedCopier struct{}
UnimplementedCopier must be embedded to have forward compatible implementations.
func (UnimplementedCopier) Copy ¶
func (s UnimplementedCopier) Copy(src string, dst string, pairs ...Pair) (err error)
func (UnimplementedCopier) CopyWithContext ¶
func (UnimplementedCopier) String ¶
func (s UnimplementedCopier) String() string
type UnimplementedDirer ¶
type UnimplementedDirer struct{}
UnimplementedDirer must be embedded to have forward compatible implementations.
func (UnimplementedDirer) CreateDir ¶
func (s UnimplementedDirer) CreateDir(path string, pairs ...Pair) (o *Object, err error)
func (UnimplementedDirer) CreateDirWithContext ¶
func (UnimplementedDirer) String ¶
func (s UnimplementedDirer) String() string
type UnimplementedFetcher ¶
type UnimplementedFetcher struct{}
UnimplementedFetcher must be embedded to have forward compatible implementations.
func (UnimplementedFetcher) Fetch ¶
func (s UnimplementedFetcher) Fetch(path string, url string, pairs ...Pair) (err error)
func (UnimplementedFetcher) FetchWithContext ¶
func (UnimplementedFetcher) String ¶
func (s UnimplementedFetcher) String() string
type UnimplementedMover ¶
type UnimplementedMover struct{}
UnimplementedMover must be embedded to have forward compatible implementations.
func (UnimplementedMover) Move ¶
func (s UnimplementedMover) Move(src string, dst string, pairs ...Pair) (err error)
func (UnimplementedMover) MoveWithContext ¶
func (UnimplementedMover) String ¶
func (s UnimplementedMover) String() string
type UnimplementedMultiparter ¶
type UnimplementedMultiparter struct{}
UnimplementedMultiparter must be embedded to have forward compatible implementations.
func (UnimplementedMultiparter) CompleteMultipart ¶
func (s UnimplementedMultiparter) CompleteMultipart(o *Object, parts []*Part, pairs ...Pair) (err error)
func (UnimplementedMultiparter) CompleteMultipartWithContext ¶
func (UnimplementedMultiparter) CreateMultipart ¶
func (s UnimplementedMultiparter) CreateMultipart(path string, pairs ...Pair) (o *Object, err error)
func (UnimplementedMultiparter) CreateMultipartWithContext ¶
func (UnimplementedMultiparter) ListMultipart ¶
func (s UnimplementedMultiparter) ListMultipart(o *Object, pairs ...Pair) (pi *PartIterator, err error)
func (UnimplementedMultiparter) ListMultipartWithContext ¶
func (s UnimplementedMultiparter) ListMultipartWithContext(ctx context.Context, o *Object, pairs ...Pair) (pi *PartIterator, err error)
func (UnimplementedMultiparter) String ¶
func (s UnimplementedMultiparter) String() string
func (UnimplementedMultiparter) WriteMultipart ¶
type UnimplementedPager ¶
type UnimplementedPager struct{}
UnimplementedPager must be embedded to have forward compatible implementations.
func (UnimplementedPager) CreatePage ¶
func (s UnimplementedPager) CreatePage(path string, pairs ...Pair) (o *Object, err error)
func (UnimplementedPager) CreatePageWithContext ¶
func (UnimplementedPager) String ¶
func (s UnimplementedPager) String() string
type UnimplementedReacher ¶
type UnimplementedReacher struct{}
UnimplementedReacher must be embedded to have forward compatible implementations.
func (UnimplementedReacher) Reach ¶
func (s UnimplementedReacher) Reach(path string, pairs ...Pair) (url string, err error)
func (UnimplementedReacher) ReachWithContext ¶
func (UnimplementedReacher) String ¶
func (s UnimplementedReacher) String() string
type UnimplementedServicer ¶
type UnimplementedServicer struct{}
UnimplementedServicer must be embedded to have forward compatible implementations.
func (UnimplementedServicer) Create ¶
func (s UnimplementedServicer) Create(name string, pairs ...Pair) (store Storager, err error)
func (UnimplementedServicer) CreateWithContext ¶
func (UnimplementedServicer) Delete ¶
func (s UnimplementedServicer) Delete(name string, pairs ...Pair) (err error)
func (UnimplementedServicer) DeleteWithContext ¶
func (UnimplementedServicer) Get ¶
func (s UnimplementedServicer) Get(name string, pairs ...Pair) (store Storager, err error)
func (UnimplementedServicer) GetWithContext ¶
func (UnimplementedServicer) List ¶
func (s UnimplementedServicer) List(pairs ...Pair) (sti *StoragerIterator, err error)
func (UnimplementedServicer) ListWithContext ¶
func (s UnimplementedServicer) ListWithContext(ctx context.Context, pairs ...Pair) (sti *StoragerIterator, err error)
func (UnimplementedServicer) String ¶
func (s UnimplementedServicer) String() string
type UnimplementedStorager ¶
type UnimplementedStorager struct{}
UnimplementedStorager must be embedded to have forward compatible implementations.
func (UnimplementedStorager) Create ¶
func (s UnimplementedStorager) Create(path string, pairs ...Pair) (o *Object)
func (UnimplementedStorager) Delete ¶
func (s UnimplementedStorager) Delete(path string, pairs ...Pair) (err error)
func (UnimplementedStorager) DeleteWithContext ¶
func (UnimplementedStorager) List ¶
func (s UnimplementedStorager) List(path string, pairs ...Pair) (oi *ObjectIterator, err error)
func (UnimplementedStorager) ListWithContext ¶
func (s UnimplementedStorager) ListWithContext(ctx context.Context, path string, pairs ...Pair) (oi *ObjectIterator, err error)
func (UnimplementedStorager) Metadata ¶
func (s UnimplementedStorager) Metadata(pairs ...Pair) (meta *StorageMeta)
func (UnimplementedStorager) ReadWithContext ¶
func (UnimplementedStorager) Stat ¶
func (s UnimplementedStorager) Stat(path string, pairs ...Pair) (o *Object, err error)
func (UnimplementedStorager) StatWithContext ¶
func (UnimplementedStorager) String ¶
func (s UnimplementedStorager) String() string