]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
buffer: Move functions touching buffer::raw internals into buffer.cc
authorTommi Virtanen <tommi.virtanen@dreamhost.com>
Wed, 6 Apr 2011 20:50:46 +0000 (13:50 -0700)
committerTommi Virtanen <tommi.virtanen@dreamhost.com>
Thu, 7 Apr 2011 17:53:19 +0000 (10:53 -0700)
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
src/common/buffer.cc
src/include/buffer.h

index 11bfc4abff386f4daeb7a9577ebec83725ff2b67..48d7cd866a6f8e08a13f84e68f4271f212895735 100644 (file)
@@ -117,6 +117,25 @@ bool buffer_track_alloc = true;
     return *this;
   }
 
+  buffer::raw *buffer::ptr::clone() {
+    return _raw->clone();
+  }
+
+  void buffer::ptr::clone_in_place() {
+    raw *newraw = _raw->clone();
+    release();
+    newraw->nref.inc();
+    _raw = newraw;
+  }
+  bool buffer::ptr::do_cow() {
+    if (_raw->nref.read() > 1) {
+      //std::cout << "doing cow on " << _raw << " len " << _len << std::endl;
+      clone_in_place();
+      return true;
+    } else
+      return false;
+  }
+
 void buffer::list::encode_base64(buffer::list& o)
 {
   bufferptr bp(length() * 4 / 3 + 3);
index 5738f1a02a3b841889c9e4e420454cf160e42185..c538331f73104f38be0a5b97b516df2c42d3a723 100644 (file)
@@ -327,24 +327,10 @@ public:
     
     bool have_raw() const { return _raw ? true:false; }
 
-    raw *clone() {
-      return _raw->clone();
-    }
+    raw *clone();
     
-    void clone_in_place() {
-      raw *newraw = _raw->clone();
-      release();
-      newraw->nref.inc();
-      _raw = newraw;
-    }
-    bool do_cow() {
-      if (_raw->nref.read() > 1) {
-       //std::cout << "doing cow on " << _raw << " len " << _len << std::endl;
-       clone_in_place();
-       return true;
-      } else
-       return false;
-    }
+    void clone_in_place();
+    bool do_cow();
 
     void swap(ptr& other) {
       raw *r = _raw;