[ 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)