Commit 35f1095f authored by Greg Williams's avatar Greg Williams
Browse files

Fixed unstable connection initilization via introducing kinetic_resourcewaiter...

Fixed unstable connection initilization via introducing kinetic_resourcewaiter to ensure connection ID is properly initialized and added better cleanup upon errors establishing a connection.
parent d6030fb7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@
bin/
obj/
build/
docs/api

# Eclipse temp files
.metadata/
+2 −1
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ LIB_OBJS = \
	$(OUT_DIR)/kinetic_memory.o \
	$(OUT_DIR)/kinetic_semaphore.o \
	$(OUT_DIR)/kinetic_countingsemaphore.o \
	$(OUT_DIR)/kinetic_resourcewaiter.o \
	$(OUT_DIR)/byte_array.o \
	$(OUT_DIR)/kinetic_client.o \
	$(OUT_DIR)/threadpool.o \
@@ -104,7 +105,7 @@ clean: makedirs update_git_submodules
	cd ${SOCKET99} && make clean
	cd ${LIB_DIR}/threadpool && make clean
	cd ${LIB_DIR}/bus && make clean
	cd ${JSONC} && make clean
	# cd ${JSONC} && make clean --- make clean task does NOT exist

update_git_submodules:
	git submodule update --init
+2 −0
Original line number Diff line number Diff line
@@ -65,6 +65,8 @@ 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.

**NOTE: Configuration structures `KineticClientConfig` and `KineticSessionConfig` should be initialized per C99 struct initialization or memset to 0 prior to use in order to ensure backwards compatibility!**

Client Test Utility
===========================

+3 −0
Original line number Diff line number Diff line
v0.11.0 (kinetic-protocol 3.0.5)
--------------------------------
* Changed API to use a `KineticClientConfig` struct, to keep future configuration changes from breaking the source API.
    * NOTE: KineticClientConfig and KineticSessionConfig rely on C99 struct init.
        * Unconfigured fields will be reverted to defaults if set to 0.
        * These structures must be configured via C99 struct init or memset to 0 prior to population for backwards compatibility.
* Added options for the number of writer, reader, and max threadpool threads, with defaults.
* Added KineticClient_FreeDeviceInfo to free the `KineticDeviceInfo` structure allocated by `KineticClient_GetLog`.
* Added several new examples under src/examples/.
+5 −3
Original line number Diff line number Diff line
@@ -49,12 +49,17 @@ BUILD_ARTIFACTS = File.join(HERE, 'build', 'artifacts', 'release')
TEST_ARTIFACTS = File.join(HERE, 'build', 'artifacts', 'test')
PROTO_OUT = TEST_ARTIFACTS
TEST_TEMP = File.join(HERE, 'build', 'test', 'temp')
DOCS_PATH = File.join(HERE, 'docs/api')

directory DOCS_PATH
CLOBBER.include DOCS_PATH
directory PROTO_OUT
CLOBBER.include PROTO_OUT
directory TEST_TEMP
CLOBBER.include TEST_TEMP

task :clobber

task :test => ['test:delta']

desc "Generate protocol buffers"
@@ -92,9 +97,6 @@ end

namespace :doxygen do

  DOCS_PATH = "./docs/api/"
  directory DOCS_PATH
  CLOBBER.include DOCS_PATH
  VERSION = File.read('./config/VERSION').strip

  task :checkout_github_pages => ['clobber', DOCS_PATH] do
Loading