aboutsummaryrefslogtreecommitdiff
path: root/src/node
diff options
context:
space:
mode:
authorPieter Wuille <pieter@wuille.net>2023-07-30 23:26:04 -0400
committerPieter Wuille <pieter@wuille.net>2023-10-02 18:11:11 -0400
commitb815cce50e4bfa0efea8ea02659b7042c8fb18be (patch)
treeafa56cd1e5d44347a65b9cdd7f6470842cb2cfa2 /src/node
parent432a62c4dce908729c62edcfaebc3da6387c3afe (diff)
net: expose transport types/session IDs of connections in RPC and logs
Co-authored-by: Dhruv Mehta <856960+dhruv@users.noreply.github.com>
Diffstat (limited to 'src/node')
-rw-r--r--src/node/connection_types.cpp14
-rw-r--r--src/node/connection_types.h11
2 files changed, 25 insertions, 0 deletions
diff --git a/src/node/connection_types.cpp b/src/node/connection_types.cpp
index 904f4371aa..5e4dc5bf2e 100644
--- a/src/node/connection_types.cpp
+++ b/src/node/connection_types.cpp
@@ -24,3 +24,17 @@ std::string ConnectionTypeAsString(ConnectionType conn_type)
assert(false);
}
+
+std::string TransportTypeAsString(TransportProtocolType transport_type)
+{
+ switch (transport_type) {
+ case TransportProtocolType::DETECTING:
+ return "detecting";
+ case TransportProtocolType::V1:
+ return "v1";
+ case TransportProtocolType::V2:
+ return "v2";
+ } // no default case, so the compiler can warn about missing cases
+
+ assert(false);
+}
diff --git a/src/node/connection_types.h b/src/node/connection_types.h
index 5e1abcace6..a911b95f7e 100644
--- a/src/node/connection_types.h
+++ b/src/node/connection_types.h
@@ -6,6 +6,7 @@
#define BITCOIN_NODE_CONNECTION_TYPES_H
#include <string>
+#include <stdint.h>
/** Different types of connections to a peer. This enum encapsulates the
* information we have available at the time of opening or accepting the
@@ -79,4 +80,14 @@ enum class ConnectionType {
/** Convert ConnectionType enum to a string value */
std::string ConnectionTypeAsString(ConnectionType conn_type);
+/** Transport layer version */
+enum class TransportProtocolType : uint8_t {
+ DETECTING, //!< Peer could be v1 or v2
+ V1, //!< Unencrypted, plaintext protocol
+ V2, //!< BIP324 protocol
+};
+
+/** Convert TransportProtocolType enum to a string value */
+std::string TransportTypeAsString(TransportProtocolType transport_type);
+
#endif // BITCOIN_NODE_CONNECTION_TYPES_H