Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(408)

Unified Diff: ipc/ipc_perftests.cc

Issue 11964002: Remove IPC::Channel::set_listener(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ipc/ipc_channel_win.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ipc/ipc_perftests.cc
diff --git a/ipc/ipc_perftests.cc b/ipc/ipc_perftests.cc
index 13337c7a77c13f4a18f9f7987bac9960b012eca9..901f07afe156415d8f3fc0d152b6a35f94a22b6d 100644
--- a/ipc/ipc_perftests.cc
+++ b/ipc/ipc_perftests.cc
@@ -88,8 +88,8 @@ class EventTimeTracker {
// "quit" is sent, it will exit.
class ChannelReflectorListener : public IPC::Listener {
public:
- explicit ChannelReflectorListener(IPC::Channel* channel)
- : channel_(channel),
+ ChannelReflectorListener()
+ : channel_(NULL),
latency_tracker_("Client messages") {
VLOG(1) << "Client listener up";
}
@@ -99,7 +99,14 @@ class ChannelReflectorListener : public IPC::Listener {
latency_tracker_.ShowResults();
}
+ void Init(IPC::Channel* channel) {
+ DCHECK(!channel_);
+ channel_ = channel;
+ }
+
virtual bool OnMessageReceived(const IPC::Message& message) {
+ CHECK(channel_);
+
PickleIterator iter(message);
int64 time_internal;
EXPECT_TRUE(iter.ReadInt64(&time_internal));
@@ -138,8 +145,8 @@ class ChannelReflectorListener : public IPC::Listener {
class ChannelPerfListener : public IPC::Listener {
public:
- ChannelPerfListener(IPC::Channel* channel)
- : channel_(channel),
+ ChannelPerfListener()
+ : channel_(NULL),
msg_count_(0),
msg_size_(0),
count_down_(0),
@@ -151,6 +158,11 @@ class ChannelPerfListener : public IPC::Listener {
VLOG(1) << "Server listener down";
}
+ void Init(IPC::Channel* channel) {
+ DCHECK(!channel_);
+ channel_ = channel;
+ }
+
// Call this before running the message loop.
void SetTestParams(int msg_count, size_t msg_size) {
DCHECK_EQ(0, count_down_);
@@ -161,6 +173,8 @@ class ChannelPerfListener : public IPC::Listener {
}
virtual bool OnMessageReceived(const IPC::Message& message) {
+ CHECK(channel_);
+
PickleIterator iter(message);
int64 time_internal;
EXPECT_TRUE(iter.ReadInt64(&time_internal));
@@ -216,9 +230,10 @@ class ChannelPerfListener : public IPC::Listener {
TEST_F(IPCChannelPerfTest, Performance) {
// Setup IPC channel.
- IPC::Channel chan(kReflectorChannel, IPC::Channel::MODE_SERVER, NULL);
- ChannelPerfListener perf_listener(&chan);
- chan.set_listener(&perf_listener);
+ ChannelPerfListener perf_listener;
+ IPC::Channel chan(kReflectorChannel, IPC::Channel::MODE_SERVER,
+ &perf_listener);
+ perf_listener.Init(&chan);
ASSERT_TRUE(chan.Connect());
base::ProcessHandle process_handle = SpawnChild(TEST_REFLECTOR, &chan);
@@ -261,9 +276,10 @@ TEST_F(IPCChannelPerfTest, Performance) {
// This message loop bounces all messages back to the sender.
MULTIPROCESS_IPC_TEST_MAIN(RunReflector) {
MessageLoopForIO main_message_loop;
- IPC::Channel chan(kReflectorChannel, IPC::Channel::MODE_CLIENT, NULL);
- ChannelReflectorListener channel_reflector_listener(&chan);
- chan.set_listener(&channel_reflector_listener);
+ ChannelReflectorListener channel_reflector_listener;
+ IPC::Channel chan(kReflectorChannel, IPC::Channel::MODE_CLIENT,
+ &channel_reflector_listener);
+ channel_reflector_listener.Init(&chan);
CHECK(chan.Connect());
MessageLoop::current()->Run();
« no previous file with comments | « ipc/ipc_channel_win.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698