mirror of
https://github.com/markqvist/Reticulum.git
synced 2024-11-27 07:50:18 +00:00
45 lines
1.1 KiB
Python
45 lines
1.1 KiB
Python
|
# SAM exceptions
|
||
|
|
||
|
class SAMException(IOError):
|
||
|
"""Base class for SAM exceptions"""
|
||
|
|
||
|
class CantReachPeer(SAMException):
|
||
|
"""The peer exists, but cannot be reached"""
|
||
|
|
||
|
class DuplicatedDest(SAMException):
|
||
|
"""The specified Destination is already in use"""
|
||
|
|
||
|
class DuplicatedId(SAMException):
|
||
|
"""The nickname is already associated with a session"""
|
||
|
|
||
|
class I2PError(SAMException):
|
||
|
"""A generic I2P error"""
|
||
|
|
||
|
class InvalidId(SAMException):
|
||
|
"""STREAM SESSION ID doesn't exist"""
|
||
|
|
||
|
class InvalidKey(SAMException):
|
||
|
"""The specified key is not valid (bad format, etc.)"""
|
||
|
|
||
|
class KeyNotFound(SAMException):
|
||
|
"""The naming system can't resolve the given name"""
|
||
|
|
||
|
class PeerNotFound(SAMException):
|
||
|
"""The peer cannot be found on the network"""
|
||
|
|
||
|
class Timeout(SAMException):
|
||
|
"""The peer cannot be found on the network"""
|
||
|
|
||
|
SAM_EXCEPTIONS = {
|
||
|
"CANT_REACH_PEER": CantReachPeer,
|
||
|
"DUPLICATED_DEST": DuplicatedDest,
|
||
|
"DUPLICATED_ID": DuplicatedId,
|
||
|
"I2P_ERROR": I2PError,
|
||
|
"INVALID_ID": InvalidId,
|
||
|
"INVALID_KEY": InvalidKey,
|
||
|
"KEY_NOT_FOUND": KeyNotFound,
|
||
|
"PEER_NOT_FOUND": PeerNotFound,
|
||
|
"TIMEOUT": Timeout,
|
||
|
}
|
||
|
|