mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	
		
			
	
	
		
			61 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			61 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | """asyncio exceptions.""" | ||
|  | 
 | ||
|  | 
 | ||
|  | __all__ = ('CancelledError', 'InvalidStateError', 'TimeoutError', | ||
|  |            'IncompleteReadError', 'LimitOverrunError', | ||
|  |            'SendfileNotAvailableError') | ||
|  | 
 | ||
|  | import concurrent.futures | ||
|  | from . import base_futures | ||
|  | 
 | ||
|  | 
 | ||
|  | class CancelledError(concurrent.futures.CancelledError): | ||
|  |     """The Future or Task was cancelled.""" | ||
|  | 
 | ||
|  | 
 | ||
|  | class TimeoutError(concurrent.futures.TimeoutError): | ||
|  |     """The operation exceeded the given deadline.""" | ||
|  | 
 | ||
|  | 
 | ||
|  | class InvalidStateError(concurrent.futures.InvalidStateError): | ||
|  |     """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): | ||
|  |         super().__init__(f'{len(partial)} bytes read on a total of ' | ||
|  |                          f'{expected!r} 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) |