errors.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package quic
  2. import (
  3. "fmt"
  4. "github.com/Psiphon-Labs/quic-go/internal/qerr"
  5. )
  6. type (
  7. TransportError = qerr.TransportError
  8. ApplicationError = qerr.ApplicationError
  9. VersionNegotiationError = qerr.VersionNegotiationError
  10. StatelessResetError = qerr.StatelessResetError
  11. IdleTimeoutError = qerr.IdleTimeoutError
  12. HandshakeTimeoutError = qerr.HandshakeTimeoutError
  13. )
  14. type (
  15. TransportErrorCode = qerr.TransportErrorCode
  16. ApplicationErrorCode = qerr.ApplicationErrorCode
  17. StreamErrorCode = qerr.StreamErrorCode
  18. )
  19. const (
  20. NoError = qerr.NoError
  21. InternalError = qerr.InternalError
  22. ConnectionRefused = qerr.ConnectionRefused
  23. FlowControlError = qerr.FlowControlError
  24. StreamLimitError = qerr.StreamLimitError
  25. StreamStateError = qerr.StreamStateError
  26. FinalSizeError = qerr.FinalSizeError
  27. FrameEncodingError = qerr.FrameEncodingError
  28. TransportParameterError = qerr.TransportParameterError
  29. ConnectionIDLimitError = qerr.ConnectionIDLimitError
  30. ProtocolViolation = qerr.ProtocolViolation
  31. InvalidToken = qerr.InvalidToken
  32. ApplicationErrorErrorCode = qerr.ApplicationErrorErrorCode
  33. CryptoBufferExceeded = qerr.CryptoBufferExceeded
  34. KeyUpdateError = qerr.KeyUpdateError
  35. AEADLimitReached = qerr.AEADLimitReached
  36. NoViablePathError = qerr.NoViablePathError
  37. )
  38. // A StreamError is used for Stream.CancelRead and Stream.CancelWrite.
  39. // It is also returned from Stream.Read and Stream.Write if the peer canceled reading or writing.
  40. type StreamError struct {
  41. StreamID StreamID
  42. ErrorCode StreamErrorCode
  43. }
  44. func (e *StreamError) Is(target error) bool {
  45. _, ok := target.(*StreamError)
  46. return ok
  47. }
  48. func (e *StreamError) Error() string {
  49. return fmt.Sprintf("stream %d canceled with error code %d", e.StreamID, e.ErrorCode)
  50. }