Skip to content

Commit

Permalink
[C] Fix merge conflicts and rename raw_log types.
Browse files Browse the repository at this point in the history
  • Loading branch information
vyazelenko committed Oct 20, 2020
1 parent c80c7eb commit 71ac442
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 60 deletions.
70 changes: 35 additions & 35 deletions aeron-driver/src/main/c/agent/aeron_driver_agent.c
Original file line number Diff line number Diff line change
Expand Up @@ -236,11 +236,11 @@ int aeron_driver_agent_raw_log_map_interceptor(
int result = aeron_raw_log_map(mapped_raw_log, path, use_sparse_files, term_length, page_size);

const size_t path_len = strlen(path);
const size_t command_length = sizeof(aeron_driver_agent_map_raw_log_op_header_t) + path_len;
const size_t command_length = sizeof(aeron_driver_agent_raw_log_op_header_t) + path_len;

char *buffer = NULL;
char *dynamic_buffer = NULL;
if (command_length > sizeof(aeron_driver_agent_map_raw_log_op_header_t) + AERON_MAX_PATH)
if (command_length > sizeof(aeron_driver_agent_raw_log_op_header_t) + AERON_MAX_PATH)
{
if(aeron_alloc((void **) &dynamic_buffer, command_length) < 0)
{
Expand All @@ -250,56 +250,56 @@ int aeron_driver_agent_raw_log_map_interceptor(
}
else
{
char static_buffer[sizeof(aeron_driver_agent_map_raw_log_op_header_t) + AERON_MAX_PATH];
char static_buffer[sizeof(aeron_driver_agent_raw_log_op_header_t) + AERON_MAX_PATH];
buffer = static_buffer;
}

aeron_driver_agent_map_raw_log_op_header_t *hdr = (aeron_driver_agent_map_raw_log_op_header_t *)buffer;
aeron_driver_agent_raw_log_op_header_t *hdr = (aeron_driver_agent_raw_log_op_header_t *)buffer;

hdr->time_ms = aeron_epoch_clock();
hdr->map_raw.map_raw_log.path_len = (int32_t)path_len;
hdr->map_raw.map_raw_log.result = result;
hdr->map_raw.map_raw_log.addr = (uintptr_t)mapped_raw_log;
memcpy(&hdr->map_raw.map_raw_log.log, mapped_raw_log, sizeof(hdr->map_raw.map_raw_log.log));
memcpy(buffer + sizeof(aeron_driver_agent_map_raw_log_op_header_t), path, path_len);
hdr->raw_log.raw_log_map.path_len = (int32_t)path_len;
hdr->raw_log.raw_log_map.result = result;
hdr->raw_log.raw_log_map.addr = (uintptr_t)mapped_raw_log;
memcpy(&hdr->raw_log.raw_log_map.log, mapped_raw_log, sizeof(hdr->raw_log.raw_log_map.log));
memcpy(buffer + sizeof(aeron_driver_agent_raw_log_op_header_t), path, path_len);

aeron_mpsc_rb_write(
&logging_mpsc_rb, AERON_RAW_LOG_MAP_OP, buffer, sizeof(aeron_driver_agent_map_raw_log_op_header_t) + path_len);
&logging_mpsc_rb, AERON_RAW_LOG_MAP_OP, buffer, sizeof(aeron_driver_agent_raw_log_op_header_t) + path_len);
aeron_free(dynamic_buffer);

return result;
}

int aeron_driver_agent_raw_log_close_interceptor(aeron_mapped_raw_log_t *mapped_raw_log, const char *filename)
{
uint8_t buffer[sizeof(aeron_driver_agent_map_raw_log_op_header_t)];
aeron_driver_agent_map_raw_log_op_header_t *hdr = (aeron_driver_agent_map_raw_log_op_header_t *)buffer;
uint8_t buffer[sizeof(aeron_driver_agent_raw_log_op_header_t)];
aeron_driver_agent_raw_log_op_header_t *hdr = (aeron_driver_agent_raw_log_op_header_t *)buffer;

hdr->time_ms = aeron_epoch_clock();
hdr->map_raw.map_raw_log_close.addr = (uintptr_t)mapped_raw_log;
memcpy(&hdr->map_raw.map_raw_log_close.log, mapped_raw_log, sizeof(hdr->map_raw.map_raw_log.log));
hdr->map_raw.map_raw_log_close.result = aeron_raw_log_close(mapped_raw_log, filename);
hdr->raw_log.raw_log_close.addr = (uintptr_t)mapped_raw_log;
memcpy(&hdr->raw_log.raw_log_close.log, mapped_raw_log, sizeof(hdr->raw_log.raw_log_map.log));
hdr->raw_log.raw_log_close.result = aeron_raw_log_close(mapped_raw_log, filename);

aeron_mpsc_rb_write(
&logging_mpsc_rb, AERON_RAW_LOG_CLOSE_OP, buffer, sizeof(aeron_driver_agent_map_raw_log_op_header_t));
&logging_mpsc_rb, AERON_RAW_LOG_CLOSE_OP, buffer, sizeof(aeron_driver_agent_raw_log_op_header_t));

return hdr->map_raw.map_raw_log_close.result;
return hdr->raw_log.raw_log_close.result;
}

bool aeron_driver_agent_raw_log_free_interceptor(aeron_mapped_raw_log_t *mapped_raw_log, const char *filename)
{
uint8_t buffer[AERON_MAX_PATH + sizeof(aeron_driver_agent_map_raw_log_op_header_t)];
aeron_driver_agent_map_raw_log_op_header_t *hdr = (aeron_driver_agent_map_raw_log_op_header_t *)buffer;
uint8_t buffer[AERON_MAX_PATH + sizeof(aeron_driver_agent_raw_log_op_header_t)];
aeron_driver_agent_raw_log_op_header_t *hdr = (aeron_driver_agent_raw_log_op_header_t *)buffer;

hdr->time_ms = aeron_epoch_clock();
hdr->map_raw.map_raw_log_free.addr = (uintptr_t)mapped_raw_log;
memcpy(&hdr->map_raw.map_raw_log_free.log, mapped_raw_log, sizeof(hdr->map_raw.map_raw_log_free.log));
hdr->map_raw.map_raw_log_free.result = aeron_raw_log_free(mapped_raw_log, filename);
hdr->raw_log.raw_log_free.addr = (uintptr_t)mapped_raw_log;
memcpy(&hdr->raw_log.raw_log_free.log, mapped_raw_log, sizeof(hdr->raw_log.raw_log_free.log));
hdr->raw_log.raw_log_free.result = aeron_raw_log_free(mapped_raw_log, filename);

aeron_mpsc_rb_write(
&logging_mpsc_rb, AERON_RAW_LOG_FREE_OP, buffer, sizeof(aeron_driver_agent_map_raw_log_op_header_t));
&logging_mpsc_rb, AERON_RAW_LOG_FREE_OP, buffer, sizeof(aeron_driver_agent_raw_log_op_header_t));

return hdr->map_raw.map_raw_log_free.result;
return hdr->raw_log.raw_log_free.result;
}

void aeron_driver_agent_log_frame(
Expand Down Expand Up @@ -1281,43 +1281,43 @@ void aeron_driver_agent_log_dissector(int32_t msg_type_id, const void *message,

case AERON_RAW_LOG_MAP_OP:
{
aeron_driver_agent_map_raw_log_op_header_t *hdr = (aeron_driver_agent_map_raw_log_op_header_t *)message;
const char *pathname = (const char *)message + sizeof(aeron_driver_agent_map_raw_log_op_header_t);
aeron_driver_agent_raw_log_op_header_t *hdr = (aeron_driver_agent_raw_log_op_header_t *)message;
const char *pathname = (const char *)message + sizeof(aeron_driver_agent_raw_log_op_header_t);

fprintf(
logfp,
"[%s] RAW_LOG_MAP %p, \"%*s\" = %d\n",
aeron_driver_agent_dissect_timestamp(hdr->time_ms),
(void *)hdr->map_raw.map_raw_log.addr,
hdr->map_raw.map_raw_log.path_len,
(void *)hdr->raw_log.raw_log_map.addr,
hdr->raw_log.raw_log_map.path_len,
pathname,
hdr->map_raw.map_raw_log.result);
hdr->raw_log.raw_log_map.result);
break;
}

case AERON_RAW_LOG_CLOSE_OP:
{
aeron_driver_agent_map_raw_log_op_header_t *hdr = (aeron_driver_agent_map_raw_log_op_header_t *)message;
aeron_driver_agent_raw_log_op_header_t *hdr = (aeron_driver_agent_raw_log_op_header_t *)message;

fprintf(
logfp,
"[%s] RAW_LOG_CLOSE %p = %d\n",
aeron_driver_agent_dissect_timestamp(hdr->time_ms),
(void *)hdr->map_raw.map_raw_log_close.addr,
hdr->map_raw.map_raw_log_close.result);
(void *)hdr->raw_log.raw_log_close.addr,
hdr->raw_log.raw_log_close.result);
break;
}

case AERON_RAW_LOG_FREE_OP:
{
aeron_driver_agent_map_raw_log_op_header_t *hdr = (aeron_driver_agent_map_raw_log_op_header_t *)message;
aeron_driver_agent_raw_log_op_header_t *hdr = (aeron_driver_agent_raw_log_op_header_t *)message;

fprintf(
logfp,
"[%s] RAW_LOG_FREE %p = %s\n",
aeron_driver_agent_dissect_timestamp(hdr->time_ms),
(void *)hdr->map_raw.map_raw_log_free.addr,
hdr->map_raw.map_raw_log_free.result ? "true" : "false");
(void *)hdr->raw_log.raw_log_free.addr,
hdr->raw_log.raw_log_free.result ? "true" : "false");
break;
}

Expand Down
22 changes: 11 additions & 11 deletions aeron-driver/src/main/c/agent/aeron_driver_agent.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,39 +56,39 @@ typedef struct aeron_driver_agent_frame_log_header_stct
}
aeron_driver_agent_frame_log_header_t;

typedef struct aeron_driver_agent_map_raw_log_op_header_stct
typedef struct aeron_driver_agent_raw_log_op_header_stct
{
int64_t time_ms;
union map_raw_log_un
union raw_log_un
{
struct map_raw_log_stct
struct raw_log_map_stct
{
aeron_mapped_raw_log_t log;
int result;
uintptr_t addr;
int32_t path_len;
}
map_raw_log;
raw_log_map;

struct map_raw_log_close_stct
struct raw_log_close_stct
{
aeron_mapped_raw_log_t log;
int result;
uintptr_t addr;
}
map_raw_log_close;
raw_log_close;

struct map_raw_log_free_stct
struct raw_log_free_stct
{
aeron_mapped_raw_log_t log;
bool result;
uintptr_t addr;
}
map_raw_log_free;
raw_log_free;
}
map_raw;
raw_log;
}
aeron_driver_agent_map_raw_log_op_header_t;
aeron_driver_agent_raw_log_op_header_t;

typedef struct aeron_driver_agent_untethered_subscription_state_change_log_header_stct
{
Expand Down Expand Up @@ -156,7 +156,7 @@ void aeron_driver_agent_conductor_to_driver_interceptor(
void aeron_driver_agent_conductor_to_client_interceptor(
aeron_driver_conductor_t *conductor, int32_t msg_type_id, const void *message, size_t length);

int aeron_driver_agent_map_raw_log_interceptor(
int aeron_driver_agent_raw_log_map_interceptor(
aeron_mapped_raw_log_t *mapped_raw_log,
const char *path,
bool use_sparse_files,
Expand Down
28 changes: 14 additions & 14 deletions aeron-driver/src/test/c/agent/aeron_driver_agent_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -313,24 +313,24 @@ TEST_F(DriverAgentTest, shouldLogMapRawLogCommand)
aeron_mapped_raw_log_t mapped_raw_log = {};
const char *path = ":unknown/path";

EXPECT_EQ(-1, aeron_driver_agent_map_raw_log_interceptor(&mapped_raw_log, path, false, 1024, 4096));
EXPECT_EQ(-1, aeron_driver_agent_raw_log_map_interceptor(&mapped_raw_log, path, false, 1024, 4096));

auto message_handler =
[](int32_t msg_type_id, const void *msg, size_t length, void *clientd)
{
size_t *count = (size_t *)clientd;
(*count)++;

EXPECT_EQ(msg_type_id, AERON_MAP_RAW_LOG_OP);
EXPECT_EQ(msg_type_id, AERON_RAW_LOG_MAP_OP);

char *buffer = (char *)msg;
aeron_driver_agent_map_raw_log_op_header_t *hdr = (aeron_driver_agent_map_raw_log_op_header_t *)buffer;
aeron_driver_agent_raw_log_op_header_t *hdr = (aeron_driver_agent_raw_log_op_header_t *)buffer;
EXPECT_NE(hdr->time_ms, 0);
EXPECT_EQ(hdr->map_raw.map_raw_log.path_len, 13);
EXPECT_NE(hdr->map_raw.map_raw_log.addr, (uint64_t)0);
EXPECT_EQ(hdr->map_raw.map_raw_log.result, -1);
EXPECT_EQ(hdr->raw_log.raw_log_map.path_len, 13);
EXPECT_NE(hdr->raw_log.raw_log_map.addr, (uint64_t)0);
EXPECT_EQ(hdr->raw_log.raw_log_map.result, -1);
EXPECT_EQ(
strcmp(":unknown/path", buffer + sizeof(aeron_driver_agent_map_raw_log_op_header_t)),
strcmp(":unknown/path", buffer + sizeof(aeron_driver_agent_raw_log_op_header_t)),
0);
};

Expand All @@ -352,24 +352,24 @@ TEST_F(DriverAgentTest, shouldLogMapRawLogCommandBigMessage)
path[path_length - 1] = 'X';
path[path_length] = '\0';

EXPECT_EQ(-1, aeron_driver_agent_map_raw_log_interceptor(&mapped_raw_log, path, false, 1024, 4096));
EXPECT_EQ(-1, aeron_driver_agent_raw_log_map_interceptor(&mapped_raw_log, path, false, 1024, 4096));

auto message_handler =
[](int32_t msg_type_id, const void *msg, size_t length, void *clientd)
{
size_t *count = (size_t *)clientd;
(*count)++;

EXPECT_EQ(msg_type_id, AERON_MAP_RAW_LOG_OP);
EXPECT_EQ(msg_type_id, AERON_RAW_LOG_MAP_OP);

char *buffer = (char *)msg;
aeron_driver_agent_map_raw_log_op_header_t *hdr = (aeron_driver_agent_map_raw_log_op_header_t *)buffer;
aeron_driver_agent_raw_log_op_header_t *hdr = (aeron_driver_agent_raw_log_op_header_t *)buffer;
EXPECT_NE(hdr->time_ms, 0);
EXPECT_EQ(hdr->map_raw.map_raw_log.path_len, MAX_FRAME_LENGTH * 11);
EXPECT_NE(hdr->map_raw.map_raw_log.addr, (uint64_t)0);
EXPECT_EQ(hdr->map_raw.map_raw_log.result, -1);
EXPECT_EQ(hdr->raw_log.raw_log_map.path_len, MAX_FRAME_LENGTH * 11);
EXPECT_NE(hdr->raw_log.raw_log_map.addr, (uint64_t)0);
EXPECT_EQ(hdr->raw_log.raw_log_map.result, -1);
EXPECT_EQ(
memcmp(":", buffer + sizeof(aeron_driver_agent_map_raw_log_op_header_t), 1),
memcmp(":", buffer + sizeof(aeron_driver_agent_raw_log_op_header_t), 1),
0);
EXPECT_EQ(memcmp("X", buffer + length -1, 1), 0);
};
Expand Down

0 comments on commit 71ac442

Please sign in to comment.