| 94 | } |
| 95 | |
| 96 | func logMessageEncode(logger logging.Logger, msgBuf *bytes.Buffer, msg Message, encodeErr error) { |
| 97 | w := bytes.NewBuffer(nil) |
| 98 | defer func() { logger.Logf(logging.Debug, w.String()) }() |
| 99 | |
| 100 | fmt.Fprintf(w, "Message to encode:\n") |
| 101 | encoder := json.NewEncoder(w) |
| 102 | if err := encoder.Encode(msg); err != nil { |
| 103 | fmt.Fprintf(w, "Failed to get encoded message, %v\n", err) |
| 104 | } |
| 105 | |
| 106 | if encodeErr != nil { |
| 107 | fmt.Fprintf(w, "Encode error: %v\n", encodeErr) |
| 108 | return |
| 109 | } |
| 110 | |
| 111 | fmt.Fprintf(w, "Raw message:\n%s\n", hex.Dump(msgBuf.Bytes())) |
| 112 | } |
| 113 | |
| 114 | func encodePrelude(w io.Writer, crc hash.Hash32, headersLen, payloadLen uint32) error { |
| 115 | p := messagePrelude{ |