diff --git a/server/engine/engine.go b/server/engine/engine.go index 5241afb..c8801d2 100644 --- a/server/engine/engine.go +++ b/server/engine/engine.go @@ -4,6 +4,7 @@ import ( "fmt" "github.com/imkira/go-observer" "sirlab.de/go/knyt/handler" + "sirlab.de/go/knyt/syncdata" "time" ) @@ -13,14 +14,14 @@ type Engine struct { func NewEngine() *Engine { engine := Engine{ - obs: observer.NewProperty(handler.Value{}), + obs: observer.NewProperty(syncdata.SyncData{}), } return &engine } func (engine *Engine) Run() { for { - value := engine.obs.Value().(handler.Value) + value := engine.obs.Value().(syncdata.SyncData) fmt.Printf("sleep: %d\n", value.VersionRef) time.Sleep(1 * time.Second) value.VersionRef++ diff --git a/server/handler/sync.go b/server/handler/sync.go index 3ba6de4..34588c6 100644 --- a/server/handler/sync.go +++ b/server/handler/sync.go @@ -5,13 +5,10 @@ import ( "fmt" "github.com/imkira/go-observer" "net/http" + "sirlab.de/go/knyt/syncdata" "strconv" ) -type Value struct { - VersionRef int `json:"version"` -} - func SyncFactory(obs observer.Property) HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { versionRef, err := strconv.Atoi(r.URL.Query().Get("v")) @@ -20,9 +17,9 @@ func SyncFactory(obs observer.Property) HandlerFunc { } stream := obs.Observe() - var value Value + var value syncdata.SyncData for { - value = stream.Value().(Value) + value = stream.Value().(syncdata.SyncData) if value.VersionRef >= versionRef { break } diff --git a/server/syncdata/syncdata.go b/server/syncdata/syncdata.go new file mode 100644 index 0000000..6512c30 --- /dev/null +++ b/server/syncdata/syncdata.go @@ -0,0 +1,5 @@ +package syncdata + +type SyncData struct { + VersionRef int `json:"version"` +}