26 #include <boost/shared_array.hpp>
28 #include <QWeakPointer>
29 #include <QSharedPointer>
30 #include <ktorrent_export.h>
31 #include <util/constants.h>
43 typedef QSharedPointer<Buffer> Ptr;
44 typedef boost::shared_array<bt::Uint8> Data;
46 Buffer(Data data, bt::Uint32 fill, bt::Uint32 cap, QWeakPointer<BufferPool> pool);
53 bt::Uint32
size()
const {
return fill;}
59 bt::Uint8*
get() {
return data.get();}
65 QWeakPointer<BufferPool> pool;
89 Buffer::Ptr
get(bt::Uint32 min_size);
96 void release(Buffer::Data data, bt::Uint32 size);
103 typedef QSharedPointer<BufferPool> Ptr;
106 typedef std::map<bt::Uint32, std::list<Buffer::Data> > FreeBufferMap;
108 FreeBufferMap free_buffers;
109 QWeakPointer<BufferPool>
self;