У меня есть объект Stream, который иногда получает некоторые данные на нем, но с непредсказуемыми интервалами. Сообщения, которые появляются в потоке, четко определены и заранее объявляют размер своей полезной нагрузки (размер - это 16-разрядное целое число, содержащееся в первых двух байтах каждого сообщения).
Я хотел бы иметь класс StreamWatcher, который обнаруживает, когда Stream имеет некоторые данные на нем. Как только это произойдет, я хочу, чтобы событие было создано так, чтобы подписанный экземпляр StreamProcessor мог обработать новое сообщение.
Можно ли это сделать с событиями С# без непосредственного использования потоков? Похоже, что это должно быть просто, но я не могу дотянуться до правильного пути его разработки.