Attention is currently required from: plaisthos.
Hello plaisthos,
I'd like you to do a code review.
Please visit
http://gerrit.openvpn.net/c/openvpn/+/1083?usp=email
to review the following change.
Change subject: reliable: Move gc_arena inside reliable_print_ids
......................................................................
reliable: Move gc_arena inside reliable_print_ids
There was no user that actually used it for
anything else. But there were some previous
users that generated a now useless gc_arena.
While looking through the code, modernize
the loop variable usage.
Change-Id: I8cefa9a406fe90bb3cbe481304782c639691a3a0
Signed-off-by: Frank Lichtenheld <[email protected]>
---
M src/openvpn/reliable.c
1 file changed, 25 insertions(+), 56 deletions(-)
git pull ssh://gerrit.openvpn.net:29418/openvpn refs/changes/83/1083/1
diff --git a/src/openvpn/reliable.c b/src/openvpn/reliable.c
index 424d194..6477c45 100644
--- a/src/openvpn/reliable.c
+++ b/src/openvpn/reliable.c
@@ -446,13 +446,13 @@
#ifdef ENABLE_DEBUG
/* print the current sequence of active packet IDs */
static const char *
-reliable_print_ids(const struct reliable *rel, struct gc_arena *gc)
+reliable_print_ids(const struct reliable *rel)
{
- struct buffer out = alloc_buf_gc(256, gc);
- int i;
+ struct gc_arena gc = gc_new();
+ struct buffer out = alloc_buf_gc(256, &gc);
buf_printf(&out, "[" packet_id_format "]",
(packet_id_print_type)rel->packet_id);
- for (i = 0; i < rel->size; ++i)
+ for (int i = 0; i < rel->size; ++i)
{
const struct reliable_entry *e = &rel->array[i];
if (e->active)
@@ -460,6 +460,7 @@
buf_printf(&out, " " packet_id_format,
(packet_id_print_type)e->packet_id);
}
}
+ gc_free(&gc);
return BSTR(&out);
}
#endif /* ENABLE_DEBUG */
@@ -468,9 +469,7 @@
bool
reliable_can_get(const struct reliable *rel)
{
- struct gc_arena gc = gc_new();
- int i;
- for (i = 0; i < rel->size; ++i)
+ for (int i = 0; i < rel->size; ++i)
{
const struct reliable_entry *e = &rel->array[i];
if (!e->active)
@@ -478,8 +477,7 @@
return true;
}
}
- dmsg(D_REL_LOW, "ACK no free receive buffer available: %s",
reliable_print_ids(rel, &gc));
- gc_free(&gc);
+ dmsg(D_REL_LOW, "ACK no free receive buffer available: %s",
reliable_print_ids(rel));
return false;
}
@@ -487,13 +485,11 @@
bool
reliable_not_replay(const struct reliable *rel, packet_id_type id)
{
- struct gc_arena gc = gc_new();
- int i;
if (reliable_pid_min(id, rel->packet_id))
{
goto bad;
}
- for (i = 0; i < rel->size; ++i)
+ for (int i = 0; i < rel->size; ++i)
{
const struct reliable_entry *e = &rel->array[i];
if (e->active && e->packet_id == id)
@@ -501,12 +497,10 @@
goto bad;
}
}
- gc_free(&gc);
return true;
bad:
- dmsg(D_REL_DEBUG, "ACK " packet_id_format " is a replay: %s",
(packet_id_print_type)id, reliable_print_ids(rel, &gc));
- gc_free(&gc);
+ dmsg(D_REL_DEBUG, "ACK " packet_id_format " is a replay: %s",
(packet_id_print_type)id, reliable_print_ids(rel));
return false;
}
@@ -514,19 +508,15 @@
bool
reliable_wont_break_sequentiality(const struct reliable *rel, packet_id_type
id)
{
- struct gc_arena gc = gc_new();
-
const int ret = reliable_pid_in_range2(id, rel->packet_id, rel->size);
if (!ret)
{
dmsg(D_REL_LOW, "ACK " packet_id_format " breaks sequentiality: %s",
- (packet_id_print_type)id, reliable_print_ids(rel, &gc));
+ (packet_id_print_type)id, reliable_print_ids(rel));
}
dmsg(D_REL_DEBUG, "ACK RWBS rel->size=%d rel->packet_id=%08x id=%08x
ret=%d", rel->size, rel->packet_id, id, ret);
-
- gc_free(&gc);
return ret;
}
@@ -534,8 +524,7 @@
struct buffer *
reliable_get_buf(struct reliable *rel)
{
- int i;
- for (i = 0; i < rel->size; ++i)
+ for (int i = 0; i < rel->size; ++i)
{
struct reliable_entry *e = &rel->array[i];
if (!e->active)
@@ -550,7 +539,6 @@
int
reliable_get_num_output_sequenced_available(struct reliable *rel)
{
- struct gc_arena gc = gc_new();
packet_id_type min_id = 0;
bool min_id_defined = false;
@@ -573,7 +561,6 @@
{
ret -= subtract_pid(rel->packet_id, min_id);
}
- gc_free(&gc);
return ret;
}
@@ -581,14 +568,12 @@
struct buffer *
reliable_get_buf_output_sequenced(struct reliable *rel)
{
- struct gc_arena gc = gc_new();
- int i;
packet_id_type min_id = 0;
bool min_id_defined = false;
struct buffer *ret = NULL;
/* find minimum active packet_id */
- for (i = 0; i < rel->size; ++i)
+ for (int i = 0; i < rel->size; ++i)
{
const struct reliable_entry *e = &rel->array[i];
if (e->active)
@@ -607,9 +592,8 @@
}
else
{
- dmsg(D_REL_LOW, "ACK output sequence broken: %s",
reliable_print_ids(rel, &gc));
+ dmsg(D_REL_LOW, "ACK output sequence broken: %s",
reliable_print_ids(rel));
}
- gc_free(&gc);
return ret;
}
@@ -617,8 +601,7 @@
struct reliable_entry *
reliable_get_entry_sequenced(struct reliable *rel)
{
- int i;
- for (i = 0; i < rel->size; ++i)
+ for (int i = 0; i < rel->size; ++i)
{
struct reliable_entry *e = &rel->array[i];
if (e->active && e->packet_id == rel->packet_id)
@@ -633,10 +616,8 @@
bool
reliable_can_send(const struct reliable *rel)
{
- struct gc_arena gc = gc_new();
- int i;
int n_active = 0, n_current = 0;
- for (i = 0; i < rel->size; ++i)
+ for (int i = 0; i < rel->size; ++i)
{
const struct reliable_entry *e = &rel->array[i];
if (e->active)
@@ -652,9 +633,8 @@
dmsg(D_REL_DEBUG, "ACK reliable_can_send active=%d current=%d : %s",
n_active,
n_current,
- reliable_print_ids(rel, &gc));
+ reliable_print_ids(rel));
- gc_free(&gc);
return n_current > 0 && !rel->hold;
}
@@ -662,11 +642,10 @@
struct buffer *
reliable_send(struct reliable *rel, int *opcode)
{
- int i;
struct reliable_entry *best = NULL;
const time_t local_now = now;
- for (i = 0; i < rel->size; ++i)
+ for (int i = 0; i < rel->size; ++i)
{
struct reliable_entry *e = &rel->array[i];
@@ -701,10 +680,9 @@
void
reliable_schedule_now(struct reliable *rel)
{
- int i;
dmsg(D_REL_DEBUG, "ACK reliable_schedule_now");
rel->hold = false;
- for (i = 0; i < rel->size; ++i)
+ for (int i = 0; i < rel->size; ++i)
{
struct reliable_entry *e = &rel->array[i];
if (e->active)
@@ -720,12 +698,10 @@
interval_t
reliable_send_timeout(const struct reliable *rel)
{
- struct gc_arena gc = gc_new();
interval_t ret = BIG_TIMEOUT;
- int i;
const time_t local_now = now;
- for (i = 0; i < rel->size; ++i)
+ for (int i = 0; i < rel->size; ++i)
{
const struct reliable_entry *e = &rel->array[i];
if (e->active)
@@ -744,9 +720,8 @@
dmsg(D_REL_DEBUG, "ACK reliable_send_timeout %d %s",
(int) ret,
- reliable_print_ids(rel, &gc));
+ reliable_print_ids(rel));
- gc_free(&gc);
return ret;
}
@@ -758,8 +733,7 @@
reliable_mark_active_incoming(struct reliable *rel, struct buffer *buf,
packet_id_type pid, int opcode)
{
- int i;
- for (i = 0; i < rel->size; ++i)
+ for (int i = 0; i < rel->size; ++i)
{
struct reliable_entry *e = &rel->array[i];
if (buf == &e->buf)
@@ -790,8 +764,7 @@
void
reliable_mark_active_outgoing(struct reliable *rel, struct buffer *buf, int
opcode)
{
- int i;
- for (i = 0; i < rel->size; ++i)
+ for (int i = 0; i < rel->size; ++i)
{
struct reliable_entry *e = &rel->array[i];
if (buf == &e->buf)
@@ -817,8 +790,7 @@
void
reliable_mark_deleted(struct reliable *rel, struct buffer *buf)
{
- int i;
- for (i = 0; i < rel->size; ++i)
+ for (int i = 0; i < rel->size; ++i)
{
struct reliable_entry *e = &rel->array[i];
if (buf == &e->buf)
@@ -836,10 +808,8 @@
void
reliable_ack_debug_print(const struct reliable_ack *ack, char *desc)
{
- int i;
-
printf("********* struct reliable_ack %s\n", desc);
- for (i = 0; i < ack->len; ++i)
+ for (int i = 0; i < ack->len; ++i)
{
printf(" %d: " packet_id_format "\n", i, (packet_id_print_type)
ack->packet_id[i]);
}
@@ -848,14 +818,13 @@
void
reliable_debug_print(const struct reliable *rel, char *desc)
{
- int i;
update_time();
printf("********* struct reliable %s\n", desc);
printf(" initial_timeout=%d\n", (int)rel->initial_timeout);
printf(" packet_id=" packet_id_format "\n", rel->packet_id);
printf(" now=%" PRIi64 "\n", (int64_t)now);
- for (i = 0; i < rel->size; ++i)
+ for (int i = 0; i < rel->size; ++i)
{
const struct reliable_entry *e = &rel->array[i];
if (e->active)
--
To view, visit http://gerrit.openvpn.net/c/openvpn/+/1083?usp=email
To unsubscribe, or for help writing mail filters, visit
http://gerrit.openvpn.net/settings
Gerrit-Project: openvpn
Gerrit-Branch: master
Gerrit-Change-Id: I8cefa9a406fe90bb3cbe481304782c639691a3a0
Gerrit-Change-Number: 1083
Gerrit-PatchSet: 1
Gerrit-Owner: flichtenheld <[email protected]>
Gerrit-Reviewer: plaisthos <[email protected]>
Gerrit-CC: openvpn-devel <[email protected]>
Gerrit-Attention: plaisthos <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
Openvpn-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openvpn-devel