public static BufferingConsumer Consume(this BodyDelegate del)
 {
     var c = new BufferingConsumer();
     del((data, ct) => c.OnData(data, ct), e => c.OnError(e), () => c.OnEnd());
     return c;
 }
 public static BufferingConsumer Consume(this IDataProducer producer)
 {
     var c = new BufferingConsumer();
     producer.Connect(c);
     return c;
 }