指定されたバイト数をファイルハンドル (実際にはソケット) に書き込むことができるかどうかを判断するにはどうすればよいですか? (あるいは、他のファイルハンドルから読み取ったデータを「未読」にする方法は?)
私は次のようなものが欲しい:
n = how_much_can_I_write(w_handle); n = read(r_handle, buf, n); assert(n==write(w_handle, buf, n));
両方のファイルハンドル (r_handle と w_handle) が epoll_wait から準備完了ステータスを受け取りました。
「書き込み債務」バッファを使用せずに、r_handle からのすべてのデータを w_handle にコピーしたいと考えています。
一般に、あるファイルハンドルから別のファイルハンドルにデータを簡単かつ確実にコピーするにはどうすればよいでしょうか?