Add a function to get human-readable names for the various wire protocol
versions.
Signed-off-by: Josh Steadmon <redacted>
---
protocol.c | 14 ++++++++++++++
protocol.h | 6 ++++++
2 files changed, 20 insertions(+)
diff --git a/protocol.c b/protocol.c
index 052d7edbb9..7ec7ce896e 100644
--- a/protocol.c
+++ b/protocol.c
@@ -14,6 +14,20 @@ static enum protocol_version parse_protocol_version(const char *value)
return protocol_unknown_version;
}
+const char *format_protocol_version(enum protocol_version version)
+{
+ switch (version) {
+ case protocol_v0:
+ return "0";
+ case protocol_v1:
+ return "1";
+ case protocol_v2:
+ return "2";
+ default:
+ return "UNKNOWN_VERSION";
+ }
+}
+
enum protocol_version get_protocol_version_config(void)
{
const char *value;diff --git a/protocol.h b/protocol.h
index cef1a4a01c..22e7a70912 100644
--- a/protocol.h
+++ b/protocol.h
@@ -8,6 +8,12 @@ enum protocol_version {
protocol_v2 = 2,
};
+/*
+ * Return a string representation for a given protocol version. Mainly used to
+ * handle protocol_unknown_version nicely.
+ */
+const char *format_protocol_version(enum protocol_version);
+
/*
* Used by a client to determine which protocol version to request be used when
* communicating with a server, reflecting the configured value of the--
2.32.0.554.ge1b32706d8-goog