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

Unified Diff: blimp/net/blob_channel/blob_channel_sender.h

Issue 1985863002: Incorporate BlobChannel into Blimp image encode/decode pipeline. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@blobchannel-helium
Patch Set: fix gn dependency warning & rebase Created 4 years, 6 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 | « blimp/net/blob_channel/blob_channel_receiver.cc ('k') | blimp/net/blob_channel/blob_channel_sender.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: blimp/net/blob_channel/blob_channel_sender.h
diff --git a/blimp/net/blob_channel/blob_channel_sender.h b/blimp/net/blob_channel/blob_channel_sender.h
index 77a3d3e13552d80452998c6c6ad6b16624e1d6b8..ec121c8f896c2e4bd82494850ff19da1928c5227 100644
--- a/blimp/net/blob_channel/blob_channel_sender.h
+++ b/blimp/net/blob_channel/blob_channel_sender.h
@@ -5,55 +5,23 @@
#ifndef BLIMP_NET_BLOB_CHANNEL_BLOB_CHANNEL_SENDER_H_
#define BLIMP_NET_BLOB_CHANNEL_BLOB_CHANNEL_SENDER_H_
-#include <memory>
-#include <set>
-#include <string>
-
-#include "base/macros.h"
-#include "base/threading/thread_checker.h"
#include "blimp/common/blob_cache/blob_cache.h"
#include "blimp/net/blimp_net_export.h"
namespace blimp {
-// Sends blobs to a remote receiver.
-// The transport-specific details are provided by the caller using the Delegate
-// subclass.
class BLIMP_NET_EXPORT BlobChannelSender {
public:
- // Delegate interface for transport-specific implementations of blob transfer
- // commands.
- class Delegate {
- public:
- virtual ~Delegate() {}
-
- // Send blob |id| with payload |data| to the receiver.
- virtual void DeliverBlob(const BlobId& id, BlobDataPtr data) = 0;
- };
-
- BlobChannelSender(std::unique_ptr<BlobCache> cache,
- std::unique_ptr<Delegate> delegate);
- ~BlobChannelSender();
+ virtual ~BlobChannelSender() {}
// Puts a blob in the local BlobChannel. The blob can then be pushed to the
// remote receiver via "DeliverBlob()".
// Does nothing if there is already a blob |id| in the channel.
- void PutBlob(const BlobId& id, BlobDataPtr data);
+ virtual void PutBlob(const BlobId& id, BlobDataPtr data) = 0;
// Sends the blob |id| to the remote side, if the remote side doesn't already
// have the blob.
- void DeliverBlob(const BlobId& id);
-
- private:
- std::unique_ptr<BlobCache> cache_;
- std::unique_ptr<Delegate> delegate_;
-
- // Used to track the item IDs in the receiver's cache. This may differ from
- // the set of IDs in |cache_|, for instance if an ID hasn't yet been
- // delivered, or has been evicted at the receiver.
- std::set<BlobId> receiver_cache_contents_;
-
- DISALLOW_COPY_AND_ASSIGN(BlobChannelSender);
+ virtual void DeliverBlob(const BlobId& id) = 0;
};
} // namespace blimp
« no previous file with comments | « blimp/net/blob_channel/blob_channel_receiver.cc ('k') | blimp/net/blob_channel/blob_channel_sender.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698