]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: further cleaning in RGWStreamIOBase.
authorRadoslaw Zarzynski <rzarzynski@mirantis.com>
Thu, 28 Jul 2016 10:25:22 +0000 (12:25 +0200)
committerRadoslaw Zarzynski <rzarzynski@mirantis.com>
Fri, 21 Oct 2016 20:57:17 +0000 (22:57 +0200)
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
src/rgw/rgw_client_io.h

index 4adb6e2b775fefb671e29faecec80c58beedf2d4..e3e5e929d229d198ac20f0c5c67703a27bb7affd 100644 (file)
@@ -33,25 +33,26 @@ public:
   virtual uint64_t get_bytes_received() const = 0;
 }; /* RGWClient IO */
 
+
 class RGWStreamIOBase : public RGWClientIO {
-protected:
-  virtual int write_data(const char *buf, int len) = 0;
   virtual int read_data(char *buf, int max) = 0;
-
+  virtual int write_data(const char *buf, int len) = 0;
 public:
-  virtual int print(const char *format, ...);
-  virtual int write(const char *buf, int len);
-  virtual void flush() = 0;
-  virtual int read(char *buf, int max, int *actual);
-
   virtual int send_status(int status, const char *status_name) = 0;
   virtual int send_100_continue() = 0;
   virtual int complete_header() = 0;
   virtual int send_content_length(uint64_t len) = 0;
-};
+  virtual void flush() = 0;
 
+  /* High-level utilities to move out to a client's facade. Those functions
+   * are not intended for overriding by a front-end glue code. That's the
+   * reason why they aren't virtuals. */
+  int print(const char *format, ...);
+  int write(const char *buf, int len);
+  int read(char *buf, int max, int *actual);
+};
 
-/* HTTP IO */
+/* HTTP IO: compatibility layer */
 class RGWStreamIO : public RGWStreamIOBase {
   bool _account;
   size_t bytes_sent;
@@ -72,10 +73,10 @@ public:
       sha256_hash(nullptr) {
   }
 
-  int write(const char *buf, int len) override;
+  int write(const char *buf, int len);
 
-  int read(char *buf, int max, int *actual) override;
-  virtual int read(char *buf, int max, int *actual, bool hash);
+  int read(char *buf, int max, int *actual);
+  int read(char *buf, int max, int *actual, bool hash);
 
   std::string grab_aws4_sha256_hash();