Loading .gitmodules +3 −0 Original line number Diff line number Diff line Loading @@ -16,3 +16,6 @@ [submodule "vendor/FlameGraph"] path = vendor/FlameGraph url = https://github.com/brendangregg/FlameGraph.git [submodule "vendor/json-c"] path = vendor/json-c url = https://github.com/json-c/json-c Makefile +50 −4 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ SESSION_PIN ?= \"1234\" WARN = -Wall -Wextra -Werror -Wstrict-prototypes -Wcast-align -pedantic -Wno-missing-field-initializers -Werror=strict-prototypes CDEFS += -D_POSIX_C_SOURCE=199309L -D_C99_SOURCE=1 -DSYSTEM_TEST_HOST=${SYSTEM_TEST_HOST} CFLAGS += -std=c99 -fPIC -g $(WARN) $(CDEFS) $(OPTIMIZE) LDFLAGS += -lm -L${OPENSSL_PATH}/lib -lcrypto -lssl -lpthread LDFLAGS += -lm -L${OPENSSL_PATH}/lib -lcrypto -lssl -lpthread -ljson-c #=============================================================================== # Kinetic-C Library Build Support Loading @@ -38,6 +38,7 @@ LIB_DIR = ./src/lib VENDOR = ./vendor PROTOBUFC = $(VENDOR)/protobuf-c SOCKET99 = $(VENDOR)/socket99 JSONC = $(VENDOR)/json-c VERSION_FILE = ./config/VERSION VERSION = ${shell head -n1 $(VERSION_FILE)} THREADPOOL_PATH = ${LIB_DIR}/threadpool Loading @@ -46,7 +47,7 @@ BUS_PATH = ${LIB_DIR}/bus KINETIC_LIB_NAME = $(PROJECT).$(VERSION) KINETIC_LIB = $(BIN_DIR)/lib$(KINETIC_LIB_NAME).a LIB_INCS = -I$(LIB_DIR) -I$(PUB_INC) -I$(PROTOBUFC) -I$(SOCKET99) -I$(VENDOR) \ -I$(THREADPOOL_PATH) -I$(BUS_PATH) -I${OPENSSL_PATH}/include -I$(JSONC) -I$(THREADPOOL_PATH) -I$(BUS_PATH) -I${OPENSSL_PATH}/include C_SRC=${LIB_DIR}/*.[ch] $(SOCKET99)/socket99.[ch] $(PROTOBUFC)/protobuf-c/protobuf-c.[ch] Loading Loading @@ -98,15 +99,15 @@ makedirs: all: default test system_tests test_internals run examples clean: makedirs update_git_submodules rm -rf ./bin/*.a ./bin/*.so ./bin/kinetic-c-util 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 -./vendor/kinetic-simulator/stopSimulator.sh &> /dev/null; cd ${SOCKET99} && make clean cd ${LIB_DIR}/threadpool && make clean cd ${LIB_DIR}/bus && make clean # cd ${JSONC} && make clean -- would be nice, but doesn't have clean task :( update_git_submodules: git submodule update --init Loading Loading @@ -155,6 +156,24 @@ ci: uninstall stop_simulator start_simulator all stop_simulator install uninstal @echo #------------------------------------------------------------------------------- # json-c #------------------------------------------------------------------------------- json: ${OUT_DIR}/libjson-c.a ${JSONC}/Makefile: cd ${JSONC} && \ sh autogen.sh && \ ./configure ${JSONC}/.libs/libjson-c.a: ${JSONC}/Makefile cd ${JSONC} && \ make libjson-c.la ${OUT_DIR}/libjson-c.a: ${JSONC}/.libs/libjson-c.a cp ${JSONC}/.libs/libjson-c.a ${OUT_DIR}/libjson-c.a #------------------------------------------------------------------------------- # Test Support #------------------------------------------------------------------------------- Loading Loading @@ -393,6 +412,33 @@ utility: $(UTIL_EXEC) build: $(KINETIC_LIB) $(KINETIC_SO_DEV) utility #=============================================================================== # Service Discovery Utility Build Support #=============================================================================== DISCOVERY_UTILITY = kinetic-c-discovery DISCOVERY_UTIL_DIR = $(UTIL_DIR) DISCOVERY_UTIL_EXEC = $(BIN_DIR)/$(DISCOVERY_UTILITY) DISCOVERY_UTIL_OBJ = $(OUT_DIR)/discovery.o $(OUT_DIR)/socket99.o DISCOVERY_UTIL_LDFLAGS += -lm -lssl $(KINETIC_LIB) -L${OUT_DIR} -lcrypto -lpthread -ljson-c $(OUT_DIR)/discovery.o: $(DISCOVERY_UTIL_DIR)/discovery.c $(CC) -c -o $@ $< $(CFLAGS) -I$(PUB_INC) -I$(DISCOVERY_UTIL_DIR) $(LIB_INCS) $(DISCOVERY_UTIL_EXEC): $(DISCOVERY_UTIL_OBJ) $(KINETIC_LIB) json @echo @echo -------------------------------------------------------------------------------- @echo Building service discovery utility: $(DISCOVERY_UTIL_EXEC) @echo -------------------------------------------------------------------------------- $(CC) -o $@ $(DISCOVERY_UTIL_OBJ) $(CFLAGS) $(DISCOVERY_UTIL_LDFLAGS) $(KINETIC_LIB) discovery_utility: $(DISCOVERY_UTIL_EXEC) build: discovery_utility #------------------------------------------------------------------------------- # Support for Simulator and Exection of Test Utility #------------------------------------------------------------------------------- Loading src/lib/bus/bus.c +1 −1 Original line number Diff line number Diff line Loading @@ -323,7 +323,7 @@ bool bus_send_request(struct bus *b, bus_user_msg *msg) int s_id = sender_id_of_socket(b, msg->fd); struct sender *s = b->senders[s_id]; BUS_LOG_SNPRINTF(b, 3-3, LOG_SENDING_REQUEST, b->udata, 64, BUS_LOG_SNPRINTF(b, 3-0, LOG_SENDING_REQUEST, b->udata, 64, "Sending request <fd:%d, seq_id:%lld>", msg->fd, (long long)msg->seq_id); bool res = sender_send_request(s, box); BUS_LOG_SNPRINTF(b, 3, LOG_SENDING_REQUEST, b->udata, 64, Loading src/lib/bus/listener.c +1 −1 Original line number Diff line number Diff line Loading @@ -898,7 +898,7 @@ static void release_rx_info(struct listener *l, rx_info_t *info) { * but the listener never got the handler callback. */ BUS_LOG_SNPRINTF(b, 0, LOG_LISTENER, b->udata, 128, "LEAKING RESULT %p", (void *)&info->u.hold.result); assert(false); //assert(false); } break; case RIS_EXPECT: Loading src/lib/kinetic_client.c +6 −1 Original line number Diff line number Diff line Loading @@ -159,6 +159,9 @@ KineticStatus KineticClient_Put(KineticSession const * const session, assert(entry != NULL); assert(entry->value.array.data != NULL); assert(session->connection->pSession == session); assert(session->connection == session->connection->pSession->connection); KineticOperation* operation = KineticOperation_Create(session); if (operation == NULL) {return KINETIC_STATUS_MEMORY_ERROR;} Loading @@ -166,7 +169,9 @@ KineticStatus KineticClient_Put(KineticSession const * const session, KineticOperation_BuildPut(operation, entry); // Execute the operation return KineticController_ExecuteOperation(operation, closure); assert(operation->connection == session->connection); KineticStatus res = KineticController_ExecuteOperation(operation, closure); return res; } KineticStatus KineticClient_Flush(KineticSession const * const session, Loading Loading
.gitmodules +3 −0 Original line number Diff line number Diff line Loading @@ -16,3 +16,6 @@ [submodule "vendor/FlameGraph"] path = vendor/FlameGraph url = https://github.com/brendangregg/FlameGraph.git [submodule "vendor/json-c"] path = vendor/json-c url = https://github.com/json-c/json-c
Makefile +50 −4 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ SESSION_PIN ?= \"1234\" WARN = -Wall -Wextra -Werror -Wstrict-prototypes -Wcast-align -pedantic -Wno-missing-field-initializers -Werror=strict-prototypes CDEFS += -D_POSIX_C_SOURCE=199309L -D_C99_SOURCE=1 -DSYSTEM_TEST_HOST=${SYSTEM_TEST_HOST} CFLAGS += -std=c99 -fPIC -g $(WARN) $(CDEFS) $(OPTIMIZE) LDFLAGS += -lm -L${OPENSSL_PATH}/lib -lcrypto -lssl -lpthread LDFLAGS += -lm -L${OPENSSL_PATH}/lib -lcrypto -lssl -lpthread -ljson-c #=============================================================================== # Kinetic-C Library Build Support Loading @@ -38,6 +38,7 @@ LIB_DIR = ./src/lib VENDOR = ./vendor PROTOBUFC = $(VENDOR)/protobuf-c SOCKET99 = $(VENDOR)/socket99 JSONC = $(VENDOR)/json-c VERSION_FILE = ./config/VERSION VERSION = ${shell head -n1 $(VERSION_FILE)} THREADPOOL_PATH = ${LIB_DIR}/threadpool Loading @@ -46,7 +47,7 @@ BUS_PATH = ${LIB_DIR}/bus KINETIC_LIB_NAME = $(PROJECT).$(VERSION) KINETIC_LIB = $(BIN_DIR)/lib$(KINETIC_LIB_NAME).a LIB_INCS = -I$(LIB_DIR) -I$(PUB_INC) -I$(PROTOBUFC) -I$(SOCKET99) -I$(VENDOR) \ -I$(THREADPOOL_PATH) -I$(BUS_PATH) -I${OPENSSL_PATH}/include -I$(JSONC) -I$(THREADPOOL_PATH) -I$(BUS_PATH) -I${OPENSSL_PATH}/include C_SRC=${LIB_DIR}/*.[ch] $(SOCKET99)/socket99.[ch] $(PROTOBUFC)/protobuf-c/protobuf-c.[ch] Loading Loading @@ -98,15 +99,15 @@ makedirs: all: default test system_tests test_internals run examples clean: makedirs update_git_submodules rm -rf ./bin/*.a ./bin/*.so ./bin/kinetic-c-util 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 -./vendor/kinetic-simulator/stopSimulator.sh &> /dev/null; cd ${SOCKET99} && make clean cd ${LIB_DIR}/threadpool && make clean cd ${LIB_DIR}/bus && make clean # cd ${JSONC} && make clean -- would be nice, but doesn't have clean task :( update_git_submodules: git submodule update --init Loading Loading @@ -155,6 +156,24 @@ ci: uninstall stop_simulator start_simulator all stop_simulator install uninstal @echo #------------------------------------------------------------------------------- # json-c #------------------------------------------------------------------------------- json: ${OUT_DIR}/libjson-c.a ${JSONC}/Makefile: cd ${JSONC} && \ sh autogen.sh && \ ./configure ${JSONC}/.libs/libjson-c.a: ${JSONC}/Makefile cd ${JSONC} && \ make libjson-c.la ${OUT_DIR}/libjson-c.a: ${JSONC}/.libs/libjson-c.a cp ${JSONC}/.libs/libjson-c.a ${OUT_DIR}/libjson-c.a #------------------------------------------------------------------------------- # Test Support #------------------------------------------------------------------------------- Loading Loading @@ -393,6 +412,33 @@ utility: $(UTIL_EXEC) build: $(KINETIC_LIB) $(KINETIC_SO_DEV) utility #=============================================================================== # Service Discovery Utility Build Support #=============================================================================== DISCOVERY_UTILITY = kinetic-c-discovery DISCOVERY_UTIL_DIR = $(UTIL_DIR) DISCOVERY_UTIL_EXEC = $(BIN_DIR)/$(DISCOVERY_UTILITY) DISCOVERY_UTIL_OBJ = $(OUT_DIR)/discovery.o $(OUT_DIR)/socket99.o DISCOVERY_UTIL_LDFLAGS += -lm -lssl $(KINETIC_LIB) -L${OUT_DIR} -lcrypto -lpthread -ljson-c $(OUT_DIR)/discovery.o: $(DISCOVERY_UTIL_DIR)/discovery.c $(CC) -c -o $@ $< $(CFLAGS) -I$(PUB_INC) -I$(DISCOVERY_UTIL_DIR) $(LIB_INCS) $(DISCOVERY_UTIL_EXEC): $(DISCOVERY_UTIL_OBJ) $(KINETIC_LIB) json @echo @echo -------------------------------------------------------------------------------- @echo Building service discovery utility: $(DISCOVERY_UTIL_EXEC) @echo -------------------------------------------------------------------------------- $(CC) -o $@ $(DISCOVERY_UTIL_OBJ) $(CFLAGS) $(DISCOVERY_UTIL_LDFLAGS) $(KINETIC_LIB) discovery_utility: $(DISCOVERY_UTIL_EXEC) build: discovery_utility #------------------------------------------------------------------------------- # Support for Simulator and Exection of Test Utility #------------------------------------------------------------------------------- Loading
src/lib/bus/bus.c +1 −1 Original line number Diff line number Diff line Loading @@ -323,7 +323,7 @@ bool bus_send_request(struct bus *b, bus_user_msg *msg) int s_id = sender_id_of_socket(b, msg->fd); struct sender *s = b->senders[s_id]; BUS_LOG_SNPRINTF(b, 3-3, LOG_SENDING_REQUEST, b->udata, 64, BUS_LOG_SNPRINTF(b, 3-0, LOG_SENDING_REQUEST, b->udata, 64, "Sending request <fd:%d, seq_id:%lld>", msg->fd, (long long)msg->seq_id); bool res = sender_send_request(s, box); BUS_LOG_SNPRINTF(b, 3, LOG_SENDING_REQUEST, b->udata, 64, Loading
src/lib/bus/listener.c +1 −1 Original line number Diff line number Diff line Loading @@ -898,7 +898,7 @@ static void release_rx_info(struct listener *l, rx_info_t *info) { * but the listener never got the handler callback. */ BUS_LOG_SNPRINTF(b, 0, LOG_LISTENER, b->udata, 128, "LEAKING RESULT %p", (void *)&info->u.hold.result); assert(false); //assert(false); } break; case RIS_EXPECT: Loading
src/lib/kinetic_client.c +6 −1 Original line number Diff line number Diff line Loading @@ -159,6 +159,9 @@ KineticStatus KineticClient_Put(KineticSession const * const session, assert(entry != NULL); assert(entry->value.array.data != NULL); assert(session->connection->pSession == session); assert(session->connection == session->connection->pSession->connection); KineticOperation* operation = KineticOperation_Create(session); if (operation == NULL) {return KINETIC_STATUS_MEMORY_ERROR;} Loading @@ -166,7 +169,9 @@ KineticStatus KineticClient_Put(KineticSession const * const session, KineticOperation_BuildPut(operation, entry); // Execute the operation return KineticController_ExecuteOperation(operation, closure); assert(operation->connection == session->connection); KineticStatus res = KineticController_ExecuteOperation(operation, closure); return res; } KineticStatus KineticClient_Flush(KineticSession const * const session, Loading