| 
									
										
										
										
											2018-09-11 10:13:04 -07:00
										 |  |  | """asyncio exceptions.""" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | __all__ = ('CancelledError', 'InvalidStateError', 'TimeoutError', | 
					
						
							|  |  |  |            'IncompleteReadError', 'LimitOverrunError', | 
					
						
							|  |  |  |            'SendfileNotAvailableError') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-27 14:45:12 +02:00
										 |  |  | class CancelledError(BaseException): | 
					
						
							| 
									
										
										
										
											2018-09-11 10:13:04 -07:00
										 |  |  |     """The Future or Task was cancelled.""" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-27 14:45:12 +02:00
										 |  |  | class TimeoutError(Exception): | 
					
						
							| 
									
										
										
										
											2018-09-11 10:13:04 -07:00
										 |  |  |     """The operation exceeded the given deadline.""" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-27 14:45:12 +02:00
										 |  |  | class InvalidStateError(Exception): | 
					
						
							| 
									
										
										
										
											2018-09-11 10:13:04 -07:00
										 |  |  |     """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) |