[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] Refactor control_event_bootstrap() somewhat
commit 15c24d669f86715c3c24d1a50b377bd8ac65b0a7
Author: Taylor Yu <catalyst@xxxxxxxxxxxxxx>
Date: Tue Aug 28 14:31:51 2018 -0500
Refactor control_event_bootstrap() somewhat
Move the mostly-invariant part of control_event_boostrap() into a
helper control_event_bootstrap_core(). The helper doesn't modify any
state beyond doing logging and control port notifications.
---
src/feature/control/control.c | 36 +++++++++++++++++++++++++-----------
1 file changed, 25 insertions(+), 11 deletions(-)
diff --git a/src/feature/control/control.c b/src/feature/control/control.c
index 3de5fa9e1..4395cbd2c 100644
--- a/src/feature/control/control.c
+++ b/src/feature/control/control.c
@@ -7095,6 +7095,29 @@ static int bootstrap_problems = 0;
*/
#define BOOTSTRAP_PCT_INCREMENT 5
+/** Do the actual logging and notifications for
+ * control_event_bootstrap(). Doesn't change any state beyond that.
+ */
+static void
+control_event_bootstrap_core(int loglevel, bootstrap_status_t status,
+ int progress)
+{
+ char buf[BOOTSTRAP_MSG_LEN];
+ const char *tag, *summary;
+
+ bootstrap_status_to_string(status, &tag, &summary);
+
+ tor_log(loglevel, LD_CONTROL,
+ "Bootstrapped %d%%: %s", progress ? progress : status, summary);
+ tor_snprintf(buf, sizeof(buf),
+ "BOOTSTRAP PROGRESS=%d TAG=%s SUMMARY=\"%s\"",
+ progress ? progress : status, tag, summary);
+ tor_snprintf(last_sent_bootstrap_message,
+ sizeof(last_sent_bootstrap_message),
+ "NOTICE %s", buf);
+ control_event_client_status(LOG_NOTICE, "%s", buf);
+}
+
/** Called when Tor has made progress at bootstrapping its directory
* information and initial circuits.
*
@@ -7105,8 +7128,6 @@ static int bootstrap_problems = 0;
void
control_event_bootstrap(bootstrap_status_t status, int progress)
{
- const char *tag, *summary;
- char buf[BOOTSTRAP_MSG_LEN];
int loglevel = LOG_NOTICE;
if (bootstrap_percent == BOOTSTRAP_STATUS_DONE)
@@ -7131,15 +7152,8 @@ control_event_bootstrap(bootstrap_status_t status, int progress)
loglevel = LOG_INFO;
}
- tor_log(loglevel, LD_CONTROL,
- "Bootstrapped %d%%: %s", progress ? progress : status, summary);
- tor_snprintf(buf, sizeof(buf),
- "BOOTSTRAP PROGRESS=%d TAG=%s SUMMARY=\"%s\"",
- progress ? progress : status, tag, summary);
- tor_snprintf(last_sent_bootstrap_message,
- sizeof(last_sent_bootstrap_message),
- "NOTICE %s", buf);
- control_event_client_status(LOG_NOTICE, "%s", buf);
+ control_event_bootstrap_core(loglevel, status, progress);
+
if (status > bootstrap_percent) {
bootstrap_percent = status; /* new milestone reached */
}
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits