[+] ProtocolPiece::GetParent
This commit is contained in:
parent
c9ed4b09b9
commit
bc203d8cbc
@ -9,8 +9,16 @@
|
|||||||
|
|
||||||
namespace Aurora::IO::Protocol
|
namespace Aurora::IO::Protocol
|
||||||
{
|
{
|
||||||
|
struct ProtocolStack;
|
||||||
|
|
||||||
struct IProtocolPiece
|
struct IProtocolPiece
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* @brief
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
virtual AuSPtr<ProtocolStack> GetParent() = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief
|
* @brief
|
||||||
* @return
|
* @return
|
||||||
|
@ -10,8 +10,24 @@
|
|||||||
#include "AuProtocolStack.hpp"
|
#include "AuProtocolStack.hpp"
|
||||||
#include "IProtocolNext.hpp"
|
#include "IProtocolNext.hpp"
|
||||||
|
|
||||||
|
// TODO: check correct thread or throw api
|
||||||
|
// restrict this to one thread
|
||||||
|
|
||||||
namespace Aurora::IO::Protocol
|
namespace Aurora::IO::Protocol
|
||||||
{
|
{
|
||||||
|
AuSPtr<ProtocolStack> ProtocolPiece::GetParent()
|
||||||
|
|
||||||
|
{
|
||||||
|
if (this->pParent)
|
||||||
|
{
|
||||||
|
return this->pParent->SharedFromThis();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
AuSPtr<IStreamWriter> ProtocolPiece::ToNextWriter()
|
AuSPtr<IStreamWriter> ProtocolPiece::ToNextWriter()
|
||||||
{
|
{
|
||||||
if (!this->pParent)
|
if (!this->pParent)
|
||||||
@ -62,6 +78,7 @@ namespace Aurora::IO::Protocol
|
|||||||
|
|
||||||
void ProtocolPiece::Remove()
|
void ProtocolPiece::Remove()
|
||||||
{
|
{
|
||||||
|
this->PrivateUserDataClear();
|
||||||
if (!this->pParent)
|
if (!this->pParent)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@ -100,6 +117,8 @@ namespace Aurora::IO::Protocol
|
|||||||
this->pParent->pBottomPiece = this->pNext;
|
this->pParent->pBottomPiece = this->pNext;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this->PrivateUserDataClear();
|
||||||
|
|
||||||
this->pParent = nullptr;
|
this->pParent = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@ namespace Aurora::IO::Protocol
|
|||||||
bool bMultipleTick {};
|
bool bMultipleTick {};
|
||||||
|
|
||||||
|
|
||||||
|
AuSPtr<ProtocolStack> GetParent() override;
|
||||||
AuSPtr<IProtocolPiece> GetNextPiece() override;
|
AuSPtr<IProtocolPiece> GetNextPiece() override;
|
||||||
bool ReallocateDrainBuffer(AuUInt32 uOutputLength) override;
|
bool ReallocateDrainBuffer(AuUInt32 uOutputLength) override;
|
||||||
void Remove() override;
|
void Remove() override;
|
||||||
|
Loading…
Reference in New Issue
Block a user