Commit 8823db6c authored by Greg Williams's avatar Greg Williams
Browse files

Filling in Kinetic messaging stack and added referential elements between...

Filling in Kinetic messaging stack and added referential elements between Kinetic Message->Exchange->Connection to ease dependency handling and moreso for proper delegation and encapsulation.
Added unity_helper.h to consolidate custom test assertions and other test utility goodies.
parent 6521aa36
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -35,6 +35,8 @@ PROTO_OUT = File.join(HERE, 'build', 'temp', 'proto')

directory PROTO_OUT

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

desc "Generate protocol buffers"
task :proto => [PROTO_OUT] do

@@ -71,7 +73,7 @@ end
desc "Analyze code w/CppCheck"
task :cppcheck do
  raise "CppCheck not found!" unless `cppcheck --version` =~ /cppcheck \d+.\d+/mi
  execute_command "cppcheck ./src ./build/temp/proto", "Analyzing code w/CppCheck"
  execute_command "cppcheck ./src ./test ./build/temp/proto", "Analyzing code w/CppCheck"
end

namespace :doxygen do
+6 −0
Original line number Diff line number Diff line
@@ -58,6 +58,12 @@
    bool:     UINT8

:tools:
  # :test_dependencies_generator:
  #   :arguments:
  #     - "-:-MD"
  # :release_dependencies_generator:
  #   :arguments:
  #     - "-:-MD"
  :test_includes_preprocessor:
    :executable: gcc
    :arguments:
+14 −6
Original line number Diff line number Diff line
@@ -28,13 +28,21 @@ const KineticConnection KineticApi_Connect(const char* host, int port, bool bloc
}

KineticProto_Status_StatusCode KineticApi_SendNoop(
    KineticConnection* connection,
    KineticExchange* exchange,
    KineticMessage* message)
    KineticConnection* const connection,
    KineticMessage* const request,
    KineticMessage* const response)
{
    KineticExchange_Init(exchange, 1234, 5678);
    KineticMessage_Init(message, exchange);
    KineticConnection_SendMessage(connection, message);
    KineticProto_Status_StatusCode status = KINETIC_PROTO_STATUS_STATUS_CODE_INVALID_STATUS_CODE;

    KineticExchange_Init(request->exchange, 1234, 5678, connection);
    KineticMessage_Init(request, request->exchange);
    KineticMessage_BuildNoop(request);
    KineticConnection_SendMessage(connection, request);
    response->exchange = request->exchange;
    if (KineticConnection_ReceiveMessage(connection, response))
    {
        status = KINETIC_PROTO_STATUS_STATUS_CODE_SUCCESS;
    }

	return KINETIC_PROTO_STATUS_STATUS_CODE_NOT_ATTEMPTED;
}
+5 −1
Original line number Diff line number Diff line
@@ -2,12 +2,16 @@
#define _KINETIC_API_H

#include "KineticTypes.h"
#include "KineticProto.h"
#include "KineticConnection.h"
#include "KineticExchange.h"
#include "KineticMessage.h"

void KineticApi_Init(const char* log_file);
const KineticConnection KineticApi_Connect(const char* host, int port, bool blocking);
KineticProto_Status_StatusCode KineticApi_SendNoop(KineticConnection* connection, KineticExchange* exchange, KineticMessage* message);
KineticProto_Status_StatusCode KineticApi_SendNoop(
    KineticConnection* const connection,
    KineticMessage* const request,
    KineticMessage* const response);

#endif // _KINETIC_API_H
+15 −5
Original line number Diff line number Diff line
@@ -11,7 +11,9 @@ KineticConnection KineticConnection_Create(void)
    return connection;
}

bool KineticConnection_Connect(KineticConnection* connection, const char* host, int port, bool blocking)
bool KineticConnection_Connect(
    KineticConnection* const connection,
    const char* host, int port, bool blocking)
{
    connection->Connected = false;
    connection->Blocking = blocking;
@@ -19,15 +21,23 @@ bool KineticConnection_Connect(KineticConnection* connection, const char* host,
    connection->FileDescriptor = -1;
    strcpy(connection->Host, host);

    connection->FileDescriptor = KineticSocket_Connect(connection->Host, connection->Port, blocking);
    connection->FileDescriptor = KineticSocket_Connect(
        connection->Host, connection->Port, blocking);
    connection->Connected = (connection->FileDescriptor >= 0);

    return connection->Connected;
}

bool KineticConnection_SendMessage(KineticConnection* connection, KineticMessage* message)
bool KineticConnection_SendMessage(
    KineticConnection* const connection,
    KineticMessage* const message)
{
    connection = connection;
    message = message;
    return false;
}

bool KineticConnection_ReceiveMessage(
    KineticConnection* const connection,
    KineticMessage* const reponse)
{
    return KINETIC_PROTO_STATUS_STATUS_CODE_INVALID_STATUS_CODE;
}
Loading