Wrapper for a read only stream that adds progress callbacks.
| 596 | |
| 597 | |
| 598 | class StreamReaderProgress: |
| 599 | """Wrapper for a read only stream that adds progress callbacks.""" |
| 600 | |
| 601 | def __init__(self, stream, callbacks=None): |
| 602 | self._stream = stream |
| 603 | self._callbacks = callbacks |
| 604 | if callbacks is None: |
| 605 | self._callbacks = [] |
| 606 | |
| 607 | def read(self, *args, **kwargs): |
| 608 | value = self._stream.read(*args, **kwargs) |
| 609 | invoke_progress_callbacks(self._callbacks, len(value)) |
| 610 | return value |
| 611 | |
| 612 | |
| 613 | class NoResourcesAvailable(Exception): |
no outgoing calls