52 lines
1.8 KiB
Go
52 lines
1.8 KiB
Go
package utils
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
// Error captures various common ricochet errors
|
|
type Error string
|
|
|
|
func (e Error) Error() string { return string(e) }
|
|
|
|
// Defining Versions
|
|
const (
|
|
VersionNegotiationError = Error("VersionNegotiationError")
|
|
VersionNegotiationFailed = Error("VersionNegotiationFailed")
|
|
|
|
RicochetConnectionClosed = Error("RicochetConnectionClosed")
|
|
RicochetProtocolError = Error("RicochetProtocolError")
|
|
|
|
UnknownChannelTypeError = Error("UnknownChannelTypeError")
|
|
UnauthorizedChannelTypeError = Error("UnauthorizedChannelTypeError")
|
|
|
|
// Timeout Errors
|
|
ActionTimedOutError = Error("ActionTimedOutError")
|
|
PeerTimedOutError = Error("PeerTimedOutError")
|
|
|
|
// Authentication Errors
|
|
ClientFailedToAuthenticateError = Error("ClientFailedToAuthenticateError")
|
|
ServerRejectedClientConnectionError = Error("ServerRejectedClientConnectionError")
|
|
|
|
UnauthorizedActionError = Error("UnauthorizedActionError")
|
|
ChannelClosedByPeerError = Error("ChannelClosedByPeerError")
|
|
|
|
// Channel Management Errors
|
|
ServerAttemptedToOpenEvenNumberedChannelError = Error("ServerAttemptedToOpenEvenNumberedChannelError")
|
|
ClientAttemptedToOpenOddNumberedChannelError = Error("ClientAttemptedToOpenOddNumberedChannelError")
|
|
ChannelIDIsAlreadyInUseError = Error("ChannelIDIsAlreadyInUseError")
|
|
AttemptToOpenMoreThanOneSingletonChannelError = Error("AttemptToOpenMoreThanOneSingletonChannelError")
|
|
|
|
// Library Use Errors
|
|
PrivateKeyNotSetError = Error("ClientFailedToAuthenticateError")
|
|
)
|
|
|
|
// CheckError is a helper function for panicing on errors which we need to handle
|
|
// but should be very rare e.g. failures deserializing a protobuf object that
|
|
// should only happen if there was a bug in the underlying library.
|
|
func CheckError(err error) {
|
|
if err != nil {
|
|
panic(fmt.Sprintf("%v", err))
|
|
}
|
|
}
|