The Github kinetic-c Git repository contains code for producing Kinetic C clients for interacting with Kinetic storage object-based storage. The library uses the cross-platform Seagate Kinetic protocol for standardizing interaces between the Java simulator and Kinetic Device storage clusters.
Code examples are included for reference as part of the kinetic-c client library test utility (kinetic-c-util
), which builds and links against the installed kinetic-c-client
static library.
The project Makefile can be used as a reference for developing a Makefile-based project for building for a custom Kinetic Storage C client driver and/or a high-level C library.
- Open SSL for security and encryption
- Installation (if you don't already have OpenSSL installed)
- Linux (using apt-get)
> sudo apt-get install openssl
- OSX (using Homebrew)
> brew install openssl
- Linux (using apt-get)
- Installation (if you don't already have OpenSSL installed)
Clone the repo
> git clone --recursive https://github.com/atomicobject/kinetic-c.git
> cd kinetic-c
> bundle install # ensure you have all RubyGems at the proper versions
Update to the latest version (previously cloned)
> git pull
> make clean
Build and install static library
> make
> sudo make install
Clean and uninstall old versions
> make clean
> sudo make uninstall
Build example utility and run tests against Kinetic Device simulator
> make all # this is what Travis-CI build does does for regression testing
Kinetic-C API Documentation (generated with Doxygen)
- Kinetic-C API
- Kinetic-C types
- ByteArray API
- The ByteArray and ByteBuffer types are used for exchanging variable length byte-arrays with kinetic-c
- e.g. object keys, object value data, etc.
- The ByteArray and ByteBuffer types are used for exchanging variable length byte-arrays with kinetic-c
Code examples are included for reference as part of a test utility. The source code for the utility is used to build both a static and dynamically linked verion of the kinetic-c-client library.
- 'kinetic-c-util' builds/links against installed Kinetic C static library (.a)
- 'kinetic-c-util.x.y.z' builds/links against installed Kinetic C dynamic library (.so)
The project Makefile can be used as a reference for developing a Makefile for building for a new custom Kinetic C client.
--host [HostName/IP]
or-h [HostName/IP]
- Set the Kinetic Device host
kinetic-c-util [--host|-h hostname|123.253.253.23] [noop] [put] [get] [delete]
./bin/kinetic-c-util noop
- Execute a NoOp (ping) operation to verify the Kinetic Device is ready
./bin/kinetic-c-util put
- Execute a Put operation to store a key/value entry
./bin/kinetic-c-util get
- Execute a Get operation to retrieve a key/value entry
./bin/kinetic-c-util delete
- Execute a Delete operation to destroy a key/value entry