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

Unified Diff: ipc/ipc_sync_message.cc

Issue 9447084: Refactor Pickle Read methods to use higher performance PickleIterator. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: compile (racing with incoming CLs) Created 8 years, 9 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_sync_message.h ('k') | ipc/ipc_tests.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ipc/ipc_sync_message.cc
diff --git a/ipc/ipc_sync_message.cc b/ipc/ipc_sync_message.cc
index 875f97b1fec167162f83a5919f7fe8e4cf91b534..eb0a917d6e49d0b42a0f7f2d0a9788b7b7ae1ff2 100644
--- a/ipc/ipc_sync_message.cc
+++ b/ipc/ipc_sync_message.cc
@@ -74,10 +74,12 @@ bool SyncMessage::IsMessageReplyTo(const Message& msg, int request_id) {
return GetMessageId(msg) == request_id;
}
-void* SyncMessage::GetDataIterator(const Message* msg) {
- void* iter = const_cast<char*>(msg->payload());
- UpdateIter(&iter, kSyncMessageHeaderSize);
- return iter;
+PickleIterator SyncMessage::GetDataIterator(const Message* msg) {
+ PickleIterator iter(*msg);
+ if (!iter.SkipBytes(kSyncMessageHeaderSize))
+ return PickleIterator();
+ else
+ return iter;
}
int SyncMessage::GetMessageId(const Message& msg) {
@@ -110,7 +112,7 @@ Message* SyncMessage::GenerateReply(const Message* msg) {
bool SyncMessage::ReadSyncHeader(const Message& msg, SyncHeader* header) {
DCHECK(msg.is_sync() || msg.is_reply());
- void* iter = NULL;
+ PickleIterator iter(msg);
bool result = msg.ReadInt(&iter, &header->message_id);
if (!result) {
NOTREACHED();
« no previous file with comments | « ipc/ipc_sync_message.h ('k') | ipc/ipc_tests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698