diff options
author | Joram Wilander <jwawilander@gmail.com> | 2017-04-01 11:39:13 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-01 11:39:13 -0400 |
commit | 95da05a8c97332d8eff90c7587ed17a41966c5f0 (patch) | |
tree | d50084481487988ad83deb5ab6af2be7d2a9f110 /model/websocket_message.go | |
parent | d39947f53933ee4beb4ed8ab614324edc36fba2d (diff) | |
download | chat-95da05a8c97332d8eff90c7587ed17a41966c5f0.tar.gz chat-95da05a8c97332d8eff90c7587ed17a41966c5f0.tar.bz2 chat-95da05a8c97332d8eff90c7587ed17a41966c5f0.zip |
PLT-5750 Add sequence number to websocket connections and events (#5907)
* Add sequence number to websocket connections and events
* Copy pointer instead of pass by value and use int64 over uint64
* Add more logging to missed events
Diffstat (limited to 'model/websocket_message.go')
-rw-r--r-- | model/websocket_message.go | 45 |
1 files changed, 8 insertions, 37 deletions
diff --git a/model/websocket_message.go b/model/websocket_message.go index 23820470b..6c47eb948 100644 --- a/model/websocket_message.go +++ b/model/websocket_message.go @@ -36,8 +36,6 @@ const ( type WebSocketMessage interface { ToJson() string IsValid() bool - DoPreComputeJson() - GetPreComputeJson() []byte EventType() string } @@ -49,10 +47,10 @@ type WebsocketBroadcast struct { } type WebSocketEvent struct { - Event string `json:"event"` - Data map[string]interface{} `json:"data"` - Broadcast *WebsocketBroadcast `json:"broadcast"` - PreComputeJson []byte `json:"-"` + Event string `json:"event"` + Data map[string]interface{} `json:"data"` + Broadcast *WebsocketBroadcast `json:"broadcast"` + Sequence int64 `json:"seq"` } func (m *WebSocketEvent) Add(key string, value interface{}) { @@ -72,19 +70,6 @@ func (o *WebSocketEvent) EventType() string { return o.Event } -func (o *WebSocketEvent) DoPreComputeJson() { - b, err := json.Marshal(o) - if err != nil { - o.PreComputeJson = []byte("") - } else { - o.PreComputeJson = b - } -} - -func (o *WebSocketEvent) GetPreComputeJson() []byte { - return o.PreComputeJson -} - func (o *WebSocketEvent) ToJson() string { b, err := json.Marshal(o) if err != nil { @@ -106,11 +91,10 @@ func WebSocketEventFromJson(data io.Reader) *WebSocketEvent { } type WebSocketResponse struct { - Status string `json:"status"` - SeqReply int64 `json:"seq_reply,omitempty"` - Data map[string]interface{} `json:"data,omitempty"` - Error *AppError `json:"error,omitempty"` - PreComputeJson []byte `json:"-"` + Status string `json:"status"` + SeqReply int64 `json:"seq_reply,omitempty"` + Data map[string]interface{} `json:"data,omitempty"` + Error *AppError `json:"error,omitempty"` } func (m *WebSocketResponse) Add(key string, value interface{}) { @@ -142,19 +126,6 @@ func (o *WebSocketResponse) ToJson() string { } } -func (o *WebSocketResponse) DoPreComputeJson() { - b, err := json.Marshal(o) - if err != nil { - o.PreComputeJson = []byte("") - } else { - o.PreComputeJson = b - } -} - -func (o *WebSocketResponse) GetPreComputeJson() []byte { - return o.PreComputeJson -} - func WebSocketResponseFromJson(data io.Reader) *WebSocketResponse { decoder := json.NewDecoder(data) var o WebSocketResponse |