aboutsummaryrefslogtreecommitdiff
path: root/weed/operation/sync_volume.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2018-07-08 02:28:04 -0700
committerChris Lu <chris.lu@gmail.com>2018-07-08 02:28:04 -0700
commitd4d7ced922866e76e8c004d1c1045bcda2b25d5e (patch)
tree199d7a8895ce1225ae5647cfaeb15cec6f73cf4f /weed/operation/sync_volume.go
parent922032b9bb2c885d5f65d1f835878a8b2d39a2a6 (diff)
downloadseaweedfs-d4d7ced922866e76e8c004d1c1045bcda2b25d5e.tar.xz
seaweedfs-d4d7ced922866e76e8c004d1c1045bcda2b25d5e.zip
refactoring: add type for needle id, offset
later the type size can possibly be adjusted
Diffstat (limited to 'weed/operation/sync_volume.go')
-rw-r--r--weed/operation/sync_volume.go11
1 files changed, 6 insertions, 5 deletions
diff --git a/weed/operation/sync_volume.go b/weed/operation/sync_volume.go
index b7a727fc7..5be312450 100644
--- a/weed/operation/sync_volume.go
+++ b/weed/operation/sync_volume.go
@@ -7,6 +7,7 @@ import (
"github.com/chrislusf/seaweedfs/weed/glog"
"github.com/chrislusf/seaweedfs/weed/util"
+ . "github.com/chrislusf/seaweedfs/weed/storage/types"
)
type SyncVolumeResponse struct {
@@ -37,14 +38,14 @@ func GetVolumeSyncStatus(server string, vid string) (*SyncVolumeResponse, error)
return &ret, nil
}
-func GetVolumeIdxEntries(server string, vid string, eachEntryFn func(key uint64, offset, size uint32)) error {
+func GetVolumeIdxEntries(server string, vid string, eachEntryFn func(key NeedleId, offset Offset, size uint32)) error {
values := make(url.Values)
values.Add("volume", vid)
- line := make([]byte, 16)
+ line := make([]byte, NeedleEntrySize)
err := util.GetBufferStream("http://"+server+"/admin/sync/index", values, line, func(bytes []byte) {
- key := util.BytesToUint64(bytes[:8])
- offset := util.BytesToUint32(bytes[8:12])
- size := util.BytesToUint32(bytes[12:16])
+ key := BytesToNeedleId(line[:NeedleIdSize])
+ offset := BytesToOffset(line[NeedleIdSize:NeedleIdSize+OffsetSize])
+ size := util.BytesToUint32(line[NeedleIdSize+OffsetSize:NeedleIdSize+OffsetSize+SizeSize])
eachEntryFn(key, offset, size)
})
if err != nil {