Loading Makefile +9 −7 Original line number Diff line number Diff line Loading @@ -98,17 +98,19 @@ makedirs: all: default json test system_tests test_internals run examples clean: makedirs update_git_submodules clean: makedirs rm -rf ./bin/*.a ./bin/*.so ./bin/kinetic-c-util $(DISCOVERY_UTIL_EXEC) rm -rf ./bin/**/* rm -f ./bin/*.* rm -f $(OUT_DIR)/*.o $(OUT_DIR)/*.a *.core *.log bundle exec rake clobber if rake --version > /dev/null 2>&1; then if bundle --version > /dev/null 2>&1; then bundle exec rake clobber; fi; fi cd ${SOCKET99} && make clean cd ${LIB_DIR}/threadpool && make clean cd ${LIB_DIR}/bus && make clean if [ -f ${JSONC}/Makefile ]; then cd ${JSONC} && make clean; fi; config: makedirs update_git_submodules update_git_submodules: git submodule update --init Loading Loading @@ -303,12 +305,12 @@ update_simulator: cp vendor/kinetic-java/kinetic-simulator/target/*.jar vendor/kinetic-java-simulator/ start_sims: ./vendor/kinetic-simulator/startSimulators.sh ./scripts/startSimulators.sh start_simulator: start_sims stop_sims: ./vendor/kinetic-simulator/stopSimulators.sh ./scripts/stopSimulators.sh stop_simulator: stop_sims Loading Loading @@ -434,9 +436,9 @@ run: $(UTIL_EXEC) exec $(UTIL_EXEC) --noop exec $(UTIL_EXEC) --put exec $(UTIL_EXEC) --get exec $(UTIL_EXEC) --getnext key "" exec $(UTIL_EXEC) --getprevious key "" exec $(UTIL_EXEC) --delete exec $(UTIL_EXEC) --getnext --key "" exec $(UTIL_EXEC) --getprevious --key "zzzzzzzzzzzzzzzzz" exec $(UTIL_EXEC) --delete --host 127.0.0.1 exec $(UTIL_EXEC) --getlog @echo @echo Test Utility integration tests w/ kinetic-c lib passed! Loading README.md +16 −10 Original line number Diff line number Diff line Loading @@ -24,12 +24,16 @@ Prerequisites * `> brew install openssl` * [json-c](https://github.com/json-c/json-c) for JSON-formatted ACL definition files * Installation * via package manager * Linux (using apt-get) * `> sudo apt-get install json-c` * Linux (using yum) * `> sudo yum install json-c` * OSX (using [Homebrew](http://brew.sh/)) * `> brew install openssl` * via Git submodule (from bundled source) * `> make json` * `> sudo make install_json` A release of OpenSSL that provides TLS 1.1 or newer is required. Loading @@ -44,25 +48,25 @@ Getting Started > git clone --recursive https://github.com/seagate/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 > make config # ensures all git submodules are up to date **Build and install static library** > make > sudo make install **Clean and uninstall old versions** **Clean and uninstall any old versions** > make clean > sudo make uninstall **Build example utility and run tests against Kinetic Device simulator** > make start_sims # starts bundled kinetic-java simulators for testing > make all # this is what Travis-CI build does does for regression testing API Documentation Loading Loading @@ -112,10 +116,12 @@ Usage Kinetic C Client I/O Examples ============================= * [`blocking_put_get`](src/examples/blocking_put_get.c) - Blocking put w/get. * [`blocking_put_delete`](src/examples/blocking_put_delete.c) - Blocking put w/delete. * [`put_nonblocking`](src/examples/put_nonblocking.c) - Single thread, single connection, nonblocking put operation. * [`get_nonblocking`](src/examples/get_nonblocking.c) - Single thread, single connection, nonblocking get operation. * [`get_key_range`](src/examples/get_key_range.c) - Query a range of keys from a device. * [`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. * [`get_key_range`](src/examples/get_key_range.c) - Query a range of keys from a device. RELEASE.md +18 −8 Original line number Diff line number Diff line v0.12.0 (kinetic-protocol 3.0.5) -------------------------------- * KineticSession is now supplied as an opaque instance pointer from KineticClient_CreateSession * Passed KineticClientConfig copied and can be discarded after session creation * Added new KineticAdminClient API (see include/kinetic_admin_client.h) * `KineticSession` is now supplied as an opaque instance pointer from `KineticClient_CreateSession` * Passed `KineticClientConfig` is now deep copied and can be discarded after session creation. * Updated `KineticClient_Put` to allow storing an object with an empty value with a NULL data pointer supplied. * Added new `KineticAdminClient` API (see `include/kinetic_admin_client.h`) * Reloacted existing admin methods to admin API * KineticClient_InstantSecureErase => KineticAdminClient_InstantErase/KineticAdminClient_SecureErase * KineticClient_GetLog => KineticAdminClient_GetLog * KineticClient_FreeDeviceInfo -> KineticAdminClient_LogInfo * Fixed potential memory leak when logging Protobufs. * `KineticClient_InstantSecureErase` => `KineticAdminClient_InstantErase`/`KineticAdminClient_SecureErase` * `KineticClient_GetLog` => `KineticAdminClient_GetLog` * `KineticClient_FreeDeviceInfo` => `KineticAdminClient_LogInfo` * Updated `kinetic-c-util` to support new Admin API. Still need to add support for printing info returned from `KineticAdminClient_GetLog` * Changed `kinetic-c-util` API to use `getopt_long` for operations in addition to parameters and added usage info via `--help`/`-?` option. * Fixed potential memory leak when logging protocol buffers. * Fixed potential imbalance in concurrent operations semaphore. * Status code changes * Changed Loading @@ -22,7 +25,14 @@ v0.12.0 (kinetic-protocol 3.0.5) v0.11.2 (kinetic-protocol 3.0.5) -------------------------------- * Changed all threads to be block indefinitely and be fully event-driven. * Changed all threads to block indefinitely and be fully event-driven. * Added logging of all assertions to provide debugging info in the absence of debug symbols. * Fixed race condition in message bus listener which could lead to data corruption. * Fixed race condition that could cause more than the max number of thread pool threads to be created. * Fixed potential buffer overrun in logger. * Fixed bug with mishandling of unsolicited status responses from the drive prior to drive terminating connection. * Removed ruby/rake as non-development build prerequisites. * Added make json, json_install and json_uninstall tasks for json-c. v0.11.1 (kinetic-protocol 3.0.5) -------------------------------- Loading cleanhouse.diffdeleted 100644 → 0 +0 −2582 File deleted.Preview size limit exceeded, changes collapsed. Show changes config/Doxyfile +4 −4 Original line number Diff line number Diff line Loading @@ -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.11.2-beta" PROJECT_NUMBER = "v0.12.0-beta" # 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 Loading Loading @@ -415,7 +415,7 @@ EXTRACT_ALL = YES # be included in the documentation. # The default value is: NO. EXTRACT_PRIVATE = NO EXTRACT_PRIVATE = YES # If the EXTRACT_PACKAGE tag is set to YES all members with package or internal # scope will be included in the documentation. Loading @@ -427,7 +427,7 @@ EXTRACT_PACKAGE = NO # included in the documentation. # The default value is: NO. EXTRACT_STATIC = NO EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined # locally in source files will be included in the documentation. If set to NO Loading @@ -443,7 +443,7 @@ EXTRACT_LOCAL_CLASSES = NO # included. # The default value is: NO. EXTRACT_LOCAL_METHODS = NO EXTRACT_LOCAL_METHODS = YES # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called Loading Loading
Makefile +9 −7 Original line number Diff line number Diff line Loading @@ -98,17 +98,19 @@ makedirs: all: default json test system_tests test_internals run examples clean: makedirs update_git_submodules clean: makedirs rm -rf ./bin/*.a ./bin/*.so ./bin/kinetic-c-util $(DISCOVERY_UTIL_EXEC) rm -rf ./bin/**/* rm -f ./bin/*.* rm -f $(OUT_DIR)/*.o $(OUT_DIR)/*.a *.core *.log bundle exec rake clobber if rake --version > /dev/null 2>&1; then if bundle --version > /dev/null 2>&1; then bundle exec rake clobber; fi; fi cd ${SOCKET99} && make clean cd ${LIB_DIR}/threadpool && make clean cd ${LIB_DIR}/bus && make clean if [ -f ${JSONC}/Makefile ]; then cd ${JSONC} && make clean; fi; config: makedirs update_git_submodules update_git_submodules: git submodule update --init Loading Loading @@ -303,12 +305,12 @@ update_simulator: cp vendor/kinetic-java/kinetic-simulator/target/*.jar vendor/kinetic-java-simulator/ start_sims: ./vendor/kinetic-simulator/startSimulators.sh ./scripts/startSimulators.sh start_simulator: start_sims stop_sims: ./vendor/kinetic-simulator/stopSimulators.sh ./scripts/stopSimulators.sh stop_simulator: stop_sims Loading Loading @@ -434,9 +436,9 @@ run: $(UTIL_EXEC) exec $(UTIL_EXEC) --noop exec $(UTIL_EXEC) --put exec $(UTIL_EXEC) --get exec $(UTIL_EXEC) --getnext key "" exec $(UTIL_EXEC) --getprevious key "" exec $(UTIL_EXEC) --delete exec $(UTIL_EXEC) --getnext --key "" exec $(UTIL_EXEC) --getprevious --key "zzzzzzzzzzzzzzzzz" exec $(UTIL_EXEC) --delete --host 127.0.0.1 exec $(UTIL_EXEC) --getlog @echo @echo Test Utility integration tests w/ kinetic-c lib passed! Loading
README.md +16 −10 Original line number Diff line number Diff line Loading @@ -24,12 +24,16 @@ Prerequisites * `> brew install openssl` * [json-c](https://github.com/json-c/json-c) for JSON-formatted ACL definition files * Installation * via package manager * Linux (using apt-get) * `> sudo apt-get install json-c` * Linux (using yum) * `> sudo yum install json-c` * OSX (using [Homebrew](http://brew.sh/)) * `> brew install openssl` * via Git submodule (from bundled source) * `> make json` * `> sudo make install_json` A release of OpenSSL that provides TLS 1.1 or newer is required. Loading @@ -44,25 +48,25 @@ Getting Started > git clone --recursive https://github.com/seagate/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 > make config # ensures all git submodules are up to date **Build and install static library** > make > sudo make install **Clean and uninstall old versions** **Clean and uninstall any old versions** > make clean > sudo make uninstall **Build example utility and run tests against Kinetic Device simulator** > make start_sims # starts bundled kinetic-java simulators for testing > make all # this is what Travis-CI build does does for regression testing API Documentation Loading Loading @@ -112,10 +116,12 @@ Usage Kinetic C Client I/O Examples ============================= * [`blocking_put_get`](src/examples/blocking_put_get.c) - Blocking put w/get. * [`blocking_put_delete`](src/examples/blocking_put_delete.c) - Blocking put w/delete. * [`put_nonblocking`](src/examples/put_nonblocking.c) - Single thread, single connection, nonblocking put operation. * [`get_nonblocking`](src/examples/get_nonblocking.c) - Single thread, single connection, nonblocking get operation. * [`get_key_range`](src/examples/get_key_range.c) - Query a range of keys from a device. * [`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. * [`get_key_range`](src/examples/get_key_range.c) - Query a range of keys from a device.
RELEASE.md +18 −8 Original line number Diff line number Diff line v0.12.0 (kinetic-protocol 3.0.5) -------------------------------- * KineticSession is now supplied as an opaque instance pointer from KineticClient_CreateSession * Passed KineticClientConfig copied and can be discarded after session creation * Added new KineticAdminClient API (see include/kinetic_admin_client.h) * `KineticSession` is now supplied as an opaque instance pointer from `KineticClient_CreateSession` * Passed `KineticClientConfig` is now deep copied and can be discarded after session creation. * Updated `KineticClient_Put` to allow storing an object with an empty value with a NULL data pointer supplied. * Added new `KineticAdminClient` API (see `include/kinetic_admin_client.h`) * Reloacted existing admin methods to admin API * KineticClient_InstantSecureErase => KineticAdminClient_InstantErase/KineticAdminClient_SecureErase * KineticClient_GetLog => KineticAdminClient_GetLog * KineticClient_FreeDeviceInfo -> KineticAdminClient_LogInfo * Fixed potential memory leak when logging Protobufs. * `KineticClient_InstantSecureErase` => `KineticAdminClient_InstantErase`/`KineticAdminClient_SecureErase` * `KineticClient_GetLog` => `KineticAdminClient_GetLog` * `KineticClient_FreeDeviceInfo` => `KineticAdminClient_LogInfo` * Updated `kinetic-c-util` to support new Admin API. Still need to add support for printing info returned from `KineticAdminClient_GetLog` * Changed `kinetic-c-util` API to use `getopt_long` for operations in addition to parameters and added usage info via `--help`/`-?` option. * Fixed potential memory leak when logging protocol buffers. * Fixed potential imbalance in concurrent operations semaphore. * Status code changes * Changed Loading @@ -22,7 +25,14 @@ v0.12.0 (kinetic-protocol 3.0.5) v0.11.2 (kinetic-protocol 3.0.5) -------------------------------- * Changed all threads to be block indefinitely and be fully event-driven. * Changed all threads to block indefinitely and be fully event-driven. * Added logging of all assertions to provide debugging info in the absence of debug symbols. * Fixed race condition in message bus listener which could lead to data corruption. * Fixed race condition that could cause more than the max number of thread pool threads to be created. * Fixed potential buffer overrun in logger. * Fixed bug with mishandling of unsolicited status responses from the drive prior to drive terminating connection. * Removed ruby/rake as non-development build prerequisites. * Added make json, json_install and json_uninstall tasks for json-c. v0.11.1 (kinetic-protocol 3.0.5) -------------------------------- Loading
cleanhouse.diffdeleted 100644 → 0 +0 −2582 File deleted.Preview size limit exceeded, changes collapsed. Show changes
config/Doxyfile +4 −4 Original line number Diff line number Diff line Loading @@ -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.11.2-beta" PROJECT_NUMBER = "v0.12.0-beta" # 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 Loading Loading @@ -415,7 +415,7 @@ EXTRACT_ALL = YES # be included in the documentation. # The default value is: NO. EXTRACT_PRIVATE = NO EXTRACT_PRIVATE = YES # If the EXTRACT_PACKAGE tag is set to YES all members with package or internal # scope will be included in the documentation. Loading @@ -427,7 +427,7 @@ EXTRACT_PACKAGE = NO # included in the documentation. # The default value is: NO. EXTRACT_STATIC = NO EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined # locally in source files will be included in the documentation. If set to NO Loading @@ -443,7 +443,7 @@ EXTRACT_LOCAL_CLASSES = NO # included. # The default value is: NO. EXTRACT_LOCAL_METHODS = NO EXTRACT_LOCAL_METHODS = YES # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called Loading