Core.Attach - Dmitry-Bychenko/Amphisbaena GitHub Wiki

Attach

Attaches one ChannelReader to another.

Declaration (has overloads)

public static ChannelReader<T> Attach<T>(this ChannelReader<T> source,
                                              ChannelReader<T> other,
                                              ChannelParallelOptions options)

Example

using Amphisbaena;
using Amphisbaena.Linq;

...

int[] data = Enumerable
  .Range(0, 100)
  .ToArray();

int expected = data.Sum(item => item * 3);

int actual = await data
  .ToChannelReader()
  .Attach(Enumerable
  .Range(1000, 100)  
  .ToChannelReader()
  .Select(item => item * 2))
  .Aggregate((s, a) => s + a);