[
https://issues.apache.org/jira/browse/HBASE-9835?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Elliott Clark updated HBASE-9835:
---------------------------------
Attachment: HBASE-9835-0.patch
Here's what I was thinking for C api.
* Fully async
* Call backs all take a void pointer for the user to supply their own data that
will be needed.
* No explicit batching. Since everything is async there's no need for it.
* All mutations start with the struct hb_mutation_type
* I went with the hidden struct. Even though it necessitates a heap allocation
I have been convinced that the encapsulation is worth it.
* It has set methods. There are no get methods yet. I'm not sure if they will
be needed.
* I think the freeing of backing buffers should be the user's responsibility.
There are destroy methods but they are just for implementation created
resources.
* Tests are included using GTest.
* LibEV was chosen as it provides a good c++ header so creating the underlying
rpc implementation will be OO.
* The CMake modules might need to be re-written.
I'll put this up on rb.
> Define C interface of HBase Client synchronous APIs
> ---------------------------------------------------
>
> Key: HBASE-9835
> URL: https://issues.apache.org/jira/browse/HBASE-9835
> Project: HBase
> Issue Type: Sub-task
> Components: Client
> Reporter: Aditya Kishore
> Assignee: Aditya Kishore
> Labels: C
> Attachments: HBASE-9835-0.patch
>
>
> Creating this as a sub task of HBASE-1015 to define Define C language
> interface of HBase Client synchronous APIs.
--
This message was sent by Atlassian JIRA
(v6.1#6144)