62
vendor/github.com/pion/stun/errors.go
generated
vendored
Normal file
62
vendor/github.com/pion/stun/errors.go
generated
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
package stun
|
||||
|
||||
import "errors"
|
||||
|
||||
// DecodeErr records an error and place when it is occurred.
|
||||
type DecodeErr struct {
|
||||
Place DecodeErrPlace
|
||||
Message string
|
||||
}
|
||||
|
||||
// IsInvalidCookie returns true if error means that magic cookie
|
||||
// value is invalid.
|
||||
func (e DecodeErr) IsInvalidCookie() bool {
|
||||
return e.Place == DecodeErrPlace{"message", "cookie"}
|
||||
}
|
||||
|
||||
// IsPlaceParent reports if error place parent is p.
|
||||
func (e DecodeErr) IsPlaceParent(p string) bool {
|
||||
return e.Place.Parent == p
|
||||
}
|
||||
|
||||
// IsPlaceChildren reports if error place children is c.
|
||||
func (e DecodeErr) IsPlaceChildren(c string) bool {
|
||||
return e.Place.Children == c
|
||||
}
|
||||
|
||||
// IsPlace reports if error place is p.
|
||||
func (e DecodeErr) IsPlace(p DecodeErrPlace) bool {
|
||||
return e.Place == p
|
||||
}
|
||||
|
||||
// DecodeErrPlace records a place where error is occurred.
|
||||
type DecodeErrPlace struct {
|
||||
Parent string
|
||||
Children string
|
||||
}
|
||||
|
||||
func (p DecodeErrPlace) String() string {
|
||||
return p.Parent + "/" + p.Children
|
||||
}
|
||||
|
||||
func (e DecodeErr) Error() string {
|
||||
return "BadFormat for " + e.Place.String() + ": " + e.Message
|
||||
}
|
||||
|
||||
func newDecodeErr(parent, children, message string) *DecodeErr {
|
||||
return &DecodeErr{
|
||||
Place: DecodeErrPlace{Parent: parent, Children: children},
|
||||
Message: message,
|
||||
}
|
||||
}
|
||||
|
||||
// TODO(ar): rewrite errors to be more precise.
|
||||
func newAttrDecodeErr(children, message string) *DecodeErr {
|
||||
return newDecodeErr("attribute", children, message)
|
||||
}
|
||||
|
||||
// ErrAttributeSizeInvalid means that decoded attribute size is invalid.
|
||||
var ErrAttributeSizeInvalid = errors.New("attribute size is invalid")
|
||||
|
||||
// ErrAttributeSizeOverflow means that decoded attribute size is too big.
|
||||
var ErrAttributeSizeOverflow = errors.New("attribute size overflow")
|
||||
Reference in New Issue
Block a user