我正在解析模拟键盘的USB设备生成的相当复杂的数据流。如果我有一种叫做GetNextInputCharacter
的方法,我可以对数据进行概念化和处理,最简单的方法是,我可以一次完成所有解析,而不必一次一个接一个地完成解析。不幸的是,我不知道在流中有多少字节需要等待,直到我对它进行了大量解析,而且我宁愿不等到最后解析它。同步处理异步输入
是否有任何机制或设计模式,可以从关键事件采取异步输入,并根据需要传递给我的解析方法?我所能想到的只是一个IEnumerable,它会在FIFO上忙于等待一个关键事件,然后每次产生一个关键事件。这似乎有点破解,但也许它会起作用。我只想让解析例程假装输入已经存在,并且不知道它必须等待事件。