* Copyright (c) Huawei Technologies Co., Ltd. 2025. All rights reserved.
*/
#include "NettyBufferInfo.h"
#include <common.h>
namespace omnistream {
int NettyBufferInfo::elementNumBytes = 4;
NettyBufferInfo::NettyBufferInfo(uint8_t* addr, int32_t sz)
: originalAddress_(addr),
size_(sz),
address_(addr + elementNumBytes)
{
}
NettyBufferInfo::~NettyBufferInfo()
{
delete[] originalAddress_;
}
uint8_t*& NettyBufferInfo::GetAddress()
{
return address_;
}
uint8_t* NettyBufferInfo::GetOriginalAddress()
{
return originalAddress_;
}
int NettyBufferInfo::GetSize()
{
return size_;
}
bool NettyBufferInfo::operator==(const NettyBufferInfo& other) const
{
return address_ == other.address_;
}
int NettyBufferInfo::GetWrittenBytes() const
{
return writtenBytes_;
}
void NettyBufferInfo::SetWrittenBytes(int bytes)
{
writtenBytes_ += bytes;
}
void NettyBufferInfo::ResetBuffer()
{
writtenBytes_ = 0;
address_ = originalAddress_ + elementNumBytes;
elementNum = 0;
}
bool NettyBufferInfo::Useable(int newSize)
{
return newSize <= size_ - writtenBytes_ - elementNumBytes;
}
void NettyBufferInfo::IncrementElementNum()
{
elementNum++;
}
int NettyBufferInfo::GetElementNum() const
{
return elementNum;
}
void NettyBufferInfo::MarkElementNumWritten()
{
writtenBytes_ += elementNumBytes;
}
}