[Mew-dist 07105] RETR/DELE message

KOIE Hidetaka ( 鯉江英隆 ) koie at example.com
1998年 12月 16日 (水) 03:35:08 JST


imget --debug=on --verbose=onの出力を見る限りでは、
imgetがPOPのRETRコマンドを発行してサーバからのメッセージを
受信完了するまで次のRETRを発行してないよう見えます。
#perlはいまだに理解できないので誤解していたらすみません。

rfc1939をながめたところ、transaction stateのときに
「サーバからのレスポンスを待たなくてはならない」
という記述はないようなので、
imgetがメイルを取ってくるときに現在では
    foreach x in message; do
       send RETR x
       recv message[x]
    done
のようになっているところ(上記の擬似コードは私の推測です)を
    foreach x in message; do
       send RETR x
    done
    foreach message; do
       recv message[x]
    done
に変更すると遅延が大きい低速回線での性能が上るように思います。
同様に古いメイルを消去するDELEもまとめて送信したらよさそうです。
心配なのは出力バッファが一杯になったことで
send RETR xがブロックすることです。send RETRとrecv messageの
スレッドをわけられればいいのですが..

レスポンス受信中にエラーが発生してもQUITコマンドを送信せずに
コネクションを閉じればメイルドロップはそのままにしておけますし。

--
KOIE Hidetaka 鯉江英隆 <hide at example.com>



Mew-dist メーリングリストの案内