C++高速ファイルディスクリプタライブラリ
FDIO(仮)というものを作ってます。ファイルディスクリプタをおいしくいじるライブラリ。
まずはFDIO::Multiplexerを実装。
FDIO::LinuxEpollMultiplexer
FDIO::BSDKqueueMultiplexer
FDIO::PollMultiplexer
FDIO::SelectMultiplexer
他に作っておきたいものは、FDIO::write_sureとFDIO::read_sure。シグナルで中断されようが、カーネルのバッファが足りなかろうが、必ず指定されたバイト数まで読み込む。
それから、sendfieとかvmspliceとかをラップするおいしくラップする関数があると嬉しい。
template
FDIO::copy(int in, int out, size_t count);
みたいなもの。
FDIO::copy
とりあえず今作っている共有擬似端末にはFDIO::MultiplexerがあればOK。