Is it possible to rewind data stream writer?
I`m trying to do a code like this:
{
Assert.IsTrue(peer.Connection.IsCreated);
DataStreamWriter writer = default(DataStreamWriter);
for (int it = 0; it < peer.AreaOfInterest.Length; ++it)
{
ref NetworkedPeerView view = ref UnsafeUtility.ArrayElementAsRef<NetworkedPeerView>(peer.AreaOfInterest.GetUnsafePtr(), it);
if (!writer.IsCreated)
{
NetworkDriver.BeginSend(peer.Connection, out writer);
}
int writePosition = writer.LengthInBits;
/* TryWrite Entity to buffer*/
if (writer.HasFailedWrites)
{
writer.Rewind(writePosition);
writer.HasFailedWrites = false;
NetworkDriver.EndSend(writer);
NetworkDriver.BeginSend(peer.Connection, out writer);
/* TryWrite Entity to new buffer */
}
}
Debug.Log(peer.AreaOfInterest.Length);
}```
I need to rewind to last position and remove failed writes if an entity fails to write to buffer, allocate another buffer and try again