本文整理汇总了C++中NLPacket::getPacketPosition方法的典型用法代码示例。如果您正苦于以下问题:C++ NLPacket::getPacketPosition方法的具体用法?C++ NLPacket::getPacketPosition怎么用?C++ NLPacket::getPacketPosition使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NLPacket
的用法示例。
在下文中一共展示了NLPacket::getPacketPosition方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
ReceivedMessage::ReceivedMessage(NLPacket& packet)
: _data(packet.readAll()),
_headData(_data.mid(0, HEAD_DATA_SIZE)),
_numPackets(1),
_sourceID(packet.getSourceID()),
_packetType(packet.getType()),
_packetVersion(packet.getVersion()),
_senderSockAddr(packet.getSenderSockAddr()),
_isComplete(packet.getPacketPosition() == NLPacket::ONLY)
{
}
示例2: appendPacket
void ReceivedMessage::appendPacket(NLPacket& packet) {
Q_ASSERT_X(!_isComplete, "ReceivedMessage::appendPacket",
"We should not be appending to a complete message");
// Limit progress signal to every X packets
const int EMIT_PROGRESS_EVERY_X_PACKETS = 50;
++_numPackets;
_data.append(packet.getPayload(), packet.getPayloadSize());
if (_numPackets % EMIT_PROGRESS_EVERY_X_PACKETS == 0) {
emit progress(getSize());
}
if (packet.getPacketPosition() == NLPacket::PacketPosition::LAST) {
_isComplete = true;
emit completed();
}
}