Commit 9b21b557 authored by Job Vranish's avatar Job Vranish
Browse files

Merge branch 'develop' of github.com:Seagate/kinetic-c into develop

parents fb9f8144 c7b96533
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -3,9 +3,9 @@ Kinetic C Client Library
========================
The [Github kinetic-c Git repository](https://github.com/Seagate/kinetic-c) 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](https://github.com/Seagate/kinetic-c/tree/master/src/utility/examples) are included for reference as part of the [kinetic-c client library test utility (`kinetic-c-util`)](https://github.com/Seagate/kinetic-c/tree/master/src/utility), which builds and links against the installed `kinetic-c-client` static library.
Reference code is included as part of the [kinetic-c client library test utility (`kinetic-c-util`)](src/utility), which builds and links against the installed `kinetic-c-client` static library. [Additional examples](src/examples) are included for the various types of I/O operations (e.g. blocking/non-blocking, single/multi-threaded). See below for more details.

The [project Makefile](https://github.com/Seagate/kinetic-c/blob/master/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.
The [project Makefile](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.

Kinetic Protocol Support
------------------------
@@ -59,7 +59,7 @@ API Documentation
    * The ByteArray and ByteBuffer types are used for exchanging variable length byte-arrays with kinetic-c
        * e.g. object keys, object value data, etc.

Example Client/Test Utility
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.
@@ -88,3 +88,11 @@ Operations
        * Execute a Delete operation to destroy a key/value entry
    * `./bin/kinetic-c-util instanterase`
        * Execute an InstantSecureErase operation to erase ALL content from the device

Kinetic C Client I/O Examples
=============================

* [`write_file_blocking`](src/examples/write_file_blocking.c) - Single thread, single connection, blocking operation.
* [`write_file_blocking_threads`](src/examples/write_file_blocking_threads.c) - Multiple threads, single connection, blocking operations.
* [`write_file_nonblocking`](src/examples/write_file_nonblocking.c) - Single thread, single connection, multiple non-blocking operations
* [`write_file_blocking_threads`](src/examples/write_file_blocking_threads.c) - Multiple threads, single connection, multiple non-blocking operations.
+4 −0
Original line number Diff line number Diff line
@@ -31,3 +31,7 @@ v0.8.1
* Still using Kinetic Protocol v3.0 (3.0.5)
    * NOT backwards compatible with earlier versions of Kinetic Protocol (< v3.0)
    * Kinetic device firmware must be updated to a release supporting v3.0 protocol!

v0.8.2
------
* Added FLUSHALLDATA operation.
+1 −1
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ PROJECT_NAME = kinetic-c
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER           = "v0.8.1-beta"
PROJECT_NUMBER           = "v0.8.1"

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
+1 −1
Original line number Diff line number Diff line
0.8.1-beta
0.8.2
+13 −0
Original line number Diff line number Diff line
@@ -88,6 +88,19 @@ KineticStatus KineticClient_Put(KineticSessionHandle handle,
                                KineticEntry* const entry,
                                KineticCompletionClosure* closure);

/**
 * @brief Executes a FLUSHALLDATA command to flush pending PUTs or DELETEs.
 *
 * @param handle        KineticSessionHandle for a connected session.
 * @param closure       Optional closure. If specified, operation will be
 *                      executed in asynchronous mode, and closure callback
 *                      will be called upon completion.
 *                      
 * @return              Returns the resulting KineticStatus
 */
KineticStatus KineticClient_Flush(KineticSessionHandle handle,
                                  KineticCompletionClosure* closure);

/**
 * @brief Executes a GET command to retrieve and entry from the Kinetic Device.
 *
Loading