php librados,librados的一个使用示例

#include "include/rados/librados.hpp"

#include "include/log_message.h"

#include

int32_t main(int32_t argc, const char* argv[]) {

int32_t error_code = 0;

librados::Rados cluster;

char cluster_name[] = "ceph";

char user_name[] = "client.admin";

uint64_t flags = 0;

error_code = cluster.init2(user_name, cluster_name, flags);

if (error_code < 0) {

std::cerr << "Couldn't initialize the cluster handle! error " << error_code << std::endl;

return -1;

}

error_code = cluster.conf_read_file("/data/home/richardyao/workspace/github/ceph/build/ceph.conf");

if (error_code < 0) {

std::cout << "Couldn't read the Ceph configuration file! error_code " << error_code << std::endl;

return -1;

}

error_code = cluster.conf_parse_argv(argc, argv);

if (error_code < 0) {

std::cout << "Couldn't parse command line options! error_code " << error_code << std::endl;

return -1;

}

error_code = cluster.connect();

if (error_code < 0) {

std::cerr << "Couldn't connect to cluster! error_code " << error_code << std::endl;

return -1;

}

LOG(INFO) << "Connected to the cluster.";

/* Continued from previous C++ example, where cluster handle and

* * connection are established. First declare an I/O Context.

* */

librados::IoCtx io_ctx;

const char *pool_name = "testpool";

error_code = cluster.ioctx_create(pool_name, io_ctx);

if (error_code < 0) {

std::cerr << "Couldn't set up ioctx! error " << error_code << std::endl;

return -1;

}

/* Write an object synchronously. */

librados::bufferlist bl;

bl.append("Hello World!");

error_code = io_ctx.write_full("hello.txt", bl);

if (error_code < 0) {

std::cerr << "Couldn't write object! error " << error_code << std::endl;

return -1;

}

LOG(INFO) << "hello.txt is written";

io_ctx.close();

cluster.shutdown();

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值