Documentation ¶
Index ¶
- Constants
- Variables
- func DecodeUint64(bin []byte) uint64
- func EncodeUint64(i uint64) []byte
- func GetInitialTimeFromUploadId(uploadId string) (uint64, error)
- func GetMultipartUploadIdByDbTime(uploadtime uint64) string
- type BackendType
- type Bucket
- type Cluster
- type CompleteMultipartUpload
- type CompletePart
- type CompletedParts
- type Freezer
- type GarbageCollection
- type LifeCycle
- type ListHotObjectsInfo
- type ListObjectsInfo
- type Multipart
- type MultipartMetadata
- type Object
- func (o *Object) GenVersionId(bucketVersionType datatype.BucketVersioningType) string
- func (o *Object) GetCreateHotSql() (string, []interface{})
- func (o *Object) GetCreateSql() (string, []interface{})
- func (o *Object) GetGlacierUpdateSql() (string, []interface{})
- func (o *Object) GetRemoveHotSql() (string, []interface{})
- func (o *Object) GetReplaceObjectMetasSql() (string, []interface{})
- func (o *Object) GetUpdateAclSql() (string, []interface{})
- func (o *Object) GetUpdateAttrsSql() (string, []interface{})
- func (o *Object) GetUpdateHotSql() (string, []interface{})
- func (o *Object) GetUpdateNameSql(sourceObject string) (string, []interface{})
- func (o *Object) GetUpdateObjectPartNameSql(sourceObject string) (string, []interface{})
- func (o *Object) GetUpdateSql() (string, []interface{})
- func (o *Object) IsUnexpired() (bool, int64)
- func (o *Object) ObjectTypeToString() string
- func (o *Object) String() (s string)
- type ObjectType
- type Part
- type PartTooSmall
- type ScanLifeCycleResult
- type SimpleIndex
- type UserQos
- type Users
- type VersionedListObjectsInfo
Constants ¶
View Source
const ( CREATE_TIME_LAYOUT = "2006-01-02T15:04:05.000Z" TIME_LAYOUT_TIDB = "2006-01-02 15:04:05" INITIALIZATION_VECTOR_LENGTH = 16 // 12 bytes is best performance for GCM, but for CTR ObjectNameEnding = ":" ObjectNameSeparator = "\n" ObjectNameSmallestStr = " " ResponseNumberOfRows = 1024 )
View Source
const ( LcEnding = "Ending" LcPending = "Pending" )
View Source
const ( DeadLineForStandardIa = 720 * time.Hour // 30 days DeadLineForGlacier = 1440 * time.Hour // 60 days )
View Source
const NullVersion = "0"
Variables ¶
View Source
var ( //XXTEA_KEY = []byte("hehehehe") SSE_S3_MASTER_KEY = []byte("hehehehehehehehehehehehehehehehe") // 32 bytes to select AES-256 )
Functions ¶
func DecodeUint64 ¶
func EncodeUint64 ¶
Types ¶
type Bucket ¶
type Bucket struct { Name string // Date and time when the bucket was created, // should be serialized into format "2006-01-02T15:04:05.000Z" CreateTime time.Time OwnerId string CORS datatype.Cors ACL datatype.Acl BucketLogging datatype.BucketLoggingStatus Lifecycle lifecycle.Lifecycle Policy []byte // need to MarshalJSON Website datatype.WebsiteConfiguration Encryption datatype.EncryptionConfiguration Versioning datatype.BucketVersioningType // actually enum: Disabled/Enabled/Suspended Usage int64 }
func (Bucket) GetCreateSql ¶
func (Bucket) GetUpdateSql ¶
Tidb related function
type CompleteMultipartUpload ¶
type CompleteMultipartUpload struct {
Parts []CompletePart `xml:"Part"`
}
completeMultipartUpload - represents input fields for completing multipart upload.
type CompletePart ¶
type CompletePart struct { // Part number identifying the part. This is a positive integer between 1 and // 10,000 PartNumber int // Entity tag returned when the part was uploaded. ETag string }
completePart - completed part container.
type CompletedParts ¶
type CompletedParts []CompletePart
completedParts - is a collection satisfying sort.Interface.
func (CompletedParts) Len ¶
func (a CompletedParts) Len() int
func (CompletedParts) Less ¶
func (a CompletedParts) Less(i, j int) bool
func (CompletedParts) Swap ¶
func (a CompletedParts) Swap(i, j int)
type Freezer ¶
type Freezer struct { Name string BucketName string VersionId string // version cache Location string // which Ceph cluster this object locates Pool string // which Ceph pool this object locates Size int64 // file size ObjectId string // object name in Ceph LastModifiedTime time.Time // in format "2006-01-02T15:04:05.000Z" Parts map[int]*Part PartsIndex *SimpleIndex Status RestoreStatus LifeTime int // Days to thaw Type ObjectType CreateTime uint64 // Timestamp(nanosecond) }
func (*Freezer) GetCreateSql ¶
func (*Freezer) GetUpdateSql ¶
type GarbageCollection ¶
type GarbageCollection struct { Rowkey string // rowkey cache BucketName string ObjectName string VersionId string Location string Pool string ObjectId string Status string // status of this entry, in Pending/Deleting MTime time.Time // last modify time of status Parts map[int]*Part TriedTimes int }
func GetGcInfoFromObject ¶
func GetGcInfoFromObject(o *Object) (gc GarbageCollection)
type LifeCycle ¶
type LifeCycle struct { BucketName string Status string // status of this entry, in Pending/Ending StartTime uint64 // Timestamp(nanosecond) EndTime uint64 // Timestamp(nanosecond) }
func (LifeCycle) GetCreateSql ¶
func (LifeCycle) GetUpdateSql ¶
type ListHotObjectsInfo ¶
type ListHotObjectsInfo struct { // Indicates whether the returned list objects response is truncated. A // value of true indicates that the list was truncated. The list can be truncated // if the number of objects exceeds the limit allowed or specified // by max keys. IsTruncated bool // When response is truncated (the IsTruncated element value in the response // is true), you can use the key name in this field as marker in the subsequent // request to get next set of objects. // // NOTE: This element is returned only if you have delimiter request parameter // specified. NextMarker string // List of objects info for this request. Objects []*Object }
ListObjectsInfo - container for list objects.
type ListObjectsInfo ¶
type ListObjectsInfo struct { // Indicates whether the returned list objects response is truncated. A // value of true indicates that the list was truncated. The list can be truncated // if the number of objects exceeds the limit allowed or specified // by max keys. IsTruncated bool // When response is truncated (the IsTruncated element value in the response // is true), you can use the key name in this field as marker in the subsequent // request to get next set of objects. // // NOTE: This element is returned only if you have delimiter request parameter // specified. NextMarker string // List of objects info for this request. Objects []datatype.Object // List of prefixes for this request. Prefixes []string }
ListObjectsInfo - container for list objects.
type Multipart ¶
type Multipart struct { BucketName string ObjectName string InitialTime uint64 UploadId string // upload id cache Metadata MultipartMetadata Parts map[int]*Part }
func (*Multipart) GenUploadId ¶
type MultipartMetadata ¶
type Object ¶
type Object struct { Rowkey []byte // Rowkey cache Name string BucketName string Location string // which Ceph cluster this object locates Pool string // which Ceph pool this object locates OwnerId string Size int64 // file size ObjectId string // object name in Ceph LastModifiedTime time.Time // in format "2006-01-02T15:04:05.000Z" Etag string ContentType string CustomAttributes map[string]string Parts map[int]*Part PartsIndex *SimpleIndex ACL datatype.Acl NullVersion bool // if this entry has `null` version DeleteMarker bool // if this entry is a delete marker VersionId string // version cache // type of Server Side Encryption, could be "SSE-KMS", "SSE-S3", "SSE-C"(custom), or ""(none), // KMS is not implemented yet SseType string // encryption key for SSE-S3, the key itself is encrypted with SSE_S3_MASTER_KEY, // in AES256-GCM EncryptionKey []byte InitializationVector []byte // ObjectType include `Normal`, `Appendable`, 'Multipart' Type ObjectType StorageClass StorageClass CreateTime uint64 // Timestamp(nanosecond) DeltaSize int64 // record delta size when update }
func (*Object) GenVersionId ¶
func (o *Object) GenVersionId(bucketVersionType datatype.BucketVersioningType) string
func (*Object) GetCreateHotSql ¶
func (*Object) GetCreateSql ¶
func (*Object) GetGlacierUpdateSql ¶
func (*Object) GetRemoveHotSql ¶
func (*Object) GetReplaceObjectMetasSql ¶
func (*Object) GetUpdateAclSql ¶
func (*Object) GetUpdateAttrsSql ¶
func (*Object) GetUpdateHotSql ¶
func (*Object) GetUpdateNameSql ¶
func (*Object) GetUpdateObjectPartNameSql ¶
func (*Object) GetUpdateSql ¶
func (*Object) IsUnexpired ¶
func (*Object) ObjectTypeToString ¶
type ObjectType ¶
type ObjectType int
const ( ObjectTypeNormal ObjectType = 0 ObjectTypeAppendable ObjectType = 1 ObjectTypeMultipart ObjectType = 2 )
type Part ¶
type Part struct { PartNumber int Size int64 ObjectId string // offset of this part in whole object, calculated when moving parts from // `multiparts` table to `objects` table Offset int64 Etag string LastModified string // time string of format "2006-01-02T15:04:05.000Z" InitializationVector []byte BucketName string ObjectName string Version uint64 }
func (*Part) GetCreateGcSql ¶
func (*Part) GetCreateSql ¶
type PartTooSmall ¶
PartTooSmall - error if part size is less than 5MB.
func (PartTooSmall) Error ¶
func (e PartTooSmall) Error() string
type ScanLifeCycleResult ¶
type SimpleIndex ¶
type SimpleIndex struct {
Index []int64
}
func (*SimpleIndex) SearchLowerBound ¶
func (array *SimpleIndex) SearchLowerBound(key int64) int
func (*SimpleIndex) SearchUpperBound ¶
func (array *SimpleIndex) SearchUpperBound(key int64) int
Click to show internal directories.
Click to hide internal directories.