Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/asyncio/exceptions.py: 61%

18 statements  

« prev     ^ index     » next       coverage.py v7.0.1, created at 2022-12-25 06:11 +0000

1"""asyncio exceptions.""" 

2 

3 

4__all__ = ('CancelledError', 'InvalidStateError', 'TimeoutError', 

5 'IncompleteReadError', 'LimitOverrunError', 

6 'SendfileNotAvailableError') 

7 

8 

9class CancelledError(BaseException): 

10 """The Future or Task was cancelled.""" 

11 

12 

13class TimeoutError(Exception): 

14 """The operation exceeded the given deadline.""" 

15 

16 

17class InvalidStateError(Exception): 

18 """The operation is not allowed in this state.""" 

19 

20 

21class SendfileNotAvailableError(RuntimeError): 

22 """Sendfile syscall is not available. 

23 

24 Raised if OS does not support sendfile syscall for given socket or 

25 file type. 

26 """ 

27 

28 

29class IncompleteReadError(EOFError): 

30 """ 

31 Incomplete read error. Attributes: 

32 

33 - partial: read bytes string before the end of stream was reached 

34 - expected: total number of expected bytes (or None if unknown) 

35 """ 

36 def __init__(self, partial, expected): 

37 super().__init__(f'{len(partial)} bytes read on a total of ' 

38 f'{expected!r} expected bytes') 

39 self.partial = partial 

40 self.expected = expected 

41 

42 def __reduce__(self): 

43 return type(self), (self.partial, self.expected) 

44 

45 

46class LimitOverrunError(Exception): 

47 """Reached the buffer limit while looking for a separator. 

48 

49 Attributes: 

50 - consumed: total number of to be consumed bytes. 

51 """ 

52 def __init__(self, message, consumed): 

53 super().__init__(message) 

54 self.consumed = consumed 

55 

56 def __reduce__(self): 

57 return type(self), (self.args[0], self.consumed)