Chromium Code Reviews| Index: blimp/net/blob_channel/blob_channel_receiver.cc |
| diff --git a/blimp/net/blob_channel/blob_channel_receiver.cc b/blimp/net/blob_channel/blob_channel_receiver.cc |
| index 7200dd3219e3b17cb3fb460793c1ff1e4d11181c..5819854a5b0998f37ece339bbc2ec669b62d70f6 100644 |
| --- a/blimp/net/blob_channel/blob_channel_receiver.cc |
| +++ b/blimp/net/blob_channel/blob_channel_receiver.cc |
| @@ -13,39 +13,45 @@ namespace blimp { |
| BlobChannelReceiver::Delegate::Delegate() {} |
| BlobChannelReceiver::Delegate::~Delegate() { |
| - DCHECK(!receiver_); |
| + DCHECK(receiver_); |
| } |
| void BlobChannelReceiver::Delegate::SetReceiver(BlobChannelReceiver* receiver) { |
| + DCHECK(receiver); |
| + DCHECK(!receiver_); |
| + |
| receiver_ = receiver; |
| } |
| void BlobChannelReceiver::Delegate::OnBlobReceived(const BlobId& id, |
| BlobDataPtr data) { |
| - if (receiver_) { |
| - receiver_->OnBlobReceived(id, data); |
| - } |
| + receiver_->OnBlobReceived(id, data); |
| } |
| -BlobChannelReceiver::BlobChannelReceiver(std::unique_ptr<BlobCache> cache, |
| - std::unique_ptr<Delegate> delegate) |
| +BlobChannelReceiver::BlobChannelReceiver() {} |
| + |
| +BlobChannelReceiver::~BlobChannelReceiver() {} |
| + |
| +BlobChannelReceiverImpl::BlobChannelReceiverImpl( |
| + std::unique_ptr<BlobCache> cache, |
| + std::unique_ptr<Delegate> delegate) |
| : cache_(std::move(cache)), delegate_(std::move(delegate)) { |
| DCHECK(cache_); |
| + |
| delegate_->SetReceiver(this); |
| } |
| -BlobChannelReceiver::~BlobChannelReceiver() { |
| - delegate_->SetReceiver(nullptr); |
|
Wez
2016/05/20 21:46:17
Did you mean to remove the SetReceiver(nullptr) ca
Kevin M
2016/05/23 20:48:07
Nope, it was just unnecessary, since |delegate_| i
|
| -} |
| +BlobChannelReceiverImpl::~BlobChannelReceiverImpl() {} |
| -BlobDataPtr BlobChannelReceiver::Get(const BlobId& id) { |
| +BlobDataPtr BlobChannelReceiverImpl::Get(const BlobId& id) { |
| DVLOG(2) << "Get blob: " << id; |
| base::AutoLock lock(cache_lock_); |
| return cache_->Get(id); |
| } |
| -void BlobChannelReceiver::OnBlobReceived(const BlobId& id, BlobDataPtr data) { |
| +void BlobChannelReceiverImpl::OnBlobReceived(const BlobId& id, |
| + BlobDataPtr data) { |
| DVLOG(2) << "Blob received: " << id; |
| base::AutoLock lock(cache_lock_); |