[mew-dist 22766] Re: uidlについて

KOIE Hidetaka ( 鯉江英隆 ) hide at example.com
2002年 12月 26日 (木) 21:00:49 JST


  Message-Id: <20021226.141016.128890761.kazu at example.com>
  Date:       Thu, 26 Dec 2002 14:10:16 +0900 (JST)
  From:       Kazu Yamamoto (山本和彦) <kazu at example.com>
  Subject:    [mew-dist 22757] Re: uidlについて

  | > 同時アクセスして競合状態になったときでも
  | > RETRできたメッセージはUIDLに対応したものだと保証できるでしょうか。
  | 
  | できません。

「qmailのpopサーバは複数トランザクションが並行実行されても
  UIDLとメイルとの対応関係を保証できるでしょうか」
というつもりの問で、
RFC準拠のPOPサーバは同時アクセスできないことになってるし
もちろん同時アクセス時の挙動は定義されてないわけですが

  | POP は 1 つのクライアントが占有して使うという仮定で設計されています。
  | 複数のクライアントが同時に使える場合、何が起っても不思議ではありません。

POPプロトコルからすれば、
クライアントからは直列動作しているように見えればよいわけで、
サーバががんばって並列動作を可能にできるなら、それは問題ないわけですよね。

排他制御をしていないqmail popサーバは、
実はうま〜く動くように設計/実装されているんだろうか?
とおもったのでした。

こんなのを考えてました
       Maildir      client1         client2
    T0 new/1
    T1              connect/AUTH
    T2                              connect/AUTH
    T3                              UIDL => 1 foo
    T4 cur/1        QUIT/close
    (新しいメイルがとどく)
    T5 new/1, cur/1
    T6                              RETR 1 => -ERR 一時的なエラーだと思おう
    T7                              QUIT/close
    T8                              connect/AUTH  
    T9                              UIDL => 1 foo\n 2 bar
    T10                             RETR 1 => +OK  cur/1が取得できる?

--
鯉江



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