mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	Co-Authored-By: Tyler Bell <mrbell321@gmail.com>
(cherry picked from commit 8085f742f4)
Co-authored-by: Zackery Spytz <zspytz@gmail.com>
Co-authored-by: Zackery Spytz <zspytz@gmail.com>
		
	
			
		
			
				
	
	
		
			58 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
"""asyncio exceptions."""
 | 
						|
 | 
						|
 | 
						|
__all__ = ('CancelledError', 'InvalidStateError', 'TimeoutError',
 | 
						|
           'IncompleteReadError', 'LimitOverrunError',
 | 
						|
           'SendfileNotAvailableError')
 | 
						|
 | 
						|
 | 
						|
class CancelledError(BaseException):
 | 
						|
    """The Future or Task was cancelled."""
 | 
						|
 | 
						|
 | 
						|
class TimeoutError(Exception):
 | 
						|
    """The operation exceeded the given deadline."""
 | 
						|
 | 
						|
 | 
						|
class InvalidStateError(Exception):
 | 
						|
    """The operation is not allowed in this state."""
 | 
						|
 | 
						|
 | 
						|
class SendfileNotAvailableError(RuntimeError):
 | 
						|
    """Sendfile syscall is not available.
 | 
						|
 | 
						|
    Raised if OS does not support sendfile syscall for given socket or
 | 
						|
    file type.
 | 
						|
    """
 | 
						|
 | 
						|
 | 
						|
class IncompleteReadError(EOFError):
 | 
						|
    """
 | 
						|
    Incomplete read error. Attributes:
 | 
						|
 | 
						|
    - partial: read bytes string before the end of stream was reached
 | 
						|
    - expected: total number of expected bytes (or None if unknown)
 | 
						|
    """
 | 
						|
    def __init__(self, partial, expected):
 | 
						|
        r_expected = 'undefined' if expected is None else repr(expected)
 | 
						|
        super().__init__(f'{len(partial)} bytes read on a total of '
 | 
						|
                         f'{r_expected} expected bytes')
 | 
						|
        self.partial = partial
 | 
						|
        self.expected = expected
 | 
						|
 | 
						|
    def __reduce__(self):
 | 
						|
        return type(self), (self.partial, self.expected)
 | 
						|
 | 
						|
 | 
						|
class LimitOverrunError(Exception):
 | 
						|
    """Reached the buffer limit while looking for a separator.
 | 
						|
 | 
						|
    Attributes:
 | 
						|
    - consumed: total number of to be consumed bytes.
 | 
						|
    """
 | 
						|
    def __init__(self, message, consumed):
 | 
						|
        super().__init__(message)
 | 
						|
        self.consumed = consumed
 | 
						|
 | 
						|
    def __reduce__(self):
 | 
						|
        return type(self), (self.args[0], self.consumed)
 |