hbase/hbase-native-client
Sean Busbey 9091409800 HBASE-14087 Ensure correct ASF headers for docs/code
* adds missing headers
* corrects some old-form headers to current
* restores proper header for guava copied LimitInputStream
* adds proper header for protobuf copied read/writeRawVarint

Conflicts:
	bin/considerAsDead.sh
	dev-support/rebase_all_git_branches.sh
2015-07-31 11:22:50 -07:00
..
bin HBASE-9977 Define C interface of HBase Client Asynchronous APIs 2014-01-03 22:52:41 +00:00
cmake_modules HBASE-14087 Ensure correct ASF headers for docs/code 2015-07-31 11:22:50 -07:00
src HBASE-14087 Ensure correct ASF headers for docs/code 2015-07-31 11:22:50 -07:00
.gitignore HBASE-9977 Define C interface of HBase Client Asynchronous APIs 2014-01-03 22:52:41 +00:00
CMakeLists.txt HBASE-14087 Ensure correct ASF headers for docs/code 2015-07-31 11:22:50 -07:00
README.md HBASE-14087 Ensure correct ASF headers for docs/code 2015-07-31 11:22:50 -07: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.