#include <TCPByteStreamRcvQueue.h>
inet::tcp::TCPByteStreamRcvQueue::Region::Region |
( |
uint32 |
_begin, |
|
|
uint32 |
_end |
|
) |
| |
|
inline |
51 : TCPVirtualDataRcvQueue::Region(_begin, _end),
data(_data) {};
ByteArray data
Definition: TCPByteStreamRcvQueue.h:46
virtual inet::tcp::TCPByteStreamRcvQueue::Region::~Region |
( |
| ) |
|
|
inlinevirtual |
void inet::tcp::TCPByteStreamRcvQueue::Region::copyTo |
( |
cPacket * |
msg | ) |
const |
|
overridevirtual |
Copy self to msg.
Reimplemented from inet::tcp::TCPVirtualDataRcvQueue::Region.
80 RawPacket *msg = check_and_cast<RawPacket *>(msg_);
82 msg->setByteArray(
data);
virtual unsigned int getDataArraySize() const
unsigned long getLength() const
Definition: TCPVirtualDataRcvQueue.h:55
virtual void copyTo(cPacket *msg) const
Copy self to msg.
Definition: TCPVirtualDataRcvQueue.cc:60
ByteArray data
Definition: TCPByteStreamRcvQueue.h:46
Merge other to self.
Reimplemented from inet::tcp::TCPVirtualDataRcvQueue::Region.
35 const Region *other =
dynamic_cast<const Region *
>(_other);
38 throw cRuntimeError(
"merge(): cannot cast (TCPVirtualDataRcvQueue::Region *) to type 'TCPDataStreamRcvQueue::Region *'");
46 if (nbegin !=
begin || nend !=
end) {
47 char *buff =
new char[nend - nbegin];
50 other->data.copyDataToBuffer(buff,
begin - nbegin);
55 other->data.copyDataToBuffer(buff +
end - nbegin, nend -
end);
uint32 seqMin(uint32 a, uint32 b)
Definition: TCPSegment.h:36
virtual unsigned int copyDataToBuffer(void *ptr, unsigned int length, unsigned int srcOffs=0) const
Copy data content to buffer.
Definition: ByteArray.cc:72
bool seqLess(uint32 a, uint32 b)
Definition: TCPSegment.h:32
Region(uint32 _begin, uint32 _end)
Definition: TCPByteStreamRcvQueue.h:49
uint32 end
Definition: TCPVirtualDataRcvQueue.h:47
uint32_t uint32
Definition: Compat.h:30
uint32 begin
Definition: TCPVirtualDataRcvQueue.h:46
virtual void assignBuffer(void *ptr, unsigned int length)
Set buffer pointer and buffer length.
Definition: ByteArray.cc:83
ByteArray data
Definition: TCPByteStreamRcvQueue.h:46
uint32 seqMax(uint32 a, uint32 b)
Definition: TCPSegment.h:37
Returns an allocated new Region object with filled with begin..seq and set self to seq..end.
Reimplemented from inet::tcp::TCPVirtualDataRcvQueue::Region.
70 reg->data.setDataFromByteArray(
data, 0, seq -
begin);
bool seqLess(uint32 a, uint32 b)
Definition: TCPSegment.h:32
virtual void truncateData(unsigned int truncleft, unsigned int truncright)
Truncate data content.
Definition: ByteArray.cc:90
Region(uint32 _begin, uint32 _end)
Definition: TCPByteStreamRcvQueue.h:49
uint32 end
Definition: TCPVirtualDataRcvQueue.h:47
uint32 begin
Definition: TCPVirtualDataRcvQueue.h:46
bool seqGreater(uint32 a, uint32 b)
Definition: TCPSegment.h:34
ByteArray data
Definition: TCPByteStreamRcvQueue.h:46
ByteArray inet::tcp::TCPByteStreamRcvQueue::Region::data |
|
protected |
The documentation for this class was generated from the following files: