Если бы вы когда-либо использовали SQL Server Management Studio, вы бы заметили, как результаты запроса начинают отображаться в средстве просмотра до его завершения и получения клиентом всех результатов.
Я хочу реализовать (повторно использовать) эту функциональность для моего собственного хранилища данных / фермы потоковой передачи данных.
- Клиент отправляет запрос на сервер и возвращает IEnumerable (4.0 IObservable?)
- Клиент перебирает его до тех пор, пока a) конец потока или b) клиент явно не отменит запрос
- Асинхронно, отдельный поток на клиенте продолжает получать данные, но не больше, чем позволяет некоторый буфер.
- Если новые данные недоступны, клиент должен иметь возможность либо заблокировать / получить уведомление / занято poke.
Есть ли такие библиотеки? Поставщики ADO реализуют нечто подобное? Потоковые двигатели?
Спасибо !!!