#include "common/errno.h"
#include "global/global_init.h"
-#define BOOST_COROUTINES_NO_DEPRECATION_WARNING
#include <boost/range/begin.hpp>
#include <boost/range/end.hpp>
-#include <boost/asio/spawn.hpp>
+#include <spawn/spawn.hpp>
#include <boost/asio/use_future.hpp>
#define dout_subsys ceph_subsys_rados
{
boost::asio::io_service service;
- auto success_cr = [&] (boost::asio::yield_context yield) {
+ auto success_cr = [&] (spawn::yield_context yield) {
boost::system::error_code ec;
auto bl = librados::async_read(service, io, "exist", 256, 0, yield[ec]);
EXPECT_FALSE(ec);
EXPECT_EQ("hello", bl.to_str());
};
- boost::asio::spawn(service, success_cr);
+ spawn::spawn(service, success_cr);
- auto failure_cr = [&] (boost::asio::yield_context yield) {
+ auto failure_cr = [&] (spawn::yield_context yield) {
boost::system::error_code ec;
auto bl = librados::async_read(service, io, "noexist", 256, 0, yield[ec]);
EXPECT_EQ(boost::system::errc::no_such_file_or_directory, ec);
};
- boost::asio::spawn(service, failure_cr);
+ spawn::spawn(service, failure_cr);
service.run();
}
bufferlist bl;
bl.append("hello");
- auto success_cr = [&] (boost::asio::yield_context yield) {
+ auto success_cr = [&] (spawn::yield_context yield) {
boost::system::error_code ec;
librados::async_write(service, io, "exist", bl, bl.length(), 0,
yield[ec]);
EXPECT_FALSE(ec);
EXPECT_EQ("hello", bl.to_str());
};
- boost::asio::spawn(service, success_cr);
+ spawn::spawn(service, success_cr);
- auto failure_cr = [&] (boost::asio::yield_context yield) {
+ auto failure_cr = [&] (spawn::yield_context yield) {
boost::system::error_code ec;
librados::async_write(service, snapio, "exist", bl, bl.length(), 0,
yield[ec]);
EXPECT_EQ(boost::system::errc::read_only_file_system, ec);
};
- boost::asio::spawn(service, failure_cr);
+ spawn::spawn(service, failure_cr);
service.run();
}
{
boost::asio::io_service service;
- auto success_cr = [&] (boost::asio::yield_context yield) {
+ auto success_cr = [&] (spawn::yield_context yield) {
librados::ObjectReadOperation op;
op.read(0, 0, nullptr, nullptr);
boost::system::error_code ec;
EXPECT_FALSE(ec);
EXPECT_EQ("hello", bl.to_str());
};
- boost::asio::spawn(service, success_cr);
+ spawn::spawn(service, success_cr);
- auto failure_cr = [&] (boost::asio::yield_context yield) {
+ auto failure_cr = [&] (spawn::yield_context yield) {
librados::ObjectReadOperation op;
op.read(0, 0, nullptr, nullptr);
boost::system::error_code ec;
yield[ec]);
EXPECT_EQ(boost::system::errc::no_such_file_or_directory, ec);
};
- boost::asio::spawn(service, failure_cr);
+ spawn::spawn(service, failure_cr);
service.run();
}
bufferlist bl;
bl.append("hello");
- auto success_cr = [&] (boost::asio::yield_context yield) {
+ auto success_cr = [&] (spawn::yield_context yield) {
librados::ObjectWriteOperation op;
op.write_full(bl);
boost::system::error_code ec;
librados::async_operate(service, io, "exist", &op, 0, yield[ec]);
EXPECT_FALSE(ec);
};
- boost::asio::spawn(service, success_cr);
+ spawn::spawn(service, success_cr);
- auto failure_cr = [&] (boost::asio::yield_context yield) {
+ auto failure_cr = [&] (spawn::yield_context yield) {
librados::ObjectWriteOperation op;
op.write_full(bl);
boost::system::error_code ec;
librados::async_operate(service, snapio, "exist", &op, 0, yield[ec]);
EXPECT_EQ(boost::system::errc::read_only_file_system, ec);
};
- boost::asio::spawn(service, failure_cr);
+ spawn::spawn(service, failure_cr);
service.run();
}