Loading src/lib/kinetic_client.c +3 −1 Original line number Diff line number Diff line Loading @@ -323,7 +323,9 @@ KineticStatus KineticClient_Delete(KineticSessionHandle handle, // } // } KineticStatus KineticClient_GetKeyRange(KineticSessionHandle handle, KineticKeyRange* range, ByteBuffer keys[], int max_keys) KineticKeyRange* range, ByteBuffer keys[], int max_keys) { assert(handle != KINETIC_HANDLE_INVALID); assert(range != NULL); Loading src/lib/kinetic_logger.c +64 −6 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ void KineticLogger_Log(const char* message) } zlogf(message); zlogf("\n"); zlog_flush_buffer(); } void KineticLogger_LogPrintf(const char* format, ...) Loading @@ -80,6 +81,7 @@ void KineticLogger_LogPrintf(const char* format, ...) va_end(arg_ptr); strcat(buffer, "\n"); zlogf(buffer); zlog_flush_buffer(); } void KineticLogger_LogLocation(char* filename, int line, char const * format, ...) Loading @@ -89,6 +91,7 @@ void KineticLogger_LogLocation(char* filename, int line, char const * format, .. va_start(arg_ptr, format); zlogf("[@%s:%d] %s\n", filename, line, format, arg_ptr); va_end(arg_ptr); zlog_flush_buffer(); } } Loading Loading @@ -160,6 +163,11 @@ int KineticLogger_ByteArraySliceToCString(char* p_buf, KineticLogger_ByteArraySliceToCString((char*)(_buf_start), key, 0, key.len); \ } // #define Proto_LogBinaryDataOptional(el, attr) // if ((el)->has_##(attr)) { // KineticLogger_LogByteArray(#attr, (el)->(attr)); // } void KineticLogger_LogProtobuf(const KineticProto_Message* msg) { if (LogLevel < 0) { Loading Loading @@ -208,13 +216,10 @@ void KineticLogger_LogProtobuf(const KineticProto_Message* msg) } } if (msg->has_commandBytes && msg->commandBytes.data != NULL && msg->commandBytes.len > 0) { LOG_PROTO_LEVEL_START("commandBytes"); KineticProto_Command* cmd = KineticProto_command__unpack(NULL, msg->commandBytes.len, msg->commandBytes.data); if (cmd->header) { Loading Loading @@ -251,7 +256,8 @@ void KineticLogger_LogProtobuf(const KineticProto_Message* msg) cmd->header->earlyExit ? _str_true : _str_false); } if (cmd->header->has_priority) { const ProtobufCEnumValue* eVal = protobuf_c_enum_descriptor_get_value( const ProtobufCEnumValue* eVal = protobuf_c_enum_descriptor_get_value( &KineticProto_command_priority__descriptor, cmd->header->messageType); LOGF("%spriority: %s", _indent, eVal->name); Loading Loading @@ -317,6 +323,58 @@ void KineticLogger_LogProtobuf(const KineticProto_Message* msg) } LOG_PROTO_LEVEL_END(); } if (cmd->body->range) { LOG_PROTO_LEVEL_START("keyRange"); { if (cmd->body->range->has_startKey) { BYTES_TO_CSTRING(tmpBuf, cmd->body->range->startKey, 0, cmd->body->range->startKey.len); LOGF("%sstartKey: '%s'", _indent, tmpBuf); } if (cmd->body->range->has_endKey) { BYTES_TO_CSTRING(tmpBuf, cmd->body->range->endKey, 0, cmd->body->range->endKey.len); LOGF("%sendKey: '%s'", _indent, tmpBuf); } // protobuf_c_boolean has_startKeyInclusive; // protobuf_c_boolean startKeyInclusive; // protobuf_c_boolean has_endKeyInclusive; // protobuf_c_boolean endKeyInclusive; // protobuf_c_boolean has_maxReturned; // int32_t maxReturned; // protobuf_c_boolean has_reverse; // protobuf_c_boolean reverse; // size_t n_keys; // ProtobufCBinaryData* keys; if (cmd->body->range->n_keys == 0 || cmd->body->range->keys == NULL) { LOGF("%s[empty]", _indent); } else { LOGF("%s%d keys", _indent, cmd->body->range->n_keys); for (unsigned int i = 0; i < cmd->body->range->n_keys; i++) { BYTES_TO_CSTRING(tmpBuf, cmd->body->range->keys[i], 0, cmd->body->range->keys[i].len); LOGF("%skeys[%d]: '%s'", _indent, i, tmpBuf); } } // if (cmd->body->keyValue->has_key) { // } } LOG_PROTO_LEVEL_END(); } } LOG_PROTO_LEVEL_END(); Loading src/lib/kinetic_message.c +16 −10 Original line number Diff line number Diff line Loading @@ -100,18 +100,24 @@ void KineticMessage_ConfigureKeyRange(KineticMessage* const message, message->command.body->range = &message->keyRange; // Populate startKey, if supplied message->command.body->range->has_startKey = (range->startKey.array.data != NULL); if (message->command.body->range->has_startKey) { message->command.body->range->startKey = (ProtobufCBinaryData) { .data = range->startKey.array.data, .len = range->startKey.bytesUsed, }; message->command.body->range->has_startKey = true; } // Populate endKey, if supplied message->command.body->range->has_endKey = (range->endKey.array.data != NULL); if (message->command.body->range->has_endKey) { message->command.body->range->endKey = (ProtobufCBinaryData) { .data = range->endKey.array.data, .len = range->endKey.bytesUsed, }; message->command.body->range->has_endKey = true; } // Populate start/end key inclusive flags, if specified if (range->startKeyInclusive) { Loading src/lib/kinetic_types_internal.c +2 −5 Original line number Diff line number Diff line Loading @@ -303,15 +303,12 @@ bool Copy_KineticProto_Command_Range_to_buffer_list( int64_t max_keys) { bool bufferOverflow = false; LOGF("HERE: keyRange=0x%0llX, keys=0x%0llX, max_keys=%lld", keyRange, keys, max_keys); LOGF("Copying: keyRange=0x%0llX, keys=0x%0llX, max_keys=%lld", keyRange, keys, max_keys); if (keyRange != NULL && keys != NULL && max_keys > 0) { LOG("THERE"); for (size_t i = 0; i < MIN((size_t)max_keys, (size_t)keyRange->n_keys); i++) { ByteBuffer_Reset(&keys[i]); LOGF("EVERYWHERE key[%llu]: actual data=0x%0llX, actual len=%zu, buff len=%zu, buff data=0x%0llX buff used=%zu", i, keyRange->keys[i].data, keyRange->keys[i].len, keys[i].array.len, keys[i].array.data, keys[i].bytesUsed); if (ByteBuffer_Append(&keys[i], keyRange->keys[i].data, keyRange->keys[i].len) == NULL) { LOG(" BUFFER_OVERRUN: keyRange"); LOGF(" BUFFER_OVERRUN: keyRange[%zd]", i); bufferOverflow = true; } } Loading src/lib/kinetic_types_internal.h +1 −0 Original line number Diff line number Diff line Loading @@ -153,6 +153,7 @@ typedef struct _KineticMessage { KineticProto_command_status__init(&(msg)->status); \ KineticProto_command_body__init(&(msg)->body); \ KineticProto_command_key_value__init(&(msg)->keyValue); \ KineticProto_command_range__init(&(msg)->keyRange); \ KINETIC_MESSAGE_AUTH_HMAC_INIT(msg, 0, BYTE_ARRAY_NONE); \ (msg)->has_command = false; \ } Loading Loading
src/lib/kinetic_client.c +3 −1 Original line number Diff line number Diff line Loading @@ -323,7 +323,9 @@ KineticStatus KineticClient_Delete(KineticSessionHandle handle, // } // } KineticStatus KineticClient_GetKeyRange(KineticSessionHandle handle, KineticKeyRange* range, ByteBuffer keys[], int max_keys) KineticKeyRange* range, ByteBuffer keys[], int max_keys) { assert(handle != KINETIC_HANDLE_INVALID); assert(range != NULL); Loading
src/lib/kinetic_logger.c +64 −6 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ void KineticLogger_Log(const char* message) } zlogf(message); zlogf("\n"); zlog_flush_buffer(); } void KineticLogger_LogPrintf(const char* format, ...) Loading @@ -80,6 +81,7 @@ void KineticLogger_LogPrintf(const char* format, ...) va_end(arg_ptr); strcat(buffer, "\n"); zlogf(buffer); zlog_flush_buffer(); } void KineticLogger_LogLocation(char* filename, int line, char const * format, ...) Loading @@ -89,6 +91,7 @@ void KineticLogger_LogLocation(char* filename, int line, char const * format, .. va_start(arg_ptr, format); zlogf("[@%s:%d] %s\n", filename, line, format, arg_ptr); va_end(arg_ptr); zlog_flush_buffer(); } } Loading Loading @@ -160,6 +163,11 @@ int KineticLogger_ByteArraySliceToCString(char* p_buf, KineticLogger_ByteArraySliceToCString((char*)(_buf_start), key, 0, key.len); \ } // #define Proto_LogBinaryDataOptional(el, attr) // if ((el)->has_##(attr)) { // KineticLogger_LogByteArray(#attr, (el)->(attr)); // } void KineticLogger_LogProtobuf(const KineticProto_Message* msg) { if (LogLevel < 0) { Loading Loading @@ -208,13 +216,10 @@ void KineticLogger_LogProtobuf(const KineticProto_Message* msg) } } if (msg->has_commandBytes && msg->commandBytes.data != NULL && msg->commandBytes.len > 0) { LOG_PROTO_LEVEL_START("commandBytes"); KineticProto_Command* cmd = KineticProto_command__unpack(NULL, msg->commandBytes.len, msg->commandBytes.data); if (cmd->header) { Loading Loading @@ -251,7 +256,8 @@ void KineticLogger_LogProtobuf(const KineticProto_Message* msg) cmd->header->earlyExit ? _str_true : _str_false); } if (cmd->header->has_priority) { const ProtobufCEnumValue* eVal = protobuf_c_enum_descriptor_get_value( const ProtobufCEnumValue* eVal = protobuf_c_enum_descriptor_get_value( &KineticProto_command_priority__descriptor, cmd->header->messageType); LOGF("%spriority: %s", _indent, eVal->name); Loading Loading @@ -317,6 +323,58 @@ void KineticLogger_LogProtobuf(const KineticProto_Message* msg) } LOG_PROTO_LEVEL_END(); } if (cmd->body->range) { LOG_PROTO_LEVEL_START("keyRange"); { if (cmd->body->range->has_startKey) { BYTES_TO_CSTRING(tmpBuf, cmd->body->range->startKey, 0, cmd->body->range->startKey.len); LOGF("%sstartKey: '%s'", _indent, tmpBuf); } if (cmd->body->range->has_endKey) { BYTES_TO_CSTRING(tmpBuf, cmd->body->range->endKey, 0, cmd->body->range->endKey.len); LOGF("%sendKey: '%s'", _indent, tmpBuf); } // protobuf_c_boolean has_startKeyInclusive; // protobuf_c_boolean startKeyInclusive; // protobuf_c_boolean has_endKeyInclusive; // protobuf_c_boolean endKeyInclusive; // protobuf_c_boolean has_maxReturned; // int32_t maxReturned; // protobuf_c_boolean has_reverse; // protobuf_c_boolean reverse; // size_t n_keys; // ProtobufCBinaryData* keys; if (cmd->body->range->n_keys == 0 || cmd->body->range->keys == NULL) { LOGF("%s[empty]", _indent); } else { LOGF("%s%d keys", _indent, cmd->body->range->n_keys); for (unsigned int i = 0; i < cmd->body->range->n_keys; i++) { BYTES_TO_CSTRING(tmpBuf, cmd->body->range->keys[i], 0, cmd->body->range->keys[i].len); LOGF("%skeys[%d]: '%s'", _indent, i, tmpBuf); } } // if (cmd->body->keyValue->has_key) { // } } LOG_PROTO_LEVEL_END(); } } LOG_PROTO_LEVEL_END(); Loading
src/lib/kinetic_message.c +16 −10 Original line number Diff line number Diff line Loading @@ -100,18 +100,24 @@ void KineticMessage_ConfigureKeyRange(KineticMessage* const message, message->command.body->range = &message->keyRange; // Populate startKey, if supplied message->command.body->range->has_startKey = (range->startKey.array.data != NULL); if (message->command.body->range->has_startKey) { message->command.body->range->startKey = (ProtobufCBinaryData) { .data = range->startKey.array.data, .len = range->startKey.bytesUsed, }; message->command.body->range->has_startKey = true; } // Populate endKey, if supplied message->command.body->range->has_endKey = (range->endKey.array.data != NULL); if (message->command.body->range->has_endKey) { message->command.body->range->endKey = (ProtobufCBinaryData) { .data = range->endKey.array.data, .len = range->endKey.bytesUsed, }; message->command.body->range->has_endKey = true; } // Populate start/end key inclusive flags, if specified if (range->startKeyInclusive) { Loading
src/lib/kinetic_types_internal.c +2 −5 Original line number Diff line number Diff line Loading @@ -303,15 +303,12 @@ bool Copy_KineticProto_Command_Range_to_buffer_list( int64_t max_keys) { bool bufferOverflow = false; LOGF("HERE: keyRange=0x%0llX, keys=0x%0llX, max_keys=%lld", keyRange, keys, max_keys); LOGF("Copying: keyRange=0x%0llX, keys=0x%0llX, max_keys=%lld", keyRange, keys, max_keys); if (keyRange != NULL && keys != NULL && max_keys > 0) { LOG("THERE"); for (size_t i = 0; i < MIN((size_t)max_keys, (size_t)keyRange->n_keys); i++) { ByteBuffer_Reset(&keys[i]); LOGF("EVERYWHERE key[%llu]: actual data=0x%0llX, actual len=%zu, buff len=%zu, buff data=0x%0llX buff used=%zu", i, keyRange->keys[i].data, keyRange->keys[i].len, keys[i].array.len, keys[i].array.data, keys[i].bytesUsed); if (ByteBuffer_Append(&keys[i], keyRange->keys[i].data, keyRange->keys[i].len) == NULL) { LOG(" BUFFER_OVERRUN: keyRange"); LOGF(" BUFFER_OVERRUN: keyRange[%zd]", i); bufferOverflow = true; } } Loading
src/lib/kinetic_types_internal.h +1 −0 Original line number Diff line number Diff line Loading @@ -153,6 +153,7 @@ typedef struct _KineticMessage { KineticProto_command_status__init(&(msg)->status); \ KineticProto_command_body__init(&(msg)->body); \ KineticProto_command_key_value__init(&(msg)->keyValue); \ KineticProto_command_range__init(&(msg)->keyRange); \ KINETIC_MESSAGE_AUTH_HMAC_INIT(msg, 0, BYTE_ARRAY_NONE); \ (msg)->has_command = false; \ } Loading