ceph/qa/workunits/rados
Casey Bodley f473d57013 librados: add async interfaces for use with Networking TS
Defines asynchronous librados operations that satisfy all of the
"Requirements on asynchronous operations" imposed by the C++ Networking
TS [1] in section 13.2.7. These operations are implemented in terms of
boost::asio, but the interfaces themselves are free of boost types -
this makes the transition to std::net trivial when it's available.

These interfaces conform to the Extensible Asynchronous Model [2] that
originated in boost::asio. This model allows the last 'handler' argument
to either be a callback that gets the result, a coroutine yield_context
that will suspend until completion, or a 'use_future' tag to request the
result in a std::future (see the unit tests for examples of each). The
'Extensible' part also enables further integration with new frameworks.

For now, only async_read(), async_write(), and the read/write variants
of async_operate() are provided.

[1] Working Draft, C++ Extensions for Networking
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4711.pdf
[2] "Library Foundations for Asynchronous Operations"
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3896.pdf

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-01-09 09:58:18 -05:00
..
clone.sh
load-gen-big.sh test: Use correct argument --read-perecent 2017-06-23 08:02:50 -07:00
load-gen-mix-small-long.sh test: Use correct argument --read-perecent 2017-06-23 08:02:50 -07:00
load-gen-mix-small.sh test: Use correct argument --read-perecent 2017-06-23 08:02:50 -07:00
load-gen-mix.sh test: Use correct argument --read-perecent 2017-06-23 08:02:50 -07:00
load-gen-mostlyread.sh test: Use correct argument --read-perecent 2017-06-23 08:02:50 -07:00
stress_watch.sh
test_alloc_hint.sh scripts: fix bash path in shebangs 2017-07-27 13:24:26 -06:00
test_cache_pool.sh scripts: fix bash path in shebangs 2017-07-27 13:24:26 -06:00
test_envlibrados_for_rocksdb.sh scripts: fix bash path in shebangs 2017-07-27 13:24:26 -06:00
test_hang.sh
test_health_warnings.sh Merge pull request #16494 from asomers/bin_bash 2017-08-27 10:14:14 +08:00
test_large_omap_detection.py osd: Warn about objects with too many omap entries 2017-10-24 17:27:57 +10:00
test_pool_access.sh scripts: fix bash path in shebangs 2017-07-27 13:24:26 -06:00
test_pool_quota.sh test: enable pool applications for new pools 2017-07-19 13:13:01 -04:00
test_python.sh
test_rados_timeouts.sh scripts: fix bash path in shebangs 2017-07-27 13:24:26 -06:00
test_rados_tool.sh osd/PrimaryLogPG: prepare_transaction - fix EDQUOT vs ENOSPC 2017-09-20 08:49:42 +08:00
test_tmap_to_omap.sh
test.sh librados: add async interfaces for use with Networking TS 2018-01-09 09:58:18 -05:00