]> git-server-git.apps.pok.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:48:59 +0000 (13:48 -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 a1eee29e693c4ba37a2e649eb45e288d11f1a46b..11bfc4abff386f4daeb7a9577ebec83725ff2b67 100644 (file)
@@ -74,6 +74,49 @@ bool buffer_track_alloc = true;
 #endif
   }
 
+  buffer::ptr::ptr(raw *r) : _raw(r), _off(0), _len(r->len) {   // no lock needed; this is an unref raw.
+    r->nref.inc();
+    bdout << "ptr " << this << " get " << _raw << bendl;
+  }
+  buffer::ptr::ptr(unsigned l) : _off(0), _len(l) {
+    _raw = create(l);
+    _raw->nref.inc();
+    bdout << "ptr " << this << " get " << _raw << bendl;
+  }
+  buffer::ptr::ptr(const char *d, unsigned l) : _off(0), _len(l) {    // ditto.
+    _raw = copy(d, l);
+    _raw->nref.inc();
+    bdout << "ptr " << this << " get " << _raw << bendl;
+  }
+  buffer::ptr::ptr(const ptr& p) : _raw(p._raw), _off(p._off), _len(p._len) {
+    if (_raw) {
+      _raw->nref.inc();
+      bdout << "ptr " << this << " get " << _raw << bendl;
+    }
+  }
+  buffer::ptr::ptr(const ptr& p, unsigned o, unsigned l) : _raw(p._raw), _off(p._off + o), _len(l) {
+    assert(o+l <= p._len);
+    assert(_raw);
+    _raw->nref.inc();
+    bdout << "ptr " << this << " get " << _raw << bendl;
+  }
+  buffer::ptr& buffer::ptr::operator= (const ptr& p) {
+    // be careful -- we need to properly handle self-assignment.
+    if (p._raw) {
+      p._raw->nref.inc();                      // inc new
+      bdout << "ptr " << this << " get " << _raw << bendl;
+    }
+    release();                                 // dec (+ dealloc) old (if any)
+    if (p._raw) {
+      _raw = p._raw;
+      _off = p._off;
+      _len = p._len;
+    } else {
+      _off = _len = 0;
+    }
+    return *this;
+  }
+
 void buffer::list::encode_base64(buffer::list& o)
 {
   bufferptr bp(length() * 4 / 3 + 3);
index 7f12f3d368bfc0d1617ec4be5591a82fefd87a2d..5738f1a02a3b841889c9e4e420454cf160e42185 100644 (file)
@@ -315,48 +315,12 @@ public:
 
   public:
     ptr() : _raw(0), _off(0), _len(0) {}
-    ptr(raw *r) : _raw(r), _off(0), _len(r->len) {   // no lock needed; this is an unref raw.
-      r->nref.inc();
-      bdout << "ptr " << this << " get " << _raw << bendl;
-    }
-    ptr(unsigned l) : _off(0), _len(l) {
-      _raw = create(l);
-      _raw->nref.inc();
-      bdout << "ptr " << this << " get " << _raw << bendl;
-    }
-    ptr(const char *d, unsigned l) : _off(0), _len(l) {    // ditto.
-      _raw = copy(d, l);
-      _raw->nref.inc();
-      bdout << "ptr " << this << " get " << _raw << bendl;
-    }
-    ptr(const ptr& p) : _raw(p._raw), _off(p._off), _len(p._len) {
-      if (_raw) {
-       _raw->nref.inc();
-       bdout << "ptr " << this << " get " << _raw << bendl;
-      }
-    }
-    ptr(const ptr& p, unsigned o, unsigned l) : _raw(p._raw), _off(p._off + o), _len(l) {
-      assert(o+l <= p._len);
-      assert(_raw);
-      _raw->nref.inc();
-      bdout << "ptr " << this << " get " << _raw << bendl;
-    }
-    ptr& operator= (const ptr& p) {
-      // be careful -- we need to properly handle self-assignment.
-      if (p._raw) {
-       p._raw->nref.inc();                      // inc new
-       bdout << "ptr " << this << " get " << _raw << bendl;
-      }
-      release();                                 // dec (+ dealloc) old (if any)
-      if (p._raw) {
-       _raw = p._raw;
-       _off = p._off;
-       _len = p._len;
-      } else {
-       _off = _len = 0;
-      }
-      return *this;
-    }
+    ptr(raw *r);
+    ptr(unsigned l);
+    ptr(const char *d, unsigned l);
+    ptr(const ptr& p);
+    ptr(const ptr& p, unsigned o, unsigned l);
+    ptr& operator= (const ptr& p);
     ~ptr() {
       release();
     }