我正在解析模擬鍵盤的USB設備生成的相當複雜的數據流。如果我有一種叫做GetNextInputCharacter
的方法,我可以對數據進行概念化和處理,最簡單的方法是,我可以一次完成所有解析,而不必一次一個接一個地完成解析。不幸的是,我不知道在流中有多少字節需要等待,直到我對它進行了大量解析,而且我寧願不等到最後解析它。同步處理異步輸入
是否有任何機制或設計模式,可以從關鍵事件採取異步輸入,並根據需要傳遞給我的解析方法?我所能想到的只是一個IEnumerable,它會在FIFO上忙於等待一個關鍵事件,然後每次產生一個關鍵事件。這似乎有點破解,但也許它會起作用。我只想讓解析例程假裝輸入已經存在,並且不知道它必須等待事件。