Exemplo n.º 1
0
    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());
        }
    }
Exemplo n.º 2
0
    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);
    }