Coder Social home page Coder Social logo

kinetic-c's Introduction

Build Status Kinetic C Client Library

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-client-utility), 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.

Prerequisites

  • 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

Getting Started

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 > git submodule update --init # Ensure submodules are up to date > bundle install # Ensure you have all RubyGems at the proper versions Build and install static library > make > sudo make install Clean and uninstall old versions > make clean > sudo uninstall Build example utility and run tests against Kinetic Device simulator > make all # this is what Travis-CI build does to ensure it all keeps working

API Documentation

Kinetic-C API Documentation (generated with Doxygen)

Example Client/Test Utility

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.

In order to execute a given example, after building it, you must first do:

> cd bin

You can then execute kinetic-c-client-util with a valid example name, optionally preceeded with any of the optional arguments.

Options

  • --host [HostName/IP] or -h [HostName/IP] - Set the Kinetic Device host
  • --tls - Use the TLS port to execute the specified operation(s)

Operations

  • kinetic-c-client [--host|-h hostname|123.253.253.23] noop put get
    • kinetic-c-client-util noop
      • Execute a NoOp (ping) operation to verify the Kinetic Device is ready
    • kinetic-c-client-util put
      • Execute a Put operation to store a key/value entry
    • kinetic-c-client-util get
      • Execute a Get operation to retrieve a key/value entry
    • kinetic-c-client-util delete
      • Execute a Delete operation to destroy a key/value entry

kinetic-c's People

Contributors

barneywilliams avatar mshafiq avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.