非同期入出力



select-stream stream-list timeout [関数]

stream-listの中で、入力処理が準備されているストリームを見つけリストで返す。 もし、timeout秒が経つまでにどのストリームも準備が出来ないときは、 NILを返す。 select-streamは、入力ストリームのリストからアクティブなストリーム を選ぶときに役立つ。そのストリームでは、入力処理が非同期で可能となる。 timeoutは、選択処理が失敗するまでの時間を示す。 これは、実数でもよい。 もし、timeoutの指定がないときは、最低1つのストリームから入力が到着するまで select-streamは続けられる。 もし、timeoutが指定されどのストリームからも入力が現れなかったならば、 select-streamは失敗しNILを返す。


def-async stream function [マクロ]

streamにデータが到着したときに呼び出されるfunction を定義する。streamは、ファイルストリームかソケットストリームのどちらかである。 ファイルストリームにデータが来たとき又はソケットポートに接続要求が現れたとき、 そのストリームを引き数としてfunctionが呼び出される。 このマクロは、SIGIO ハンドラーとして装備され、ユーザーから与えられる 実際の入力処理を実行するためのfunctionに置き換えられる。 そして、streamが読み込み可能となったとき、非同期にSIGIOを発する ためにstreamに関してunix:fnctlが使用される。




2016-04-05