1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-07-04 18:18:31 +00:00

try gob.registername??

This commit is contained in:
Kane York 2015-12-23 23:36:10 -08:00
parent 987286a607
commit daeb9d1a06
2 changed files with 12 additions and 5 deletions

View file

@ -8,6 +8,7 @@ import (
"net/http"
"encoding/gob"
"os"
"github.com/satori/go.uuid"
)
var SERVERS = []string{
@ -37,6 +38,7 @@ func main() {
os.Exit(2)
return
}
gob.RegisterName("hyperloglog", hyperloglog.HyperLogLogPlus{})
filename := flag.Arg(1)
hll, err := DownloadAll(filename)
@ -70,9 +72,13 @@ func DownloadHLL(url string) (*hyperloglog.HyperLogLogPlus, error) {
if err != nil {
return nil, err
}
defer resp.Body.Close()
dec := gob.NewDecoder(resp.Body)
dec.Decode(result)
resp.Body.Close()
err = dec.Decode(result)
if err != nil {
return nil, err
}
fmt.Println(url, result.Count())
return result, nil
}

View file

@ -17,9 +17,9 @@ import (
)
// uuidHash implements a hash for uuid.UUID by XORing the random bits.
type uuidHash uuid.UUID
type UuidHash uuid.UUID
func (u uuidHash) Sum64() uint64 {
func (u UuidHash) Sum64() uint64 {
var valLow, valHigh uint64
valLow = binary.LittleEndian.Uint64(u[0:8])
valHigh = binary.LittleEndian.Uint64(u[8:16])
@ -173,6 +173,7 @@ func HTTPWriteHLL(w http.ResponseWriter, r *http.Request) {
// loadUniqueUsers loads the previous HLLs into memory.
// is_init_func
func loadUniqueUsers() {
gob.RegisterName("hyperloglog", hyperloglog.HyperLogLogPlus{})
err := os.MkdirAll(uniqCountDir, 0755)
if err != nil {
log.Panicln("could not make unique users data dir:", err)
@ -217,7 +218,7 @@ func processNewUsers() {
for {
select {
case u := <-uniqueUserChannel:
hashed := uuidHash(u)
hashed := UuidHash(u)
for _, period := range periods {
uniqueCounters[period].Counter.Add(hashed)
}