diff options
Diffstat (limited to 'net/tools/dump_cache/upgrade.cc')
-rw-r--r-- | net/tools/dump_cache/upgrade.cc | 45 |
1 files changed, 12 insertions, 33 deletions
diff --git a/net/tools/dump_cache/upgrade.cc b/net/tools/dump_cache/upgrade.cc index 60099b2..5a3cd67 100644 --- a/net/tools/dump_cache/upgrade.cc +++ b/net/tools/dump_cache/upgrade.cc @@ -104,8 +104,7 @@ enum { RESULT_OK = 0, RESULT_UNKNOWN_COMMAND, RESULT_INVALID_PARAMETER, - RESULT_NAME_OVERFLOW, - RESULT_PENDING // This error code is NOT expected by the master process. + RESULT_NAME_OVERFLOW }; // ----------------------------------------------------------------------- @@ -576,7 +575,6 @@ class SlaveSM : public BaseSM { void DoGetNextEntry(); void DoGetPrevEntry(); int32 GetEntryFromList(); - void DoGetEntryComplete(int result); void DoCloseEntry(); void DoGetKey(); void DoGetUseTimes(); @@ -587,19 +585,16 @@ class SlaveSM : public BaseSM { void Fail(); void* iterator_; - Message msg_; // Used for DoReadDataComplete and DoGetEntryComplete. + Message msg_; // Only used for DoReadDataComplete. net::CompletionCallbackImpl<SlaveSM> read_callback_; - net::CompletionCallbackImpl<SlaveSM> next_callback_; scoped_ptr<disk_cache::BackendImpl> cache_; }; SlaveSM::SlaveSM(const std::wstring& path, HANDLE channel) : BaseSM(channel), iterator_(NULL), ALLOW_THIS_IN_INITIALIZER_LIST( - read_callback_(this, &SlaveSM::DoReadDataComplete)), - ALLOW_THIS_IN_INITIALIZER_LIST( - next_callback_(this, &SlaveSM::DoGetEntryComplete)) { + read_callback_(this, &SlaveSM::DoReadDataComplete)) { disk_cache::Backend* cache; TestCompletionCallback cb; int rv = disk_cache::CreateCacheBackend(net::DISK_CACHE, @@ -677,9 +672,6 @@ bool SlaveSM::DoInit() { DEBUGMSG("\t\t\tSlave DoInit\n"); DCHECK(state_ == SLAVE_INITIAL); state_ = SLAVE_WAITING; - if (!cache_.get()) - return false; - return ReceiveMsg(); } @@ -708,11 +700,6 @@ void SlaveSM::DoGetPrevEntry() { msg.result = RESULT_UNKNOWN_COMMAND; } else { msg.result = GetEntryFromList(); - if (msg.result == RESULT_PENDING) { - // We are not done yet. - msg_ = msg; - return; - } msg.long_arg1 = reinterpret_cast<int64>(entry_); } SendMsg(msg); @@ -728,31 +715,23 @@ int32 SlaveSM::GetEntryFromList() { if (entry_) entry_->Close(); - int rv; + bool ret; if (input_->msg.command == GET_NEXT_ENTRY) { - rv = cache_->OpenNextEntry(&iterator_, - reinterpret_cast<disk_cache::Entry**>(&entry_), - &next_callback_); + ret = cache_->OpenNextEntry(&iterator_, + reinterpret_cast<disk_cache::Entry**>(&entry_)); } else { DCHECK(input_->msg.command == GET_PREV_ENTRY); - rv = cache_->OpenPrevEntry(&iterator_, - reinterpret_cast<disk_cache::Entry**>(&entry_), - &next_callback_); + ret = cache_->OpenPrevEntry(&iterator_, + reinterpret_cast<disk_cache::Entry**>(&entry_)); } - DCHECK_EQ(net::ERR_IO_PENDING, rv); - return RESULT_PENDING; -} -void SlaveSM::DoGetEntryComplete(int result) { - DEBUGMSG("\t\t\tSlave DoGetEntryComplete\n"); - if (result != net::OK) { + if (!ret) entry_ = NULL; + + if (!entry_) DEBUGMSG("\t\t\tSlave end of list\n"); - } - msg_.result = RESULT_OK; - msg_.long_arg1 = reinterpret_cast<int64>(entry_); - SendMsg(msg_); + return RESULT_OK; } void SlaveSM::DoCloseEntry() { |