hbase/hbase-native-client
eclark b8fd792f83 HBASE-10302 Fix rat check issues in hbase-native-client.
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1556936 13f79535-47bb-0310-9956-ffa450edef68
2014-01-09 20:16:55 +00:00
..
bin HBASE-9977 Define C interface of HBase Client Asynchronous APIs 2014-01-03 22:52:41 +00:00
cmake_modules HBASE-10302 Fix rat check issues in hbase-native-client. 2014-01-09 20:16:55 +00:00
src HBASE-10302 Fix rat check issues in hbase-native-client. 2014-01-09 20:16:55 +00:00
.gitignore HBASE-9977 Define C interface of HBase Client Asynchronous APIs 2014-01-03 22:52:41 +00:00
CMakeLists.txt HBASE-9977 Define C interface of HBase Client Asynchronous APIs 2014-01-03 22:52:41 +00:00
README.md HBASE-9977 Define C interface of HBase Client Asynchronous APIs 2014-01-03 22:52:41 +00:00

README.md

hbase-native-client

Native client for HBase 0.96

This is a C library that implements a HBase client. It's thread safe and libEv based.

Design Philosphy

Synchronous and Async versions will both be built on the same foundation. The core foundation will be C++. External users wanting a C library will have to choose either async or sync. These libraries will be thin veneers ontop of the C++.

We should try and follow pthreads example as much as possible:

  • Consistent naming.
  • Opaque pointers as types so that binary compat is easy.
  • Simple setup when the defaults are good.
  • Attr structs when lots of paramters could be needed.

Naming

All public C files will start with hbase_*.{h, cc}. This is to keep naming conflicts to a minimum. Anything without the hbase_ prefix is assumed to be implementation private.

All C apis and typedefs will be prefixed with hb_.

All typedefs end with _t.