void ObjectPool::putVec(std::vector<char> * pVec) { std::auto_ptr<std::vector<char> > vecPtr(pVec); pVec->resize(0); Lock lock(mVecPoolMutex); if (mVecPool.size() < mBufferCountLimit) { mVecPool.push_back(vecPtr.release()); } }
void copyByteBuffers( const std::vector<ByteBuffer> &byteBuffers, ByteBuffer &byteBuffer) { boost::shared_ptr<std::vector<char> > vecPtr( new std::vector<char>(lengthByteBuffers(byteBuffers))); copyByteBuffers(byteBuffers, &(*vecPtr)[0]); byteBuffer = ByteBuffer( &(*vecPtr)[0], (*vecPtr).size(), vecPtr); }