Chromium Code Reviews| Index: net/http/disk_cache_based_quic_server_info.cc |
| diff --git a/net/http/disk_cache_based_quic_server_info.cc b/net/http/disk_cache_based_quic_server_info.cc |
| index aa322ab3f08079a351377e9fe4c948a6a0c025bd..a60df37f9d198e9487b99ed62bd41d0e5de8563b 100644 |
| --- a/net/http/disk_cache_based_quic_server_info.cc |
| +++ b/net/http/disk_cache_based_quic_server_info.cc |
| @@ -70,22 +70,27 @@ void DiskCacheBasedQuicServerInfo::Start() { |
| int DiskCacheBasedQuicServerInfo::WaitForDataReady( |
| const CompletionCallback& callback) { |
| DCHECK(CalledOnValidThread()); |
| - DCHECK(state_ != GET_BACKEND); |
| + DCHECK_NE(GET_BACKEND, state_); |
| if (ready_) |
| return OK; |
| if (!callback.is_null()) { |
| - DCHECK(user_callback_.is_null()); |
| + if (!user_callback_.is_null()) |
| + return ERR_INVALID_ARGUMENT; |
|
wtc
2014/02/11 01:01:45
1. Please add a comment to explain why we need to
ramant (doing other things)
2014/02/11 07:57:55
Done.
|
| user_callback_ = callback; |
| } |
| return ERR_IO_PENDING; |
| } |
| +bool DiskCacheBasedQuicServerInfo::IsDataReady() { |
| + return ready_; |
| +} |
| + |
| void DiskCacheBasedQuicServerInfo::Persist() { |
| DCHECK(CalledOnValidThread()); |
| - DCHECK(state_ != GET_BACKEND); |
| + DCHECK_NE(GET_BACKEND, state_); |
| DCHECK(new_data_.empty()); |
| CHECK(ready_); |
| @@ -111,6 +116,7 @@ std::string DiskCacheBasedQuicServerInfo::key() const { |
| void DiskCacheBasedQuicServerInfo::OnIOComplete(CacheOperationDataShim* unused, |
| int rv) { |
| + DCHECK_NE(NONE, state_); |
| rv = DoLoop(rv); |
| if (rv != ERR_IO_PENDING && !user_callback_.is_null()) { |
| CompletionCallback callback = user_callback_; |
| @@ -272,6 +278,7 @@ int DiskCacheBasedQuicServerInfo::DoSetDone() { |
| if (entry_) |
| entry_->Close(); |
| entry_ = NULL; |
| + new_data_.clear(); |
| state_ = NONE; |
| return OK; |
| } |