public void Execute(AutoResetEvent block) { var producer = new ObservingProducer<int>(); var consumer = new DelegatingConsumer<int>(i => Console.WriteLine(i)); var serializer = new BinarySerializer(); var outbound = new ProtocolProducer<int>(serializer); // This is a producer of a data stream that consumes T events (serializer) var inbound = new ProtocolConsumer<int>(serializer); // This is a consumer of a data stream that produces T events (deserializer) outbound.Attach(inbound); // Typically you'd put an enqueing consumer here to shuttle serialized events off-network inbound.Attach(consumer); producer.Attach(outbound); producer.Produces(Observable.Range(1, 10000), onCompleted: () => block.Set()); producer.Start(); }
public void Execute(AutoResetEvent block) { var producer = new ObservingProducer <int>(); var consumer = new DelegatingConsumer <int>(i => Console.WriteLine(i)); var serializer = new BinarySerializer(); var outbound = new ProtocolProducer <int>(serializer); // This is a producer of a data stream that consumes T events (serializer) var inbound = new ProtocolConsumer <int>(serializer); // This is a consumer of a data stream that produces T events (deserializer) outbound.Attach(inbound); // Typically you'd put an enqueing consumer here to shuttle serialized events off-network inbound.Attach(consumer); producer.Attach(outbound); producer.Produces(Observable.Range(1, 10000), onCompleted: () => block.Set()); producer.Start(); }