summaryrefslogtreecommitdiffstats
path: root/model/websocket_message.go
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-04-01 11:39:13 -0400
committerGitHub <noreply@github.com>2017-04-01 11:39:13 -0400
commit95da05a8c97332d8eff90c7587ed17a41966c5f0 (patch)
treed50084481487988ad83deb5ab6af2be7d2a9f110 /model/websocket_message.go
parentd39947f53933ee4beb4ed8ab614324edc36fba2d (diff)
downloadchat-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.go45
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