| Index: blimp/net/message_port.cc
|
| diff --git a/blimp/net/message_port.cc b/blimp/net/message_port.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..039abdb642bc411ffc270905efa6d1e925e9a1dd
|
| --- /dev/null
|
| +++ b/blimp/net/message_port.cc
|
| @@ -0,0 +1,55 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "blimp/net/message_port.h"
|
| +
|
| +#include <utility>
|
| +
|
| +#include "base/memory/ptr_util.h"
|
| +#include "blimp/net/compressed_packet_reader.h"
|
| +#include "blimp/net/compressed_packet_writer.h"
|
| +#include "blimp/net/packet_reader.h"
|
| +#include "blimp/net/packet_writer.h"
|
| +#include "blimp/net/stream_packet_reader.h"
|
| +#include "blimp/net/stream_packet_writer.h"
|
| +#include "net/socket/stream_socket.h"
|
| +
|
| +namespace blimp {
|
| +namespace {
|
| +
|
| +class CompressedStreamSocketMessagePort : public MessagePort {
|
| + public:
|
| + explicit CompressedStreamSocketMessagePort(
|
| + std::unique_ptr<net::StreamSocket> socket);
|
| + ~CompressedStreamSocketMessagePort() override {}
|
| +
|
| + private:
|
| + std::unique_ptr<net::StreamSocket> socket_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(CompressedStreamSocketMessagePort);
|
| +};
|
| +
|
| +CompressedStreamSocketMessagePort::CompressedStreamSocketMessagePort(
|
| + std::unique_ptr<net::StreamSocket> socket)
|
| + : MessagePort(base::MakeUnique<CompressedPacketReader>(
|
| + base::MakeUnique<StreamPacketReader>(socket.get())),
|
| + base::MakeUnique<CompressedPacketWriter>(
|
| + base::MakeUnique<StreamPacketWriter>(socket.get()))),
|
| + socket_(std::move(socket)) {}
|
| +
|
| +} // namespace
|
| +
|
| +// static
|
| +std::unique_ptr<MessagePort> MessagePort::CreateForStreamSocketWithCompression(
|
| + std::unique_ptr<net::StreamSocket> socket) {
|
| + return base::MakeUnique<CompressedStreamSocketMessagePort>(std::move(socket));
|
| +}
|
| +
|
| +MessagePort::MessagePort(std::unique_ptr<PacketReader> reader,
|
| + std::unique_ptr<PacketWriter> writer)
|
| + : reader_(std::move(reader)), writer_(std::move(writer)) {}
|
| +
|
| +MessagePort::~MessagePort() {}
|
| +
|
| +} // namespace blimp
|
|
|