summaryrefslogtreecommitdiffstats
path: root/fnet
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@verizonmedia.com>2019-02-06 14:17:18 +0000
committerTor Brede Vekterli <vekterli@verizonmedia.com>2019-02-06 14:23:45 +0000
commit6dc6ad0e038f75075e2f1972d335563760dec4ef (patch)
treeb1cba9a2dee47a7365dc88ae6892e9a11d941bf8 /fnet
parent1cb2f6848f7fc151fe5b7be6637dfec882809de5 (diff)
Debug log connection peer spec on handshake
Keeping this at debug level for now, but at least the information is readily available.
Diffstat (limited to 'fnet')
-rw-r--r--fnet/src/vespa/fnet/connection.cpp9
-rw-r--r--fnet/src/vespa/fnet/connection.h5
2 files changed, 13 insertions, 1 deletions
diff --git a/fnet/src/vespa/fnet/connection.cpp b/fnet/src/vespa/fnet/connection.cpp
index e028afe5deb..1a5834d6e96 100644
--- a/fnet/src/vespa/fnet/connection.cpp
+++ b/fnet/src/vespa/fnet/connection.cpp
@@ -218,11 +218,12 @@ FNET_Connection::handshake()
bool broken = false;
switch (_socket->handshake()) {
case vespalib::CryptoSocket::HandshakeResult::FAIL:
- LOG(debug, "Connection(%s): handshake failed", GetSpec());
+ LOG(debug, "Connection(%s): handshake failed with peer %s", GetSpec(), GetPeerSpec().c_str());
SetState(FNET_CLOSED);
broken = true;
break;
case vespalib::CryptoSocket::HandshakeResult::DONE: {
+ LOG(debug, "Connection(%s): handshake done with peer %s", GetSpec(), GetPeerSpec().c_str());
EnableReadEvent(true);
EnableWriteEvent(writePendingAfterConnect());
_flags._framed = (_socket->min_read_buffer_size() > 1);
@@ -752,3 +753,9 @@ FNET_Connection::HandleWriteEvent()
}
return !broken;
}
+
+vespalib::string
+FNET_Connection::GetPeerSpec() const
+{
+ return vespalib::SocketAddress::peer_address(_socket->get_fd()).spec();
+}
diff --git a/fnet/src/vespa/fnet/connection.h b/fnet/src/vespa/fnet/connection.h
index 44ad3fea97d..40f826243bf 100644
--- a/fnet/src/vespa/fnet/connection.h
+++ b/fnet/src/vespa/fnet/connection.h
@@ -230,6 +230,11 @@ private:
bool Write();
bool writePendingAfterConnect();
+
+ /**
+ * @return address spec of socket peer. Only makes sense to call on non-listening sockets.
+ */
+ vespalib::string GetPeerSpec() const;
public:
/**