Merge pull request #2615 from calmh/jsonvv

Humanize serialization of version vectors
This commit is contained in:
Audrius Butkevicius 2015-12-22 21:12:23 +00:00
commit a2833d18ed
1 changed files with 6 additions and 1 deletions

View File

@ -10,6 +10,8 @@ import (
"bytes"
"compress/gzip"
"crypto/tls"
"encoding/base32"
"encoding/binary"
"encoding/json"
"fmt"
"io/ioutil"
@ -1138,8 +1140,11 @@ type jsonVersionVector protocol.Vector
func (v jsonVersionVector) MarshalJSON() ([]byte, error) {
res := make([]string, len(v))
bs := make([]byte, 8)
for i, c := range v {
res[i] = fmt.Sprintf("%d:%d", c.ID, c.Value)
binary.BigEndian.PutUint64(bs, c.ID)
id := base32.StdEncoding.EncodeToString(bs)
res[i] = fmt.Sprintf("%s:%d", id[:7], c.Value)
}
return json.Marshal(res)
}