ready to pass from server to monitor but monitor still needs save to disk and reload

Former-commit-id: 1cebef822fdc157f0622b4e0fb9f93db48e0e70d
This commit is contained in:
bel
2019-06-22 14:32:46 -06:00
parent 4bd05d15b4
commit 5e87f1659d
7 changed files with 192 additions and 69 deletions

View File

@@ -1,8 +1,6 @@
package monitor
import (
"bytes"
"encoding/gob"
"local/rssmon3/config"
"log"
"time"
@@ -65,19 +63,16 @@ func (i *Item) getInterval() (time.Duration, error) {
if err != nil {
return forever, err
}
buff := bytes.NewBuffer(b)
dec := gob.NewDecoder(buff)
err = dec.Decode(&t)
err = config.Decode(b, &t)
return t, err
}
func (i *Item) setInterval(t time.Duration) error {
buff := bytes.NewBuffer(nil)
enc := gob.NewEncoder(buff)
if err := enc.Encode(t); err != nil {
b, err := config.Encode(t)
if err != nil {
return err
}
if err := config.Values().DB.Set(i.Key, buff.Bytes(), nsInterval); err != nil {
if err := config.Values().DB.Set(i.Key, b, nsInterval); err != nil {
return err
}
return nil
@@ -98,29 +93,21 @@ func (i *Item) Mark() {
}
func (i *Item) setLast(t time.Time) error {
buff := bytes.NewBuffer(nil)
enc := gob.NewEncoder(buff)
if err := enc.Encode(t); err != nil {
b, err := config.Encode(t)
if err != nil {
return err
}
if err := config.Values().DB.Set(i.Key, buff.Bytes(), nsLast); err != nil {
return err
}
return nil
return config.Values().DB.Set(i.Key, b, nsLast)
}
func (i *Item) getLast() (time.Time, error) {
t := time.Now()
t := never
b, err := config.Values().DB.Get(i.Key, nsLast)
if err != nil {
return never, err
}
buff := bytes.NewBuffer(b)
dec := gob.NewDecoder(buff)
if err := dec.Decode(&t); err != nil {
return never, err
}
return t, nil
err = config.Decode(b, &t)
return t, err
}
func (i *Item) Encode() ([]byte, error) {