From 43861ca66c13e5a333c360cd707481c80331b8c6 Mon Sep 17 00:00:00 2001 From: tnextday Date: Wed, 23 Mar 2016 16:27:06 +0800 Subject: [PATCH] remote needle read add checksum --- go/weed/weed_server/volume_server_handlers_read.go | 6 ++++++ go/weed/weed_server/volume_server_handlers_sync.go | 1 + 2 files changed, 7 insertions(+) diff --git a/go/weed/weed_server/volume_server_handlers_read.go b/go/weed/weed_server/volume_server_handlers_read.go index 037c78b43..3e987edf0 100644 --- a/go/weed/weed_server/volume_server_handlers_read.go +++ b/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) } } + 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 i, err := strconv.ParseUint(h, 16, 64); err == nil { n.LastModified = i diff --git a/go/weed/weed_server/volume_server_handlers_sync.go b/go/weed/weed_server/volume_server_handlers_sync.go index 358fb6c74..471cdbf5c 100644 --- a/go/weed/weed_server/volume_server_handlers_sync.go +++ b/go/weed/weed_server/volume_server_handlers_sync.go @@ -176,6 +176,7 @@ func (vs *VolumeServer) getNeedleHandler(w http.ResponseWriter, r *http.Request) return } 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() { w.Header().Set("Seaweed-LastModified", strconv.FormatUint(n.LastModified, 16)) }