mirror of
https://github.com/borgbackup/borg.git
synced 2026-02-25 02:42:29 -05:00
Before this changeset, async responses were: - if not an error: ignored - if an error: raised as response to the arbitrary/unrelated next command Now, after sending async commands, the async_response command must be used to process outstanding responses / exceptions. We are avoiding to pile up lots of stuff in cases of high latency, because we do NOT first wait until ALL responses have arrived, but we just can begin to process responses. Calls with wait=False will just return what we already have received. Repeated calls with wait=True until None is returned will fetch all responses. Async commands now actually could have non-exception non-None results, but this is not used yet. None responses are still dropped. The motivation for this is to have a clear separation between a request blowing up because it (itself) failed and failures unrelated to that request / to that line in the sourcecode. also: fix processing for async repo obj deletes exception_ignored is a special object used that is "not None" (as None is used to signal "finished with processing async results") but also not a potential async response result value. Also: added wait=True to chunk_decref() and add_chunk() this makes async processing explicit - the default is synchronous and you only need to be careful and do extra steps for async processing if you explicitly request async by calling with wait=False (usually for speed reasons). to process async results, use async_response, see above. |
||
|---|---|---|
| .. | ||
| _crc32 | ||
| blake2 | ||
| platform | ||
| testsuite | ||
| __init__.py | ||
| __main__.py | ||
| _chunker.c | ||
| _hashindex.c | ||
| archive.py | ||
| archiver.py | ||
| blake2-libselect.h | ||
| cache.py | ||
| chunker.pyx | ||
| compress.pyx | ||
| constants.py | ||
| crc32.pyx | ||
| crypto.pyx | ||
| fuse.py | ||
| hashindex.pyx | ||
| helpers.py | ||
| item.pyx | ||
| key.py | ||
| keymanager.py | ||
| locking.py | ||
| logger.py | ||
| lrucache.py | ||
| nonces.py | ||
| paperkey.html | ||
| remote.py | ||
| repository.py | ||
| selftest.py | ||
| shellpattern.py | ||
| upgrader.py | ||
| version.py | ||
| xattr.py | ||