You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package mount
import ( "github.com/seaweedfs/seaweedfs/weed/pb/filer_pb" "sync" )
type LockedEntry struct { *filer_pb.Entry sync.RWMutex }
func (le *LockedEntry) GetEntry() *filer_pb.Entry { le.RLock() defer le.RUnlock() return le.Entry }
func (le *LockedEntry) SetEntry(entry *filer_pb.Entry) { le.Lock() defer le.Unlock() le.Entry = entry }
func (le *LockedEntry) UpdateEntry(fn func(entry *filer_pb.Entry)) *filer_pb.Entry { le.Lock() defer le.Unlock() fn(le.Entry) return le.Entry }
func (le *LockedEntry) GetChunks() []*filer_pb.FileChunk { le.RLock() defer le.RUnlock() return le.Entry.Chunks }
func (le *LockedEntry) AppendChunks(newChunks []*filer_pb.FileChunk) { le.Lock() defer le.Unlock() le.Entry.Chunks = append(le.Entry.Chunks, newChunks...) }
|