diff --git a/bzz/netstore.go b/bzz/netstore.go index 33d39dabdd..0138df980d 100644 --- a/bzz/netstore.go +++ b/bzz/netstore.go @@ -88,13 +88,12 @@ func (self *NetStore) Put(entry *Chunk) { func (self *NetStore) put(entry *Chunk) { self.localStore.Put(entry) dpaLogger.Debugf("NetStore.put: localStore.Put of %064x completed, %d bytes (%p).", entry.Key, len(entry.SData), entry) - go self.store(entry) - // only send responses once - dpaLogger.Debugf("NetStore.put: req: %#v", entry.req) if entry.req != nil && entry.req.status == reqSearching { entry.req.status = reqFound close(entry.req.C) self.propagateResponse(entry) + } else { + go self.store(entry) } } diff --git a/bzz/protocol.go b/bzz/protocol.go index 0b13973eed..636ceb90d7 100644 --- a/bzz/protocol.go +++ b/bzz/protocol.go @@ -113,6 +113,10 @@ type storeRequestMsgData struct { peer peer } +func (self *storeRequestMsgData) String() string { + return fmt.Sprint("From: %v, Key: %x; ID: %v, requestTimeout: %v, storageTimeout: %v, SData %x", self.peer.Addr(), self.Key[:4], self.Id, self.requestTimeout, self.storageTimeout, self.SData[:10]) +} + /* Root key retrieve request Timeout in milliseconds. Note that zero timeout retrieval requests do not request forwarding, but prompt for a peers message response. therefore they also serve also as messages to retrieve peers.