public void Length_field_based_framing_must_support_simple_framing_adapter() { var rechunkBidi = BidiFlow.FromFlowsMat(Rechunk, Rechunk, Keep.Left); var codecFlow = Framing.SimpleFramingProtocol(1024) .Atop(rechunkBidi) .Atop(Framing.SimpleFramingProtocol(1024).Reversed()) .Join(Flow.Create <ByteString>()); // Loopback var random = new Random(); var testMessages = Enumerable.Range(1, 100).Select(_ => ReferenceChunk.Slice(0, random.Next(1024))).ToList(); var task = Source.From(testMessages) .Via(codecFlow) .Limit(1000) .RunWith(Sink.Seq <ByteString>(), Materializer); task.Wait(TimeSpan.FromSeconds(3)).Should().BeTrue(); task.Result.ShouldAllBeEquivalentTo(testMessages); }