Skip to content

Commit

Permalink
ChannelMojo Refactoring: Merge MessageReader into MessagePipeReader
Browse files Browse the repository at this point in the history
MessageReader was the sole subclass  of MessageReader.
There is no need to have two classes.
This CL also decouple ChannelMojo from MessagePipeReader
through a delegate interface.

R=viettrungluu@chromium.org
BUG=377980

Review URL: https://codereview.chromium.org/750673002

Cr-Commit-Position: refs/heads/master@{#305728}
  • Loading branch information
omo authored and Commit bot committed Nov 25, 2014
1 parent 8d4f5ec commit d68bedf
Show file tree
Hide file tree
Showing 9 changed files with 141 additions and 256 deletions.
2 changes: 0 additions & 2 deletions ipc/mojo/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ component("mojo") {
"ipc_channel_mojo.h",
"ipc_channel_mojo_host.cc",
"ipc_channel_mojo_host.h",
"ipc_channel_mojo_readers.cc",
"ipc_channel_mojo_readers.h",
"ipc_mojo_bootstrap.cc",
"ipc_mojo_bootstrap.h",
"ipc_message_pipe_reader.cc",
Expand Down
3 changes: 1 addition & 2 deletions ipc/mojo/ipc_channel_mojo.cc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
#include "base/lazy_instance.h"
#include "ipc/ipc_listener.h"
#include "ipc/mojo/client_channel.mojom.h"
#include "ipc/mojo/ipc_channel_mojo_readers.h"
#include "ipc/mojo/ipc_mojo_bootstrap.h"
#include "mojo/edk/embedder/embedder.h"
#include "mojo/public/cpp/bindings/error_handler.h"
Expand Down Expand Up @@ -279,7 +278,7 @@ void ChannelMojo::OnBootstrapError() {
void ChannelMojo::InitMessageReader(mojo::ScopedMessagePipeHandle pipe,
int32_t peer_pid) {
message_reader_ =
make_scoped_ptr(new internal::MessageReader(pipe.Pass(), this));
make_scoped_ptr(new internal::MessagePipeReader(pipe.Pass(), this));

for (size_t i = 0; i < pending_messages_.size(); ++i) {
bool sent = message_reader_->Send(make_scoped_ptr(pending_messages_[i]));
Expand Down
23 changes: 9 additions & 14 deletions ipc/mojo/ipc_channel_mojo.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,6 @@

namespace IPC {

namespace internal {
class ControlReader;
class ServerControlReader;
class ClientControlReader;
class MessageReader;
}

// Mojo-based IPC::Channel implementation over a platform handle.
//
// ChannelMojo builds Mojo MessagePipe using underlying pipe given by
Expand All @@ -51,8 +44,10 @@ class MessageReader;
// TODO(morrita): Add APIs to create extra MessagePipes to let
// Mojo-based objects talk over this Channel.
//
class IPC_MOJO_EXPORT ChannelMojo : public Channel,
public MojoBootstrap::Delegate {
class IPC_MOJO_EXPORT ChannelMojo
: public Channel,
public MojoBootstrap::Delegate,
public NON_EXPORTED_BASE(internal::MessagePipeReader::Delegate) {
public:
class Delegate {
public:
Expand Down Expand Up @@ -111,10 +106,10 @@ class IPC_MOJO_EXPORT ChannelMojo : public Channel,
// MojoBootstrapDelegate implementation
void OnBootstrapError() override;

// Called from MessagePipeReader implementations
void OnMessageReceived(Message& message);
void OnPipeClosed(internal::MessagePipeReader* reader);
void OnPipeError(internal::MessagePipeReader* reader);
// MessagePipeReader::Delegate
void OnMessageReceived(Message& message) override;
void OnPipeClosed(internal::MessagePipeReader* reader) override;
void OnPipeError(internal::MessagePipeReader* reader) override;

protected:
ChannelMojo(Delegate* delegate,
Expand Down Expand Up @@ -149,7 +144,7 @@ class IPC_MOJO_EXPORT ChannelMojo : public Channel,
scoped_ptr<mojo::embedder::ChannelInfo,
ChannelInfoDeleter> channel_info_;

scoped_ptr<internal::MessageReader, ReaderDeleter> message_reader_;
scoped_ptr<internal::MessagePipeReader, ReaderDeleter> message_reader_;
ScopedVector<Message> pending_messages_;

base::WeakPtrFactory<ChannelMojo> weak_factory_;
Expand Down
84 changes: 0 additions & 84 deletions ipc/mojo/ipc_channel_mojo_readers.cc

This file was deleted.

96 changes: 0 additions & 96 deletions ipc/mojo/ipc_channel_mojo_readers.h

This file was deleted.

1 change: 0 additions & 1 deletion ipc/mojo/ipc_channel_mojo_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
#include "ipc/ipc_test_base.h"
#include "ipc/ipc_test_channel_listener.h"
#include "ipc/mojo/ipc_channel_mojo_host.h"
#include "ipc/mojo/ipc_channel_mojo_readers.h"

#if defined(OS_POSIX)
#include "base/file_descriptor_posix.h"
Expand Down
Loading

0 comments on commit d68bedf

Please sign in to comment.