本文整理汇总了C++中BlobDataItem::length方法的典型用法代码示例。如果您正苦于以下问题:C++ BlobDataItem::length方法的具体用法?C++ BlobDataItem::length怎么用?C++ BlobDataItem::length使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BlobDataItem
的用法示例。
在下文中一共展示了BlobDataItem::length方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: readDataAsync
void BlobResourceHandle::readDataAsync(const BlobDataItem& item)
{
ASSERT(isMainThread());
ASSERT(m_async);
Ref<BlobResourceHandle> protect(*this);
long long bytesToRead = item.length() - m_currentItemReadSize;
if (bytesToRead > m_totalRemainingSize)
bytesToRead = m_totalRemainingSize;
consumeData(item.data->data() + item.offset() + m_currentItemReadSize, static_cast<int>(bytesToRead));
m_currentItemReadSize = 0;
}
示例2: readDataSync
int BlobResourceHandle::readDataSync(const BlobDataItem& item, char* buf, int length)
{
ASSERT(isMainThread());
ASSERT(!m_async);
long long remaining = item.length() - m_currentItemReadSize;
int bytesToRead = (length > remaining) ? static_cast<int>(remaining) : length;
if (bytesToRead > m_totalRemainingSize)
bytesToRead = static_cast<int>(m_totalRemainingSize);
memcpy(buf, item.data->data() + item.offset() + m_currentItemReadSize, bytesToRead);
m_totalRemainingSize -= bytesToRead;
m_currentItemReadSize += bytesToRead;
if (m_currentItemReadSize == item.length()) {
m_readItemCount++;
m_currentItemReadSize = 0;
}
return bytesToRead;
}