-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbucket.go
94 lines (73 loc) · 1.62 KB
/
bucket.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package cbtransaction
import (
"sync"
)
type Bucket struct {
FileName string
Hash string
CompressedHash string
CompressionAlgo string
ModTime int64
Version uint32
TransactionCount uint32
// used internally / not persisted
lock *sync.RWMutex
file ReadWriteSeekCloser
}
func NewBucketFromFile(file ReadWriteSeekCloser) (*Bucket, error) {
return &Bucket{
lock: &sync.RWMutex{},
file: file,
}, nil
}
func (b *Bucket) GetFile() ReadWriteSeekCloser {
return b.file
}
func (b *Bucket) Lock() {
b.lock.Lock()
}
func (b *Bucket) Unlock() {
b.lock.Unlock()
}
func (b *Bucket) GetFileName() string {
return b.FileName
}
func (b *Bucket) SetFileName(fileName string) {
b.FileName = fileName
}
func (b *Bucket) GetHash() string {
return b.Hash
}
func (b *Bucket) SetHash(hash string) {
b.Hash = hash
}
func (b *Bucket) GetCompressedHash() string {
return b.CompressedHash
}
func (b *Bucket) SetCompressedHash(compressedHash string) {
b.CompressedHash = compressedHash
}
func (b *Bucket) GetCompressionAlgo() string {
return b.CompressionAlgo
}
func (b *Bucket) SetCompressionAlgo(compressionAlgo string) {
b.CompressionAlgo = compressionAlgo
}
func (b *Bucket) GetModTime() int64 {
return b.ModTime
}
func (b *Bucket) SetModTime(modTime int64) {
b.ModTime = modTime
}
func (b *Bucket) GetVersion() uint32 {
return b.Version
}
func (b *Bucket) SetVersion(version uint32) {
b.Version = version
}
func (b *Bucket) GetTransactionCount() uint32 {
return b.TransactionCount
}
func (b *Bucket) SetTransactionCount(transactionCount uint32) {
b.TransactionCount = transactionCount
}