private static BidiFlow<int, long, ByteString, string, NotUsed> Bidi()
{
return
BidiFlow.FromFlows(
Flow.Create<int>().Select(x => ((long) x) + 2).WithAttributes(Attributes.CreateName("top")),
Flow.Create<ByteString>()
.Select(x => x.DecodeString(Encoding.UTF8))
.WithAttributes(Attributes.CreateName("bottom")));
}