X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FPacketImpl.cci;h=70ac0038b73aa1e0daf71b75fbb1b058ef784991;hb=720400ed1b874ea96481a29f0812145bb2785d40;hp=63c330c0a977d72248395f5f3f2c58be278c2891;hpb=e51092f863379f57e46063900168b059d3dc1167;p=senf.git diff --git a/senf/Packets/PacketImpl.cci b/senf/Packets/PacketImpl.cci index 63c330c..70ac003 100644 --- a/senf/Packets/PacketImpl.cci +++ b/senf/Packets/PacketImpl.cci @@ -126,9 +126,9 @@ prefix_ senf::detail::PacketImpl::PacketImpl(size_type size, byte initValue) // reference/memory management -prefix_ void senf::detail::PacketImpl::add_ref(refcount_t n) +prefix_ void senf::detail::PacketImpl::add_ref() { - refcount_ += n; + ++ refcount_; } prefix_ senf::detail::PacketImpl::refcount_t senf::detail::PacketImpl::refcount() @@ -231,21 +231,6 @@ prefix_ senf::detail::PacketImpl::size_type senf::detail::PacketImpl::capacity() return data_.capacity(); } -// This function has a problem being inlined. Somehow, often when calling this, the size of the -// resulting inlined code would be huge? - -prefix_ void senf::detail::PacketImpl::release(refcount_t n) -{ - SENF_ASSERT(refcount_ >= n, "Internal failure: Releasing dead PacketImpl ??"); - // uah ... we need to be extremely careful here. If refcount_ is n, we want to commit suicide, - // however the destructor will remove all PacketInterpreters from the list and will thereby - // decrement refcount -> only decrement refcount_ when *not* calling delete - if (refcount_ == n) - delete this; - else - refcount_ -= n; -} - // Annotations prefix_ void * senf::detail::PacketImpl::annotation(AnnotationRegistry::key_type key)