@@ -28,9 +28,9 @@ func checkDayChange() {
2828 t := time .Now ()
2929 if now .YearDay () != t .YearDay () {
3030 recordMap .Range (func (_ user , v * record ) bool {
31- v .today .Add (- v .today .Load ())
31+ v .today .Add (- v .today .Get ())
3232 if t .Day () == 1 {
33- v .monthly .Add (- v .monthly .Load ())
33+ v .monthly .Add (- v .monthly .Get ())
3434 }
3535 return true
3636 })
@@ -43,7 +43,7 @@ type record struct {
4343}
4444
4545func (r * record ) writer (w io.Writer ) io.Writer {
46- return r . today . AddWriter ( r . monthly . AddWriter ( r .total . AddWriter ( w )) )
46+ return counter . CountWriter ( counter . CountWriter ( counter . CountWriter ( w , & r .total ), & r . monthly ), & r . today )
4747}
4848
4949func store (user user , today , monthly , total int64 ) * record {
@@ -90,7 +90,7 @@ func parseRecord(rows []string) {
9090 continue
9191 }
9292 }
93- if t == now {
93+ if t . Equal ( now ) {
9494 today , err = strconv .ParseInt (s [1 ], 10 , 64 )
9595 if err != nil {
9696 errorLogger .Println (row , err )
@@ -116,13 +116,13 @@ func saveRecord(base *Base) {
116116
117117 base .accounts .Range (func (a auth.Basic , _ * limit ) bool {
118118 if v , ok := recordMap .Load (user {a .Username , false }); ok {
119- fmt .Fprintf (zw , "%s:%d:%d:%d\n " , a .Username , v .today .Load (), v .monthly .Load (), v .total .Load ())
119+ fmt .Fprintf (zw , "%s:%d:%d:%d\n " , a .Username , v .today .Get (), v .monthly .Get (), v .total .Get ())
120120 }
121121 return true
122122 })
123123 base .whitelist .Range (func (a allow , _ * limit ) bool {
124124 if v , ok := recordMap .Load (user {string (a ), true }); ok {
125- fmt .Fprintf (zw , "%s[w]:%d:%d:%d\n " , a , v .today .Load (), v .monthly .Load (), v .total .Load ())
125+ fmt .Fprintf (zw , "%s[w]:%d:%d:%d\n " , a , v .today .Get (), v .monthly .Get (), v .total .Get ())
126126 }
127127 return true
128128 })
@@ -138,7 +138,11 @@ func initRecord(base *Base) {
138138 defer f .Close ()
139139 if zr , err := gzip .NewReader (f ); err == nil {
140140 defer zr .Close ()
141- parseRecord (txt .ReadAll (zr ))
141+ if rows , err := txt .ReadAll (zr ); err == nil {
142+ parseRecord (rows )
143+ } else {
144+ errorLogger .Print (err )
145+ }
142146 } else {
143147 errorLogger .Print (err )
144148 }
0 commit comments