Skip to content

Commit dd2656b

Browse files
committed
Revert "[C] Add _HEADER_LENGTH constants for all frame types."
This reverts commit 6004e36
1 parent 8036b54 commit dd2656b

16 files changed

Lines changed: 99 additions & 124 deletions

aeron-client/src/main/c/aeron_fragment_assembler.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ int aeron_buffer_builder_create(aeron_buffer_builder_t **buffer_builder)
3030
aeron_data_header_t *_frame;
3131

3232
if (aeron_alloc((void **)&_buffer_builder, sizeof(aeron_buffer_builder_t)) < 0 ||
33-
aeron_alloc((void **)&_frame, AERON_DATA_HEADER_LENGTH) < 0)
33+
aeron_alloc((void **)&_frame, sizeof(aeron_data_header_t)) < 0)
3434
{
3535
AERON_APPEND_ERR("%s", "Failed to allocate buffer_builder");
3636
return -1;

aeron-client/src/main/c/aeron_fragment_assembler.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ inline void aeron_buffer_builder_capture_header(aeron_buffer_builder_t *buffer_b
100100
{
101101
buffer_builder->header.initial_term_id = header->initial_term_id;
102102
buffer_builder->header.position_bits_to_shift = header->position_bits_to_shift;
103-
memcpy(buffer_builder->header.frame, header->frame, AERON_DATA_HEADER_LENGTH);
103+
memcpy(buffer_builder->header.frame, header->frame, sizeof(aeron_data_header_t));
104104
}
105105

106106
inline aeron_header_t* aeron_buffer_builder_complete_header(aeron_buffer_builder_t *buffer_builder, aeron_header_t *header)

aeron-client/src/main/c/protocol/aeron_udp_protocol.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ _Static_assert(
2929

3030
int aeron_udp_protocol_group_tag(aeron_status_message_header_t *sm, int64_t *group_tag)
3131
{
32-
const size_t group_tag_offset = AERON_SM_HEADER_LENGTH +
32+
const size_t group_tag_offset = sizeof(aeron_status_message_header_t) +
3333
offsetof(aeron_status_message_optional_header_t, group_tag);
3434
const size_t group_tag_size = sizeof(*group_tag);
3535
const size_t frame_length_with_group_tag = group_tag_offset + group_tag_size;
@@ -55,17 +55,17 @@ extern size_t aeron_compute_max_message_length(size_t term_length);
5555

5656
size_t aeron_res_header_entry_length_ipv4(aeron_resolution_header_ipv4_t *header)
5757
{
58-
return AERON_ALIGN(AERON_RES_IPV4_HEADER_LENGTH + header->name_length, sizeof(int64_t));
58+
return AERON_ALIGN(sizeof(aeron_resolution_header_ipv4_t) + header->name_length, sizeof(int64_t));
5959
}
6060

6161
size_t aeron_res_header_entry_length_ipv6(aeron_resolution_header_ipv6_t *header)
6262
{
63-
return AERON_ALIGN(AERON_RES_IPV6_HEADER_LENGTH + header->name_length, sizeof(int64_t));
63+
return AERON_ALIGN(sizeof(aeron_resolution_header_ipv6_t) + header->name_length, sizeof(int64_t));
6464
}
6565

6666
int aeron_res_header_entry_length(void *res, size_t remaining)
6767
{
68-
if (remaining < AERON_RES_HEADER_LENGTH)
68+
if (remaining < sizeof(aeron_resolution_header_t))
6969
{
7070
return -1;
7171
}
@@ -77,7 +77,7 @@ int aeron_res_header_entry_length(void *res, size_t remaining)
7777
{
7878
case AERON_RES_HEADER_TYPE_NAME_TO_IP6_MD:
7979
{
80-
if (AERON_RES_IPV6_HEADER_LENGTH <= remaining)
80+
if (sizeof(aeron_resolution_header_ipv6_t) <= remaining)
8181
{
8282
aeron_resolution_header_ipv6_t *res_ipv6 = (aeron_resolution_header_ipv6_t *)res_header;
8383
size_t entry_length = aeron_res_header_entry_length_ipv6(res_ipv6);
@@ -88,7 +88,7 @@ int aeron_res_header_entry_length(void *res, size_t remaining)
8888

8989
case AERON_RES_HEADER_TYPE_NAME_TO_IP4_MD:
9090
{
91-
if (AERON_RES_IPV4_HEADER_LENGTH <= remaining)
91+
if (sizeof(aeron_resolution_header_ipv4_t) <= remaining)
9292
{
9393
aeron_resolution_header_ipv4_t *res_ipv4 = (aeron_resolution_header_ipv4_t *)res_header;
9494
size_t entry_length = aeron_res_header_entry_length_ipv4(res_ipv4);

aeron-client/src/main/c/protocol/aeron_udp_protocol.h

Lines changed: 18 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,6 @@ typedef struct aeron_frame_header_stct
3232
}
3333
aeron_frame_header_t;
3434

35-
typedef struct aeron_data_header_stct
36-
{
37-
aeron_frame_header_t frame_header;
38-
int32_t term_offset;
39-
int32_t session_id;
40-
int32_t stream_id;
41-
int32_t term_id;
42-
int64_t reserved_value;
43-
}
44-
aeron_data_header_t;
45-
4635
typedef struct aeron_data_header_as_longs_stct
4736
{
4837
uint64_t hdr[4];
@@ -63,6 +52,17 @@ typedef struct aeron_setup_header_stct
6352
}
6453
aeron_setup_header_t;
6554

55+
typedef struct aeron_data_header_stct
56+
{
57+
aeron_frame_header_t frame_header;
58+
int32_t term_offset;
59+
int32_t session_id;
60+
int32_t stream_id;
61+
int32_t term_id;
62+
int64_t reserved_value;
63+
}
64+
aeron_data_header_t;
65+
6666
typedef struct aeron_nak_header_stct
6767
{
6868
aeron_frame_header_t frame_header;
@@ -86,6 +86,12 @@ typedef struct aeron_status_message_header_stct
8686
}
8787
aeron_status_message_header_t;
8888

89+
typedef struct aeron_status_message_optional_header_stct
90+
{
91+
int64_t group_tag;
92+
}
93+
aeron_status_message_optional_header_t;
94+
8995
struct aeron_error_stct
9096
{
9197
aeron_frame_header_t frame_header;
@@ -98,12 +104,6 @@ struct aeron_error_stct
98104
};
99105
typedef struct aeron_error_stct aeron_error_t;
100106

101-
typedef struct aeron_status_message_optional_header_stct
102-
{
103-
int64_t group_tag;
104-
}
105-
aeron_status_message_optional_header_t;
106-
107107
typedef struct aeron_rttm_header_stct
108108
{
109109
aeron_frame_header_t frame_header;
@@ -184,16 +184,6 @@ int aeron_udp_protocol_group_tag(aeron_status_message_header_t *sm, int64_t *gro
184184

185185
#define AERON_FRAME_HEADER_LENGTH (sizeof(aeron_frame_header_t))
186186
#define AERON_DATA_HEADER_LENGTH (sizeof(aeron_data_header_t))
187-
#define AERON_NAK_HEADER_LENGTH (sizeof(aeron_nak_header_t))
188-
#define AERON_SM_HEADER_LENGTH (sizeof(aeron_status_message_header_t))
189-
#define AERON_SM_OPTIONAL_HEADER_LENGTH (sizeof(aeron_status_message_optional_header_t))
190-
#define AERON_ERROR_HEADER_LENGTH (sizeof(aeron_error_t))
191-
#define AERON_SETUP_HEADER_LENGTH (sizeof(aeron_setup_header_t))
192-
#define AERON_RTTM_HEADER_LENGTH (sizeof(aeron_rttm_header_t))
193-
#define AERON_RES_HEADER_LENGTH (sizeof(aeron_resolution_header_t))
194-
#define AERON_RES_IPV4_HEADER_LENGTH (sizeof(aeron_resolution_header_ipv4_t))
195-
#define AERON_RES_IPV6_HEADER_LENGTH (sizeof(aeron_resolution_header_ipv6_t))
196-
#define AERON_RSP_SETUP_HEADER_LENGTH (sizeof(aeron_response_setup_header_t))
197187

198188
#define AERON_DATA_HEADER_BEGIN_FLAG (UINT8_C(0x80))
199189
#define AERON_DATA_HEADER_END_FLAG (UINT8_C(0x40))
@@ -231,7 +221,7 @@ int aeron_udp_protocol_group_tag(aeron_status_message_header_t *sm, int64_t *gro
231221
#define AERON_OPT_HDR_ALIGNMENT (4u)
232222

233223
#define AERON_ERROR_MAX_TEXT_LENGTH (1023)
234-
#define AERON_ERROR_MAX_FRAME_LENGTH (AERON_ERROR_HEADER_LENGTH + AERON_ERROR_MAX_TEXT_LENGTH)
224+
#define AERON_ERROR_MAX_FRAME_LENGTH (sizeof(aeron_error_t) + AERON_ERROR_MAX_TEXT_LENGTH)
235225
#define AERON_ERROR_HAS_GROUP_TAG_FLAG (0x08)
236226

237227
inline bool aeron_is_frame_valid(const aeron_frame_header_t *header, const size_t frame_length)

aeron-driver/src/main/c/aeron_driver_name_resolver.c

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -608,12 +608,12 @@ void aeron_driver_name_resolver_receive(
608608
return;
609609
}
610610

611-
remaining -= AERON_FRAME_HEADER_LENGTH;
611+
remaining -= sizeof(aeron_frame_header_t);
612612

613613
while (0 < remaining)
614614
{
615615
const size_t offset = length - remaining;
616-
if (AERON_HDR_TYPE_RES != frame_header->type || remaining < AERON_RES_HEADER_LENGTH)
616+
if (AERON_HDR_TYPE_RES != frame_header->type || remaining < sizeof(aeron_resolution_header_t))
617617
{
618618
aeron_counter_increment(resolver->invalid_packets_counter);
619619
return;
@@ -631,7 +631,7 @@ void aeron_driver_name_resolver_receive(
631631
if (AERON_RES_HEADER_TYPE_NAME_TO_IP4_MD == resolution_header->res_type)
632632
{
633633
aeron_resolution_header_ipv4_t *ip4_hdr = (aeron_resolution_header_ipv4_t *)resolution_header;
634-
if (length < AERON_RES_IPV4_HEADER_LENGTH ||
634+
if (length < sizeof(aeron_resolution_header_ipv4_t) ||
635635
length < (entry_length = aeron_res_header_entry_length_ipv4(ip4_hdr)))
636636
{
637637
aeron_counter_increment(resolver->invalid_packets_counter);
@@ -645,7 +645,7 @@ void aeron_driver_name_resolver_receive(
645645
else if (AERON_RES_HEADER_TYPE_NAME_TO_IP6_MD == resolution_header->res_type)
646646
{
647647
aeron_resolution_header_ipv6_t *ip6_hdr = (aeron_resolution_header_ipv6_t *)resolution_header;
648-
if (length < AERON_RES_IPV6_HEADER_LENGTH ||
648+
if (length < sizeof(aeron_resolution_header_ipv6_t) ||
649649
length < (entry_length = aeron_res_header_entry_length_ipv6(ip6_hdr)))
650650
{
651651
aeron_counter_increment(resolver->invalid_packets_counter);
@@ -792,7 +792,7 @@ static int aeron_driver_name_resolver_send_self_resolutions(
792792
return 0;
793793
}
794794

795-
const size_t entry_offset = AERON_FRAME_HEADER_LENGTH;
795+
const size_t entry_offset = sizeof(aeron_frame_header_t);
796796
uint8_t *aligned_buffer = driver_resolver->aligned_buffer;
797797
aeron_frame_header_t *frame_header = (aeron_frame_header_t *)&aligned_buffer[0];
798798
aeron_resolution_header_t *resolution_header = (aeron_resolution_header_t *)&aligned_buffer[entry_offset];
@@ -809,7 +809,7 @@ static int aeron_driver_name_resolver_send_self_resolutions(
809809

810810
assert(0 <= entry_length || "local_cache_addr should of been correctly constructed during init");
811811

812-
size_t frame_length = AERON_FRAME_HEADER_LENGTH + (size_t)entry_length;
812+
size_t frame_length = sizeof(aeron_frame_header_t) + (size_t)entry_length;
813813

814814
frame_header->type = AERON_HDR_TYPE_RES;
815815
frame_header->flags = UINT8_C(0);
@@ -915,7 +915,7 @@ static int aeron_driver_name_resolver_send_neighbor_resolutions(aeron_driver_nam
915915
int work_count = 0;
916916
for (i = 0; i < resolver->cache.entries.length;)
917917
{
918-
size_t entry_offset = AERON_FRAME_HEADER_LENGTH;
918+
size_t entry_offset = sizeof(aeron_frame_header_t);
919919

920920
for (j = i; j < resolver->cache.entries.length;)
921921
{
@@ -1026,7 +1026,7 @@ int aeron_driver_name_resolver_set_resolution_header(
10261026
switch (cache_addr->res_type)
10271027
{
10281028
case AERON_RES_HEADER_TYPE_NAME_TO_IP4_MD:
1029-
entry_length = AERON_ALIGN(AERON_RES_IPV4_HEADER_LENGTH + name_length, sizeof(int64_t));
1029+
entry_length = AERON_ALIGN(sizeof(aeron_resolution_header_ipv4_t) + name_length, sizeof(int64_t));
10301030
if (capacity < entry_length)
10311031
{
10321032
return 0;
@@ -1035,12 +1035,12 @@ int aeron_driver_name_resolver_set_resolution_header(
10351035
aeron_resolution_header_ipv4_t *hdr_ipv4 = (aeron_resolution_header_ipv4_t *)resolution_header;
10361036
memcpy(hdr_ipv4->addr, cache_addr->address, sizeof(hdr_ipv4->addr));
10371037
hdr_ipv4->name_length = (int16_t)name_length;
1038-
name_offset = AERON_RES_IPV4_HEADER_LENGTH;
1038+
name_offset = sizeof(aeron_resolution_header_ipv4_t);
10391039

10401040
break;
10411041

10421042
case AERON_RES_HEADER_TYPE_NAME_TO_IP6_MD:
1043-
entry_length = AERON_ALIGN(AERON_RES_IPV6_HEADER_LENGTH + name_length, sizeof(int64_t));
1043+
entry_length = AERON_ALIGN(sizeof(aeron_resolution_header_ipv6_t) + name_length, sizeof(int64_t));
10441044
if (capacity < entry_length)
10451045
{
10461046
return 0;
@@ -1050,7 +1050,7 @@ int aeron_driver_name_resolver_set_resolution_header(
10501050

10511051
memcpy(hdr_ipv6->addr, cache_addr->address, sizeof(hdr_ipv6->addr));
10521052
hdr_ipv6->name_length = (int16_t)name_length;
1053-
name_offset = AERON_RES_IPV6_HEADER_LENGTH;
1053+
name_offset = sizeof(aeron_resolution_header_ipv6_t);
10541054

10551055
break;
10561056

aeron-driver/src/main/c/aeron_network_publication.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -441,15 +441,15 @@ int aeron_network_publication_setup_message_check(
441441

442442
if (now_ns > (publication->time_of_last_setup_ns + AERON_NETWORK_PUBLICATION_SETUP_TIMEOUT_NS))
443443
{
444-
uint8_t setup_buffer[AERON_SETUP_HEADER_LENGTH];
444+
uint8_t setup_buffer[sizeof(aeron_setup_header_t)];
445445
aeron_setup_header_t *setup_header = (aeron_setup_header_t *)setup_buffer;
446446
struct iovec iov;
447447

448448
uint8_t send_response_flag = (!publication->is_response && AERON_NULL_VALUE != publication->response_correlation_id) ?
449449
AERON_SETUP_HEADER_SEND_RESPONSE_FLAG : 0;
450450
uint8_t group_flag = publication->retransmit_handler.has_group_semantics ? AERON_SETUP_HEADER_GROUP_FLAG : 0;
451451

452-
setup_header->frame_header.frame_length = AERON_SETUP_HEADER_LENGTH;
452+
setup_header->frame_header.frame_length = sizeof(aeron_setup_header_t);
453453
setup_header->frame_header.version = AERON_FRAME_HEADER_VERSION;
454454
setup_header->frame_header.flags = 0;
455455
setup_header->frame_header.type = AERON_HDR_TYPE_SETUP;
@@ -464,14 +464,14 @@ int aeron_network_publication_setup_message_check(
464464
setup_header->ttl = publication->endpoint->conductor_fields.udp_channel->multicast_ttl;
465465

466466
iov.iov_base = setup_buffer;
467-
iov.iov_len = AERON_SETUP_HEADER_LENGTH;
467+
iov.iov_len = sizeof(aeron_setup_header_t);
468468

469469
if (publication->is_setup_elicited)
470470
{
471471
publication->flow_control->on_setup(
472472
publication->flow_control->state,
473473
setup_buffer,
474-
AERON_SETUP_HEADER_LENGTH,
474+
sizeof(aeron_setup_header_t),
475475
now_ns,
476476
*publication->snd_lmt_position.value_addr,
477477
publication->position_bits_to_shift,
@@ -524,7 +524,7 @@ int aeron_network_publication_heartbeat_message_check(
524524
flags |= AERON_DATA_HEADER_EOS_FLAG;
525525
}
526526

527-
uint8_t heartbeat_buffer[AERON_DATA_HEADER_LENGTH];
527+
uint8_t heartbeat_buffer[sizeof(aeron_data_header_t)];
528528
aeron_data_header_t *data_header = (aeron_data_header_t *)heartbeat_buffer;
529529
struct iovec iov;
530530

@@ -539,7 +539,7 @@ int aeron_network_publication_heartbeat_message_check(
539539
data_header->reserved_value = 0l;
540540

541541
iov.iov_base = heartbeat_buffer;
542-
iov.iov_len = AERON_DATA_HEADER_LENGTH;
542+
iov.iov_len = sizeof(aeron_data_header_t);
543543

544544
if (0 <= (result = aeron_network_publication_do_send(publication, &iov, 1, &bytes_sent)))
545545
{
@@ -926,12 +926,12 @@ void aeron_network_publication_on_rttm(
926926

927927
if (rttm_in_header->frame_header.flags & AERON_RTTM_HEADER_REPLY_FLAG)
928928
{
929-
uint8_t rttm_reply_buffer[AERON_RTTM_HEADER_LENGTH];
929+
uint8_t rttm_reply_buffer[sizeof(aeron_rttm_header_t)];
930930
aeron_rttm_header_t *rttm_out_header = (aeron_rttm_header_t *)rttm_reply_buffer;
931931
struct iovec iov;
932932
int64_t bytes_sent;
933933

934-
rttm_out_header->frame_header.frame_length = AERON_RTTM_HEADER_LENGTH;
934+
rttm_out_header->frame_header.frame_length = sizeof(aeron_rttm_header_t);
935935
rttm_out_header->frame_header.version = AERON_FRAME_HEADER_VERSION;
936936
rttm_out_header->frame_header.flags = 0;
937937
rttm_out_header->frame_header.type = AERON_HDR_TYPE_RTTM;
@@ -942,7 +942,7 @@ void aeron_network_publication_on_rttm(
942942
rttm_out_header->receiver_id = rttm_in_header->receiver_id;
943943

944944
iov.iov_base = rttm_reply_buffer;
945-
iov.iov_len = AERON_RTTM_HEADER_LENGTH;
945+
iov.iov_len = sizeof(aeron_rttm_header_t);
946946

947947
if (0 <= aeron_network_publication_do_send(publication, &iov, 1, &bytes_sent))
948948
{

aeron-driver/src/main/c/agent/aeron_driver_agent.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2027,7 +2027,7 @@ const char *aeron_driver_agent_dissect_frame(const void *message, size_t length)
20272027
case AERON_HDR_TYPE_ERR:
20282028
{
20292029
aeron_error_t *err = (aeron_error_t *)message;
2030-
const char *error_msg = (const char *)message + AERON_ERROR_HEADER_LENGTH;
2030+
const char *error_msg = (const char *)message + sizeof(aeron_error_t);
20312031

20322032
snprintf(
20332033
buffer,
@@ -2123,7 +2123,7 @@ const char *aeron_driver_agent_dissect_frame(const void *message, size_t length)
21232123
(int)sizeof(dissected_flags),
21242124
dissect_flags(hdr->flags, dissected_flags),
21252125
hdr->frame_length);
2126-
size_t message_offset = AERON_FRAME_HEADER_LENGTH;
2126+
size_t message_offset = sizeof(aeron_frame_header_t);
21272127

21282128
while (message_offset < length && buffer_used < buffer_available)
21292129
{
@@ -2145,7 +2145,7 @@ const char *aeron_driver_agent_dissect_frame(const void *message, size_t length)
21452145
aeron_resolution_header_ipv6_t *res_ipv6 = (aeron_resolution_header_ipv6_t *)res;
21462146
address = res_ipv6->addr;
21472147
name_length = res_ipv6->name_length;
2148-
name = &message_bytes[message_offset + AERON_RES_IPV6_HEADER_LENGTH];
2148+
name = &message_bytes[message_offset + sizeof(aeron_resolution_header_ipv6_t)];
21492149
break;
21502150
}
21512151

@@ -2154,7 +2154,7 @@ const char *aeron_driver_agent_dissect_frame(const void *message, size_t length)
21542154
aeron_resolution_header_ipv4_t *res_ipv4 = (aeron_resolution_header_ipv4_t *)res;
21552155
address = res_ipv4->addr;
21562156
name_length = res_ipv4->name_length;
2157-
name = &message_bytes[message_offset + AERON_RES_IPV4_HEADER_LENGTH];
2157+
name = &message_bytes[message_offset + sizeof(aeron_resolution_header_ipv4_t)];
21582158
break;
21592159
}
21602160
}

0 commit comments

Comments
 (0)