| Index: remoting/protocol/fake_stream_socket.cc
|
| diff --git a/remoting/protocol/fake_stream_socket.cc b/remoting/protocol/fake_stream_socket.cc
|
| index b857ca1a1546c992a994a6972f430f651c9c60e4..12b771229b19d41b269b9e17f345c2c600d51c85 100644
|
| --- a/remoting/protocol/fake_stream_socket.cc
|
| +++ b/remoting/protocol/fake_stream_socket.cc
|
| @@ -169,12 +169,24 @@ FakeStreamSocket* FakeStreamChannelFactory::GetFakeChannel(
|
| return channels_[name].get();
|
| }
|
|
|
| +void FakeStreamChannelFactory::PairWith(
|
| + FakeStreamChannelFactory* peer_factory) {
|
| + peer_factory_ = peer_factory->weak_factory_.GetWeakPtr();
|
| + peer_factory->peer_factory_ = weak_factory_.GetWeakPtr();
|
| +}
|
| +
|
| void FakeStreamChannelFactory::CreateChannel(
|
| const std::string& name,
|
| const ChannelCreatedCallback& callback) {
|
| scoped_ptr<FakeStreamSocket> channel(new FakeStreamSocket());
|
| channels_[name] = channel->GetWeakPtr();
|
|
|
| + if (peer_factory_) {
|
| + FakeStreamSocket* peer_channel = peer_factory_->GetFakeChannel(name);
|
| + if (peer_channel)
|
| + channel->PairWith(peer_channel);
|
| + }
|
| +
|
| if (fail_create_)
|
| channel.reset();
|
|
|
|
|