Commit 7a2eef9b authored by Greg Williams's avatar Greg Williams
Browse files

More updates to example code and Makefile

parent 77aff35b
Loading
Loading
Loading
Loading
+67 −74
Original line number Diff line number Diff line
@@ -95,14 +95,14 @@ $(KINETIC_LIB): $(LIB_OBJS) $(VERSION_FILE)
	ar -rcs $@ $(LIB_OBJS)
	ar -t $@

# $(KINETIC_SO): $(KINETIC_LIB)
# 	@echo
# 	@echo --------------------------------------------------------------------------------
# 	@echo Building dynamic library: $(KINETIC_SO)
# 	@echo --------------------------------------------------------------------------------
# 	$(CC)(-) $(KINETIC_SO_DEV) -shared $(LDFLAGS) $(LIB_OBJS)
$(KINETIC_SO): $(KINETIC_LIB)
	@echo
	@echo --------------------------------------------------------------------------------
	@echo Building dynamic library: $(KINETIC_SO)
	@echo --------------------------------------------------------------------------------
	$(CC)(-) $(KINETIC_SO_DEV) -shared $(LDFLAGS) $(LIB_OBJS)

# libso: $(KINETIC_SO)
libso: $(KINETIC_SO)

UTIL_DIR = ./src/utility
UTIL_EX = $(UTIL_DIR)/examples
@@ -112,78 +112,75 @@ UTIL_OBJS = $(OUT_DIR)/main.o $(UTIL_INTERNAL_OBJS)
DEV_UTIL_INCS = -I./include -I$(UTIL_DIR)
DEV_UTIL_LDFLAGS += $(LDFLAGS) $(KINETIC_LIB)

# $(OUT_DIR)/noop.o: $(UTIL_EX)/noop.c $(UTIL_EX)/noop.h
# 	$(CC) -c -o $@ $< $(CFLAGS) $(DEV_UTIL_INCS)
# $(OUT_DIR)/put.o: $(UTIL_EX)/put.c $(UTIL_EX)/put.h
# 	$(CC) -c -o $@ $< $(CFLAGS) $(DEV_UTIL_INCS)
# $(OUT_DIR)/get.o: $(UTIL_EX)/get.c $(UTIL_EX)/get.h
# 	$(CC) -c -o $@ $< $(CFLAGS) $(DEV_UTIL_INCS)
# $(OUT_DIR)/delete.o: $(UTIL_EX)/delete.c $(UTIL_EX)/delete.h
# 	$(CC) -c -o $@ $< $(CFLAGS) $(DEV_UTIL_INCS)
# $(OUT_DIR)/main.o: $(UTIL_DIR)/main.c $(UTIL_INTERNAL_OBJS)
# 	$(CC) -c -o $@ $< $(CFLAGS) $(DEV_UTIL_INCS)

# UTIL_NAME = $(UTIL_EXEC_NAME)
# DEV_UTIL_EXEC = $(BIN_DIR)/$(DEV_UTIL_NAME)

# $(DEV_UTIL_EXEC): $(UTIL_OBJS) $(KINETIC_LIB)
# 	@echo
# 	@echo --------------------------------------------------------------------------------
# 	@echo Building development test utility: $(DEV_UTIL_EXEC)
# 	@echo --------------------------------------------------------------------------------
# 	$(CC) -o $@ $(UTIL_OBJS) $(CFLAGS) $(DEV_UTIL_LDFLAGS)
$(OUT_DIR)/noop.o: $(UTIL_EX)/noop.c $(UTIL_EX)/noop.h
	$(CC) -c -o $@ $< $(CFLAGS) $(DEV_UTIL_INCS)
$(OUT_DIR)/put.o: $(UTIL_EX)/put.c $(UTIL_EX)/put.h
	$(CC) -c -o $@ $< $(CFLAGS) $(DEV_UTIL_INCS)
$(OUT_DIR)/get.o: $(UTIL_EX)/get.c $(UTIL_EX)/get.h
	$(CC) -c -o $@ $< $(CFLAGS) $(DEV_UTIL_INCS)
$(OUT_DIR)/delete.o: $(UTIL_EX)/delete.c $(UTIL_EX)/delete.h
	$(CC) -c -o $@ $< $(CFLAGS) $(DEV_UTIL_INCS)
$(OUT_DIR)/main.o: $(UTIL_DIR)/main.c $(UTIL_INTERNAL_OBJS)
	$(CC) -c -o $@ $< $(CFLAGS) $(DEV_UTIL_INCS)

UTIL_NAME = $(UTIL_EXEC_NAME)
DEV_UTIL_EXEC = $(BIN_DIR)/$(DEV_UTIL_NAME)

$(DEV_UTIL_EXEC): $(UTIL_OBJS) $(KINETIC_LIB)
	@echo
	@echo --------------------------------------------------------------------------------
	@echo Building development test utility: $(DEV_UTIL_EXEC)
	@echo --------------------------------------------------------------------------------
	$(CC) -o $@ $(UTIL_OBJS) $(CFLAGS) $(DEV_UTIL_LDFLAGS)

# utility: $(UTIL_EXEC) $(REL_UTIL_DYN)
utility: $(DEV_UTIL_EXEC)

# # Common release includes and linker flags
# Configure to launch java simulator
# JAVA=$(JAVA_HOME)/bin/java
SIM_JARS_PREFIX = vendor/kinetic-java/kinetic-simulator-0.7.0.2-kinetic-proto-2.0.6-SNAPSHOT
CLASSPATH = $(JAVA_HOME)/lib/tools.jar:$(SIM_JARS_PREFIX)-jar-with-dependencies.jar:$(SIM_JARS_PREFIX)-sources.jar:$(SIM_JARS_PREFIX).jar
SIM_RUNNER = com.seagate.kinetic.simulator.internal.SimulatorRunner
SIM_ADMIN = com.seagate.kinetic.admin.cli.KineticAdminCLI

run: $(DEV_UTIL_EXEC)
	@echo
	@echo --------------------------------------------------------------------------------
	@echo Running test utility: $(DEV_UTIL_EXEC)
	@echo --------------------------------------------------------------------------------
	@sleep 2
	exec java -classpath "$(CLASSPATH)" $(SIM_RUNNER) "$@" &
	@sleep 5
	exec java -classpath "$(CLASSPATH)" $(SIM_ADMIN) -setup -erase true
	$(DEV_UTIL_EXEC) noop
	$(DEV_UTIL_EXEC) put
	$(DEV_UTIL_EXEC) get
	$(DEV_UTIL_EXEC) delete
	exec pkill -f 'java.*kinetic-simulator'

# # Release build of test utility against installed library
# REL_UTIL_INCS = -I$(PREFIX)/include -I$(UTIL_DIR)
# REL_UTIL_LDFLAGS += $(LDFLAGS) -l $(KINETIC_LIB)

#
# REL_UTIL_EXEC_STATIC_NAME = $(UTIL_EXEC_NAME)-rel-static
# REL_UTIL_EXEC_STATIC = $(BIN_DIR)/$(REL_UTIL_EXEC_STATIC_NAME)

#
# $(REL_UTIL_EXEC_STATIC): $(UTIL_OBJS)
# 	@echo
# 	@echo --------------------------------------------------------------------------------
# 	@echo Building release $(UTIL_EXEC) against installed static library
# 	@echo --------------------------------------------------------------------------------
# 	$(CC) -o $@ $(UTIL_OBJS) $(REL_UTIL_INCS) $(CFLAGS) $(LDFLAGS) 


#
# REL_UTIL_EXEC_NAME = $(UTIL_EXEC_NAME)
# REL_UTIL_EXEC = $(BIN_DIR)/$(REL_UTIL_EXEC_NAME)

#
# $(REL_UTIL_EXEC): $(UTIL_DIR)/main.c $(UTIL_OBJS)
# 	@echo
# 	@echo --------------------------------------------------------------------------------
# 	@echo Building release $(UTIL_EXEC) against installed dynamic library
# 	@echo --------------------------------------------------------------------------------
# 	$(CC) -o $@ -L$(PREFIX) -l $(PROJECT).so.$(VERSION) $< $(UTIL_OBJS) $(REL_UTIL_INCS) $(CFLAGS) $(LDFLAGS)

# utility: $(UTIL_EXEC) $(REL_UTIL_DYN)
# utility: $(UTIL_EXEC)

# Configure to launch java simulator
# JAVA=$(JAVA_HOME)/bin/java
SIM_JARS_PREFIX = vendor/kinetic-java/kinetic-simulator-0.7.0.2-kinetic-proto-2.0.6-SNAPSHOT
CLASSPATH = $(JAVA_HOME)/lib/tools.jar:$(SIM_JARS_PREFIX)-jar-with-dependencies.jar:$(SIM_JARS_PREFIX)-sources.jar:$(SIM_JARS_PREFIX).jar
SIM_RUNNER = com.seagate.kinetic.simulator.internal.SimulatorRunner
SIM_ADMIN = com.seagate.kinetic.admin.cli.KineticAdminCLI

# run: $(DEV_UTIL_EXEC)
# 	@echo
# 	@echo --------------------------------------------------------------------------------
# 	@echo Running test utility: $(DEV_UTIL_EXEC)
# 	@echo --------------------------------------------------------------------------------
# 	@sleep 2
# 	exec java -classpath "$(CLASSPATH)" $(SIM_RUNNER) "$@" &
# 	@sleep 5
# 	exec java -classpath "$(CLASSPATH)" $(SIM_ADMIN) -setup -erase true
# 	$(DEV_UTIL_EXEC) noop
# 	$(DEV_UTIL_EXEC) put
# 	$(DEV_UTIL_EXEC) get
# 	$(DEV_UTIL_EXEC) delete
# 	exec pkill -f 'java.*kinetic-simulator'

# rund: $(REL_UTIL_DYN)
# 	@echo
# 	@echo --------------------------------------------------------------------------------
@@ -211,8 +208,6 @@ install: $(KINETIC_LIB)
	@echo Installing $(PROJECT) v$(VERSION) into $(PREFIX)
	@echo --------------------------------------------------------------------------------
	@echo
	@echo You may be prompted for your password in order to proceed.
	@echo
	$(INSTALL) -d $(PREFIX)/lib/
	$(INSTALL) -c $(KINETIC_LIB) $(PREFIX)/lib/
	# $(INSTALL) -c $(KINETIC_SO_DEV) $(PREFIX)/lib/
@@ -226,8 +221,6 @@ uninstall:
	@echo Uninstalling $(PROJECT) from $(PREFIX)
	@echo --------------------------------------------------------------------------------
	@echo
	@echo You may be prompted for your password in order to proceed.
	@echo
	$(RM) -f $(PREFIX)/lib/lib$(PROJECT)*.a
	$(RM) -f $(PREFIX)/lib/lib$(PROJECT)*.so
	$(RM) -f $(PREFIX)/include/${PUBLIC_API}.h
@@ -236,18 +229,18 @@ uninstall:
	$(RM) -f $(PREFIX)/include/protobuf-c/protobuf-c.h
	$(RM) -f $(PREFIX)/include/protobuf-c.h

# all: uninstall clean test default install run rund
# all: clean test default run
all: clean test default

# ci: uninstall clean test default install rund
# 	@echo
# 	@echo --------------------------------------------------------------------------------
# 	@echo $(PROJECT) build completed successfully!
# 	@echo --------------------------------------------------------------------------------
# 	@echo $(PROJECT) v$(VERSION) is in working order
# 	@echo
#ci: uninstall all install
ci: uninstall all install
	@echo
	@echo --------------------------------------------------------------------------------
	@echo $(PROJECT) build completed successfully!
	@echo --------------------------------------------------------------------------------
	@echo $(PROJECT) v$(VERSION) is in working order
	@echo

# Other dependencies
$(BIN_DIR)/lib${PROJECT}.a: Makefile Rakefile VERSION
$(KINETIC_LIB): Makefile Rakefile VERSION
# kinetic-lib.o: kinetic_client.h kinetic_connection.h kinetic_hmac.h kinetic_logger.h kinetic_message.h kinetic_nbo.h kinetic_operation.h kinetic_pdu.h kinetic_proto.h kinetic_socket.h protobuf-c.h socket99.h
+22 −17
Original line number Diff line number Diff line
@@ -20,9 +20,7 @@

#include "delete.h"

KineticPDU Request, Response;

int Delete(const char* host,
int Delete(char* host,
           int port,
           bool nonBlocking,
           int64_t clusterVersion,
@@ -30,24 +28,31 @@ int Delete(const char* host,
           ByteArray hmacKey,
           KineticEntry* entry)
{
    KineticOperation operation;
    KineticConnection connection;
    bool success;

    KineticClient_Init(NULL);
    success = KineticClient_Connect(&connection, host, port, nonBlocking,
                                    clusterVersion, identity, hmacKey);
    assert(success);

    operation = KineticClient_CreateOperation(&connection, &Request, &Response);
    KineticSession session = {
        .port = port,
        .clusterVersion = clusterVersion,
        .identity = identity,
        .nonBlocking = nonBlocking,
        .hmacKey = hmacKey,
    };
    strcpy(session.host, host);
    KineticSessionHandle sessionHandle;

    KineticStatus status = KineticClient_Connect(&session, &sessionHandle);
    if (status != KINETIC_STATUS_SUCCESS) {
        printf("Failed connecting to host %s:%d", host, port);
        return (int)status;
    }

    KineticStatus status = KineticClient_Delete(&operation, entry);
    status = KineticClient_Delete(sessionHandle, entry);

    KineticClient_Disconnect(&sessionHandle);
    if (status == KINETIC_STATUS_SUCCESS) {
        printf("Delete operation completed successfully. Your data has been deleted!\n");
        return 0;
    }

    KineticClient_Disconnect(&connection);
    else {
        printf("NoOp operations failed with status: %d", (int)status);
        return (int)status;
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@
 * @return                  Returns 0 upon succes, -1 or the Kinetic status code
 *                          upon failure
 */
int Delete(const char* host,
int Delete(char* host,
           int port,
           bool nonBlocking,
           int64_t clusterVersion,
+22 −17
Original line number Diff line number Diff line
@@ -20,9 +20,7 @@

#include "get.h"

KineticPDU Request, Response;

int Get(const char* host,
int Get(char* host,
        int port,
        bool nonBlocking,
        int64_t clusterVersion,
@@ -30,24 +28,31 @@ int Get(const char* host,
        ByteArray hmacKey,
        KineticEntry* entry)
{
    KineticOperation operation;
    KineticConnection connection;
    bool success;

    KineticClient_Init(NULL);
    success = KineticClient_Connect(&connection, host, port, nonBlocking,
                                    clusterVersion, identity, hmacKey);
    assert(success);

    operation = KineticClient_CreateOperation(&connection, &Request, &Response);
    KineticSession session = {
        .port = port,
        .clusterVersion = clusterVersion,
        .identity = identity,
        .nonBlocking = nonBlocking,
        .hmacKey = hmacKey,
    };
    strcpy(session.host, host);
    KineticSessionHandle sessionHandle;

    KineticStatus status = KineticClient_Connect(&session, &sessionHandle);
    if (status != KINETIC_STATUS_SUCCESS) {
        printf("Failed connecting to host %s:%d", host, port);
        return (int)status;
    }

    KineticStatus status = KineticClient_Get(&operation, entry);
    status = KineticClient_Get(sessionHandle, entry);

    KineticClient_Disconnect(&sessionHandle);
    if (status == KINETIC_STATUS_SUCCESS) {
        printf("Get operation completed successfully. Your data has been retrieved!\n");
        return 0;
    }

    KineticClient_Disconnect(&connection);
    else {
        printf("NoOp operations failed with status: %d", (int)status);
        return (int)status;
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@
 * @return                  Returns 0 upon succes, -1 or the Kinetic status code
 *                          upon failure
 */
int Get(const char* host,
int Get(char* host,
        int port,
        bool nonBlocking,
        int64_t clusterVersion,
Loading