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