[+] Added explicit stream interface cache reset path under proto stacks
(amended: missed one discard)
This commit is contained in:
parent
98c1235554
commit
1f505fcf02
@ -110,6 +110,8 @@ namespace Aurora::IO::Protocol
|
||||
if (this->pParent->pTopPiece.get() == this)
|
||||
{
|
||||
this->pParent->pTopPiece = AuReinterpretCast<ProtocolPiece>(pLast);
|
||||
|
||||
this->pParent->bWrittenEnd = false;
|
||||
}
|
||||
|
||||
if (this->pParent->pBottomPiece.get() == this)
|
||||
@ -118,6 +120,7 @@ namespace Aurora::IO::Protocol
|
||||
}
|
||||
|
||||
this->PrivateUserDataClear();
|
||||
this->pParent->DiscardAllocCaches();
|
||||
|
||||
this->pParent = nullptr;
|
||||
}
|
||||
|
@ -179,6 +179,8 @@ namespace Aurora::IO::Protocol
|
||||
}
|
||||
}
|
||||
|
||||
this->DiscardAllocCaches();
|
||||
|
||||
return pNew;
|
||||
}
|
||||
|
||||
@ -304,6 +306,8 @@ namespace Aurora::IO::Protocol
|
||||
}
|
||||
}
|
||||
|
||||
this->DiscardAllocCaches();
|
||||
|
||||
return pNew;
|
||||
}
|
||||
|
||||
@ -399,6 +403,7 @@ namespace Aurora::IO::Protocol
|
||||
}
|
||||
|
||||
this->bWrittenEnd = true;
|
||||
this->DiscardAllocCaches();
|
||||
|
||||
return pNew;
|
||||
}
|
||||
@ -497,7 +502,6 @@ namespace Aurora::IO::Protocol
|
||||
return this->pStreamReaderCache;
|
||||
}
|
||||
|
||||
|
||||
struct A : AuIO::Buffered::BlobReader
|
||||
{
|
||||
AuWPtr<ProtocolStack> wpStack;
|
||||
@ -703,6 +707,12 @@ namespace Aurora::IO::Protocol
|
||||
return {};
|
||||
}
|
||||
|
||||
void ProtocolStack::DiscardAllocCaches()
|
||||
{
|
||||
AuResetMember(this->pStreamReaderCache);
|
||||
AuResetMember(this->pStreamWriterCache);
|
||||
}
|
||||
|
||||
AUKN_SYM AuSPtr<IProtocolStack> NewBufferedProtocolStack(AuUInt uLength)
|
||||
{
|
||||
if (!uLength)
|
||||
|
@ -63,5 +63,7 @@ namespace Aurora::IO::Protocol
|
||||
|
||||
AuSPtr<IStreamReader> pStreamReaderCache;
|
||||
AuSPtr<IStreamWriter> pStreamWriterCache;
|
||||
|
||||
void DiscardAllocCaches();
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user