log_hdl.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package test3
  2. import (
  3. "fmt"
  4. zmostp_go "git.swzry.com/zry/zmostp/zmostp-go"
  5. )
  6. type LogHandler struct {
  7. }
  8. func (l LogHandler) DecodeChecksumAscii85Failed(ch uint32, data []byte, err error) {
  9. perr := fmt.Errorf("failed decoding checksum '%s' with ascii85 (ch=%d): %v", string(data), ch, err)
  10. panic(perr)
  11. }
  12. func (l LogHandler) NeedCRCChecksum() {
  13. perr := fmt.Errorf("crc checksum enabled but received data has no crc checksum")
  14. panic(perr)
  15. }
  16. func (l LogHandler) CRCChecksumMismached(crcFromData uint32, crcReceived uint32) {
  17. perr := fmt.Errorf("crc mismatch: calculated from data: %d, received: %d", crcFromData, crcReceived)
  18. panic(perr)
  19. }
  20. func (l LogHandler) DFAInvalidState(st zmostp_go.DFAState) {
  21. perr := fmt.Errorf("invalid dfa state: %d", st)
  22. panic(perr)
  23. }
  24. func (l LogHandler) DFAInvalidInput(st zmostp_go.DFAState, b byte) {
  25. perr := fmt.Errorf("invalid input: %d in state '%s' ", b, st.ToAbbr())
  26. panic(perr)
  27. }
  28. func (l LogHandler) DecodeChannelAscii85Failed(data []byte, err error) {
  29. perr := fmt.Errorf("failed decoding channel '%s' with ascii85: %v", string(data), err)
  30. panic(perr)
  31. }
  32. func (l LogHandler) DecodePayloadAscii85Failed(ch uint32, data []byte, err error) {
  33. perr := fmt.Errorf("failed decoding payload '%s' with ascii85 (ch=%d): %v", string(data), ch, err)
  34. panic(perr)
  35. }
  36. func (l LogHandler) InvalidChannelByteLength(data []byte) {
  37. perr := fmt.Errorf("invalid channel byte length, data: %v", data)
  38. panic(perr)
  39. }
  40. func (l LogHandler) InvalidChecksumByteLength(ch uint32, data []byte) {
  41. perr := fmt.Errorf("invalid checksum byte length, ch: %d, data: %v", ch, data)
  42. panic(perr)
  43. }
  44. var _ zmostp_go.DecodeFailureLogHandler = (*LogHandler)(nil)