イベント多重分離
synchronous event demultiplexing
event notification interface
code:example
socketA, pipeB;
watchedList.add(socketA, FOR_READ);
watchedList.add(pipeB, FOR_READ);
while(events = demultiplexer.watch(watchedList){ // ここでwatchedListのいずれかのリソースが読み込み可能になるまでブロックする
foreach(event in events){
/*non blocking read always returns data*/
data = event.resource.read();
if(data===RESOURCE_CLOSED){
/*stop watching if resource closed*/
demultiplexer.unwatch(event.resource);
}
else
consumeData(data);
}
})
実装はOSごとに異なる
Node.jsでは、
Bunでは、
上の擬似コードのwhileの条件節のところでブロックされるのは大丈夫なの?