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