Hi Ram,
libpmemobj is currently under development so not all the features mentioned in the man page are functional or fully validated yet. Here's a brief outline of our expected roadmap:
In the next few weeks we expect the basic API, including memory allocation, transactions, atomic lists, and the type safety macros, to all be validated to approximately "alpha quality". At that point, we'll build packages and send mail out for people who want to start developing to the API. But this version will not yet support the pool sets or replication.
Within about three months, around the end of September, we expect the pool sets and the replication between two local pmem files to be supported. We also expect much more of the validation to have been done by then, so the library should be much more stable.
After that point we'll start working on our next phase of the NVM Library and that's where we'll modify our replication to work remotely over an RDMA link. We haven't fully scoped that work yet but I would expect it to take something like six months for development and validation (don't hold me to it -- that's just a guess).
So right now, you'll see some stubbed out code in the library in anticipation of pool sets and local replication, but it will be exactly one pmem file maps to one libpmemobj pool for the next few months until we get those features working.
Hope that explanation made sense!
-andy