package protocol import "fmt" // ErrTransportMessageConversion is an error produced when the transport // message can not be converted. type ErrTransportMessageConversion struct { fatal bool handled bool transport string message string } // NewErrTransportMessageConversion makes a new ErrTransportMessageConversion. func NewErrTransportMessageConversion(transport, message string, handled, fatal bool) *ErrTransportMessageConversion { return &ErrTransportMessageConversion{ transport: transport, message: message, handled: handled, fatal: fatal, } } // IsFatal reports if this error should be considered fatal. func (e *ErrTransportMessageConversion) IsFatal() bool { return e.fatal } // Handled reports if this error should be considered accepted and no further action. func (e *ErrTransportMessageConversion) Handled() bool { return e.handled } // Error implements error.Error func (e *ErrTransportMessageConversion) Error() string { return fmt.Sprintf("transport %s failed to convert message: %s", e.transport, e.message) }