Skip to content

Commit

Permalink
golang/codec: debug flags
Browse files Browse the repository at this point in the history
  • Loading branch information
progrium committed Jul 21, 2021
1 parent f574df1 commit 475935a
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 0 deletions.
7 changes: 7 additions & 0 deletions golang/codec/doc.go → golang/codec/codec.go
@@ -1,2 +1,9 @@
// Package codec implements encoding and decoding of qmux messages.
package codec

import "io"

var (
DebugMessages io.Writer
DebugBytes io.Writer
)
7 changes: 7 additions & 0 deletions golang/codec/decoder.go
Expand Up @@ -28,6 +28,10 @@ func (dec *Decoder) Decode() (Message, error) {
return nil, err
}

if DebugBytes != nil {
fmt.Fprintln(DebugBytes, ">>DEC", packet)
}

return decode(packet)
}

Expand Down Expand Up @@ -87,6 +91,9 @@ func decode(packet []byte) (Message, error) {
if err := Unmarshal(packet, msg); err != nil {
return nil, err
}
if DebugMessages != nil {
fmt.Fprintln(DebugMessages, ">>DEC", msg)
}
return msg, nil
}

Expand Down
8 changes: 8 additions & 0 deletions golang/codec/encoder.go
Expand Up @@ -19,11 +19,19 @@ func (enc *Encoder) Encode(msg interface{}) error {
enc.Lock()
defer enc.Unlock()

if DebugMessages != nil {
fmt.Fprintln(DebugMessages, "<<ENC", msg)
}

b, err := Marshal(msg)
if err != nil {
return err
}

if DebugBytes != nil {
fmt.Fprintln(DebugBytes, "<<ENC", b)
}

_, err = enc.w.Write(b)
return err
}
Expand Down

0 comments on commit 475935a

Please sign in to comment.