From 85a45a27f641c1fef82700d14344893b67f3d8e5 Mon Sep 17 00:00:00 2001 From: Sarah Jamie Lewis Date: Fri, 3 Sep 2021 12:28:55 -0700 Subject: [PATCH] Report deserialization error... --- protocol/connections/engine.go | 3 +-- protocol/connections/peerapp.go | 10 +++++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/protocol/connections/engine.go b/protocol/connections/engine.go index dfb1ee8..e34ec7c 100644 --- a/protocol/connections/engine.go +++ b/protocol/connections/engine.go @@ -591,8 +591,7 @@ func (e *engine) sendPeerMessage(handle string, message model3.PeerMessage) erro if err == nil { peerApp, ok := (conn.App()).(*PeerApp) if ok { - peerApp.SendMessage(message) - return nil + return peerApp.SendMessage(message) } } log.Errorf("could not send peer message: %v", err) diff --git a/protocol/connections/peerapp.go b/protocol/connections/peerapp.go index f4448e2..f884314 100644 --- a/protocol/connections/peerapp.go +++ b/protocol/connections/peerapp.go @@ -108,10 +108,14 @@ func (pa *PeerApp) listen() { // SendMessage sends the peer a preformatted message // NOTE: This is a stub, we will likely want to extend this to better reflect the desired protocol -func (pa *PeerApp) SendMessage(message model2.PeerMessage) { +func (pa *PeerApp) SendMessage(message model2.PeerMessage) error { if message.Context == event.ContextGetVal { pa.getValRequests.Store(message.ID, string(message.Data)) } - serialized, _ := json.Marshal(message) - pa.connection.Send(serialized) + serialized, err := json.Marshal(message) + if err == nil { + pa.connection.Send(serialized) + return nil + } + return err }