xref: /aosp_15_r20/prebuilts/build-tools/common/py3-stdlib/asyncio/exceptions.py (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker"""asyncio exceptions."""
2*cda5da8dSAndroid Build Coastguard Worker
3*cda5da8dSAndroid Build Coastguard Worker
4*cda5da8dSAndroid Build Coastguard Worker__all__ = ('BrokenBarrierError',
5*cda5da8dSAndroid Build Coastguard Worker           'CancelledError', 'InvalidStateError', 'TimeoutError',
6*cda5da8dSAndroid Build Coastguard Worker           'IncompleteReadError', 'LimitOverrunError',
7*cda5da8dSAndroid Build Coastguard Worker           'SendfileNotAvailableError')
8*cda5da8dSAndroid Build Coastguard Worker
9*cda5da8dSAndroid Build Coastguard Worker
10*cda5da8dSAndroid Build Coastguard Workerclass CancelledError(BaseException):
11*cda5da8dSAndroid Build Coastguard Worker    """The Future or Task was cancelled."""
12*cda5da8dSAndroid Build Coastguard Worker
13*cda5da8dSAndroid Build Coastguard Worker
14*cda5da8dSAndroid Build Coastguard WorkerTimeoutError = TimeoutError  # make local alias for the standard exception
15*cda5da8dSAndroid Build Coastguard Worker
16*cda5da8dSAndroid Build Coastguard Worker
17*cda5da8dSAndroid Build Coastguard Workerclass InvalidStateError(Exception):
18*cda5da8dSAndroid Build Coastguard Worker    """The operation is not allowed in this state."""
19*cda5da8dSAndroid Build Coastguard Worker
20*cda5da8dSAndroid Build Coastguard Worker
21*cda5da8dSAndroid Build Coastguard Workerclass SendfileNotAvailableError(RuntimeError):
22*cda5da8dSAndroid Build Coastguard Worker    """Sendfile syscall is not available.
23*cda5da8dSAndroid Build Coastguard Worker
24*cda5da8dSAndroid Build Coastguard Worker    Raised if OS does not support sendfile syscall for given socket or
25*cda5da8dSAndroid Build Coastguard Worker    file type.
26*cda5da8dSAndroid Build Coastguard Worker    """
27*cda5da8dSAndroid Build Coastguard Worker
28*cda5da8dSAndroid Build Coastguard Worker
29*cda5da8dSAndroid Build Coastguard Workerclass IncompleteReadError(EOFError):
30*cda5da8dSAndroid Build Coastguard Worker    """
31*cda5da8dSAndroid Build Coastguard Worker    Incomplete read error. Attributes:
32*cda5da8dSAndroid Build Coastguard Worker
33*cda5da8dSAndroid Build Coastguard Worker    - partial: read bytes string before the end of stream was reached
34*cda5da8dSAndroid Build Coastguard Worker    - expected: total number of expected bytes (or None if unknown)
35*cda5da8dSAndroid Build Coastguard Worker    """
36*cda5da8dSAndroid Build Coastguard Worker    def __init__(self, partial, expected):
37*cda5da8dSAndroid Build Coastguard Worker        r_expected = 'undefined' if expected is None else repr(expected)
38*cda5da8dSAndroid Build Coastguard Worker        super().__init__(f'{len(partial)} bytes read on a total of '
39*cda5da8dSAndroid Build Coastguard Worker                         f'{r_expected} expected bytes')
40*cda5da8dSAndroid Build Coastguard Worker        self.partial = partial
41*cda5da8dSAndroid Build Coastguard Worker        self.expected = expected
42*cda5da8dSAndroid Build Coastguard Worker
43*cda5da8dSAndroid Build Coastguard Worker    def __reduce__(self):
44*cda5da8dSAndroid Build Coastguard Worker        return type(self), (self.partial, self.expected)
45*cda5da8dSAndroid Build Coastguard Worker
46*cda5da8dSAndroid Build Coastguard Worker
47*cda5da8dSAndroid Build Coastguard Workerclass LimitOverrunError(Exception):
48*cda5da8dSAndroid Build Coastguard Worker    """Reached the buffer limit while looking for a separator.
49*cda5da8dSAndroid Build Coastguard Worker
50*cda5da8dSAndroid Build Coastguard Worker    Attributes:
51*cda5da8dSAndroid Build Coastguard Worker    - consumed: total number of to be consumed bytes.
52*cda5da8dSAndroid Build Coastguard Worker    """
53*cda5da8dSAndroid Build Coastguard Worker    def __init__(self, message, consumed):
54*cda5da8dSAndroid Build Coastguard Worker        super().__init__(message)
55*cda5da8dSAndroid Build Coastguard Worker        self.consumed = consumed
56*cda5da8dSAndroid Build Coastguard Worker
57*cda5da8dSAndroid Build Coastguard Worker    def __reduce__(self):
58*cda5da8dSAndroid Build Coastguard Worker        return type(self), (self.args[0], self.consumed)
59*cda5da8dSAndroid Build Coastguard Worker
60*cda5da8dSAndroid Build Coastguard Worker
61*cda5da8dSAndroid Build Coastguard Workerclass BrokenBarrierError(RuntimeError):
62*cda5da8dSAndroid Build Coastguard Worker    """Barrier is broken by barrier.abort() call."""
63