]> git.scottworley.com Git - reliable-chat/blobdiff - server/server.go
Fetch returns a list of messages
[reliable-chat] / server / server.go
index 8c8a9893d61360dd00f3ea643871fe7fb33339d2..8d4e897c36fc4c877b00b677844b0194c1660f69 100644 (file)
@@ -11,11 +11,6 @@ type Message struct {
        Text string
 }
 
-type FetchResponse struct {
-       Messages []Message
-       Time     time.Time
-}
-
 type StoreRequest struct {
        StartTime time.Time
        Messages  chan<- []Message
@@ -48,7 +43,7 @@ func manage_store(store Store) {
                                messages.Remove(messages.Front())
                        }
                case request := <-store.Get:
-                       if messages.Back() == nil || request.StartTime.After(messages.Back().Value.(Message).Time) {
+                       if messages.Back() == nil || !request.StartTime.Before(messages.Back().Value.(Message).Time) {
                                waiting.PushBack(request)
                        } else {
                                start := messages.Back()
@@ -94,7 +89,7 @@ func start_server(store Store) {
                messages_from_store := make(chan []Message, 1)
                store.Get <- StoreRequest{since, messages_from_store}
 
-               json_encoded, err := json.Marshal(FetchResponse{<-messages_from_store, time.Now()})
+               json_encoded, err := json.Marshal(<-messages_from_store)
                if err != nil {
                        log.Print("json encode: ", err)
                        w.WriteHeader(http.StatusInternalServerError)