Index: blimp/net/blimp_connection.cc |
diff --git a/blimp/net/blimp_connection.cc b/blimp/net/blimp_connection.cc |
index e8f3c68cc376131814ccd41bcf308c8950a2ce91..a570dcb361eab87c2d43d79529353f081a7bb744 100644 |
--- a/blimp/net/blimp_connection.cc |
+++ b/blimp/net/blimp_connection.cc |
@@ -11,6 +11,7 @@ |
#include "base/message_loop/message_loop.h" |
#include "blimp/common/logging.h" |
#include "blimp/common/proto/blimp_message.pb.h" |
+#include "blimp/net/blimp_connection_details.h" |
#include "blimp/net/blimp_message_processor.h" |
#include "blimp/net/blimp_message_pump.h" |
#include "blimp/net/common.h" |
@@ -36,6 +37,11 @@ class BlimpMessageSender : public BlimpMessageProcessor { |
void ProcessMessage(std::unique_ptr<BlimpMessage> message, |
const net::CompletionCallback& callback) override; |
+ void SetBlimpConnectionDetails(BlimpConnectionDetails* details) { |
+ DCHECK(writer_); |
+ writer_->SetBlimpConnectionDetails(details); |
+ } |
+ |
private: |
void OnWritePacketComplete(int result); |
@@ -136,6 +142,18 @@ void BlimpConnection::SetIncomingMessageProcessor( |
message_pump_->SetMessageProcessor(processor); |
} |
+void BlimpConnection::SetBlimpConnectionDetails( |
+ BlimpConnectionDetails* details) { |
+ if (message_pump_.get()) { |
+ message_pump_->SetBlimpConnectionDetails(details); |
+ } |
+ BlimpMessageSender* sender = |
+ static_cast<BlimpMessageSender*>(outgoing_msg_processor_.get()); |
+ if (sender) { |
+ sender->SetBlimpConnectionDetails(details); |
+ } |
+} |
+ |
BlimpMessageProcessor* BlimpConnection::GetOutgoingMessageProcessor() { |
return outgoing_msg_processor_.get(); |
} |