예제 #1
0
void ArgumentEncoder::encodeVariableLengthByteArray(const DataReference& dataReference)
{
    // Encode the size.
    encodeUInt64(static_cast<uint64_t>(dataReference.size()));

    encodeFixedLengthData(dataReference.data(), dataReference.size(), 1);
}
예제 #2
0
ArgumentEncoder::ArgumentEncoder(uint64_t destinationID)
    : m_buffer(0)
    , m_bufferPointer(0)
    , m_bufferSize(0)
    , m_bufferCapacity(0)
{
    // Encode the destination ID.
    encodeUInt64(destinationID);
}
예제 #3
0
void ArgumentEncoder::encodeBytes(const uint8_t* bytes, size_t size)
{
    // Encode the size.
    encodeUInt64(static_cast<uint64_t>(size));
    
    uint8_t* buffer = grow(1, size);
    
    memcpy(buffer, bytes, size);
}