Browse Source

remote needle read add checksum

pull/279/head
tnextday 10 years ago
parent
commit
43861ca66c
  1. 6
      go/weed/weed_server/volume_server_handlers_read.go
  2. 1
      go/weed/weed_server/volume_server_handlers_sync.go

6
go/weed/weed_server/volume_server_handlers_read.go

@ -333,6 +333,12 @@ func (vs *VolumeServer) readRemoteNeedle(vid string, n *storage.Needle, collecti
n.Flags = byte(i) n.Flags = byte(i)
} }
} }
if h := resp.Header.Get("Seaweed-Checksum"); h != "" {
if i, err := strconv.ParseInt(h, 16, 64); err == nil {
n.Checksum = storage.CRC(i)
}
}
if h := resp.Header.Get("Seaweed-LastModified"); h != "" { if h := resp.Header.Get("Seaweed-LastModified"); h != "" {
if i, err := strconv.ParseUint(h, 16, 64); err == nil { if i, err := strconv.ParseUint(h, 16, 64); err == nil {
n.LastModified = i n.LastModified = i

1
go/weed/weed_server/volume_server_handlers_sync.go

@ -176,6 +176,7 @@ func (vs *VolumeServer) getNeedleHandler(w http.ResponseWriter, r *http.Request)
return return
} }
w.Header().Set("Seaweed-Flags", strconv.FormatInt(int64(n.Flags), 16)) w.Header().Set("Seaweed-Flags", strconv.FormatInt(int64(n.Flags), 16))
w.Header().Set("Seaweed-Checksum", strconv.FormatInt(int64(n.Checksum), 16))
if n.HasLastModifiedDate() { if n.HasLastModifiedDate() {
w.Header().Set("Seaweed-LastModified", strconv.FormatUint(n.LastModified, 16)) w.Header().Set("Seaweed-LastModified", strconv.FormatUint(n.LastModified, 16))
} }

Loading…
Cancel
Save