Skip to content

Commit d14ed3d

Browse files
authored
Merge pull request #48 from cloudstruct/feature/message-use-raw-cbor
Reuse raw CBOR from message if present
2 parents 1670124 + a631882 commit d14ed3d

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

protocol/protocol.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,15 @@ func (p *Protocol) SendMessage(msg Message, isResponse bool) error {
9090
if err != nil {
9191
return fmt.Errorf("%s: error sending message: %s", p.config.Name, err)
9292
}
93-
data, err := utils.CborEncode(msg)
94-
if err != nil {
95-
return err
93+
// Get raw CBOR from message
94+
data := msg.Cbor()
95+
// If message has no raw CBOR, encode the message
96+
if data == nil {
97+
var err error
98+
data, err = utils.CborEncode(msg)
99+
if err != nil {
100+
return err
101+
}
96102
}
97103
segment := muxer.NewSegment(p.config.ProtocolId, data, isResponse)
98104
p.sendChan <- segment

0 commit comments

Comments
 (0)