Added ItemContainerInvokedBehavior
This commit is contained in:
@@ -31,7 +31,7 @@ public class SerialContext<TReader, TValue, TEvent>(IMessenger messenger,
|
||||
{
|
||||
await foreach (TValue value in reader.ReadAsync())
|
||||
{
|
||||
messenger.Send(new SerialEventArgs<TValue> { Value = value });
|
||||
messenger.Send(new TEvent { Value = value });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,8 +12,7 @@ public class SerialStructReader(Stream stream) :
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
ReadResult? result = default;
|
||||
|
||||
ReadResult result;
|
||||
try
|
||||
{
|
||||
result = await reader.ReadAsync();
|
||||
@@ -31,21 +30,18 @@ public class SerialStructReader(Stream stream) :
|
||||
yield break;
|
||||
}
|
||||
|
||||
if (result.HasValue)
|
||||
ReadOnlySequence<byte> buffer = result.Buffer;
|
||||
while (TryParse(ref buffer, out SerialStructEventArgs serialEvent))
|
||||
{
|
||||
ReadOnlySequence<byte> buffer = result.Value.Buffer;
|
||||
while (TryParse(ref buffer, out SerialStructEventArgs serialEvent))
|
||||
{
|
||||
yield return serialEvent;
|
||||
}
|
||||
|
||||
reader.AdvanceTo(buffer.Start, buffer.End);
|
||||
yield return serialEvent;
|
||||
}
|
||||
|
||||
reader.AdvanceTo(buffer.Start, buffer.End);
|
||||
}
|
||||
}
|
||||
|
||||
private bool TryParse(ref ReadOnlySequence<byte> buffer, out SerialStructEventArgs serialEvent)
|
||||
private bool TryParse(ref ReadOnlySequence<byte> buffer,
|
||||
out SerialStructEventArgs serialEvent)
|
||||
{
|
||||
SequenceReader<byte> reader = new(buffer);
|
||||
serialEvent = default!;
|
||||
|
||||
Reference in New Issue
Block a user