summaryrefslogtreecommitdiff
path: root/server/map.go
diff options
context:
space:
mode:
Diffstat (limited to 'server/map.go')
-rw-r--r--server/map.go8
1 files changed, 5 insertions, 3 deletions
diff --git a/server/map.go b/server/map.go
index f210d42..345a62c 100644
--- a/server/map.go
+++ b/server/map.go
@@ -201,14 +201,16 @@ func (v *blockVolume) unsyncBlocksInRange(min, max blockPos) []blockType {
func (v *blockVolume) syncCompressForNetwork(/*highBits bool*/) io.ReadCloser {
rd, wr := io.Pipe()
go func() {
+ defer wr.Close()
v.RLock()
defer v.RUnlock()
bw := bufio.NewWriter(wr)
defer bw.Flush()
+
writePointlessGzipHeader(bw)
- len := uint32(v.size.X*v.size.Y*v.size.Z)
- deflateRuns(wr, v.blockRuns, v.changes, len)
- writePointlessGzipTrailer(bw, len)
+ size := uint32(v.size.X*v.size.Y*v.size.Z)
+ dataLen, _ := deflateRuns(bw, v.blockRuns, v.changes, size)
+ writePointlessGzipTrailer(bw, dataLen)
}()
return rd
}