[#37492] ReFe 0.6 — Minero Aoki <aamine@...>

あおきです。

27 messages 2003/04/01
[#37525] ReFe 0.7 (Re: ReFe 0.6) — Minero Aoki <aamine@...> 2003/04/06

あおきです。

[#37528] Re: ReFe 0.7 (Re: ReFe 0.6) — Koji Arai <JCA02266@...> 2003/04/07

新井です。

[#37545] Re: ReFe 0.7 (Re: ReFe 0.6) — Kazuhiro NISHIYAMA <zn@...> 2003/04/10

西山和広です。

[#37546] Re: ReFe 0.7 (Re: ReFe 0.6) — Koji Arai <JCA02266@...> 2003/04/10

新井です。

[#37551] Re: ReFe 0.7 (Re: ReFe 0.6) — Kazuhiro NISHIYAMA <zn@...> 2003/04/11

西山和広です。

[#37554] refe.el (Re: ReFe 0.7 (Re: ReFe 0.6)) — Koji Arai <JCA02266@...> 2003/04/12

新井です。

[#37619] net/pop.rbにUIDLコマンドでMessage-Idのリストを取得するメソッド — Keisuke Minami <keisuke@...>

こんにちは。三並です。

18 messages 2003/04/26

[#37622] net/imapのTHREAD Extension 対応 — wanowa.kimura@... (kimura wataru)

 木村といいます。

31 messages 2003/04/27
[#37628] Re: net/imapのTHREAD Extension 対応 — Shugo Maeda <shugo@...> 2003/04/28

前田です。

[#37632] Re: net/imap のTHREAD Extension 対応 — wanowa.kimura@... (kimura wataru) 2003/04/28

 木村といいます。

[#37635] Re: net/imap のTHREAD Extension 対応 — Shugo Maeda <shugo@...> 2003/04/30

前田です。

[#37638] Re: net/imap のTHREAD Extension 対応 — wanowa.kimura@... (kimura wataru) 2003/05/01

 木村です。

[#37641] Re: net/imap のTHREAD Extension 対応 — Shugo Maeda <shugo@...> 2003/05/02

前田です。

[#37647] Re: net/imap のTHREAD Extension 対応 — wanowa.kimura@... (kimura wataru) 2003/05/06

 木村です。

[#37648] マッチした部分を配列にしまう方法 — Hirano Satoshi <hirano@...> 2003/05/07

こんにちは。

[ruby-list:37634] Re: net/pop.rbにUIDLコマンドでMessage-Idのリストを取得するメソッド

From: Minero Aoki <aamine@...>
Date: 2003-04-29 09:36:51 UTC
List: ruby-list #37634
青木です。

  In mail "[ruby-list:37627] Re: net/pop.rbにUIDLコマンドでMessage-Idのリストを取得するメソッド"
    Minero Aoki <aamine@loveruby.net> wrote:

> > > 実は 1.8 では既に POP3#uidl と POPMail#uidl が実装されています。
> 
> > どうも、UIDLコマンドでは、1つのメールの情報を取る機能しかないようです。
> 
> あっと、すみません。実装したような気がしてたんですが、
> ないですね。追加しときます。

と思ったんですが考えなおしました。三並さんの実装だと
POP3#list_mid は UID の配列 (そのインデックスはメール番号)
を返しますが、これでは二つの点でまずいように思います。

  * 返り値の形式が使いにくい (nilが混じる可能性が高い)
  * 必ずしも通信量が最小にならない

二点目に関して説明します。
たとえば、UID リストを見てまだ読んでいないメールだけを
ダウンロードする場合をシミュレートしてみます。

  1. POP3#list_uid でリストを得る
  2. 手持ちの既読 UID リストにあるものを削る
  3. 残ったリストにある UID を持つメールをダウンロード

この場合、3. で文字列の UID と POPMail オブジェクトの対応を
取る必要があるので、ここで POPMail#uidl が使いたくなります。
しかしそうすると結局ここでダウンロードするメールの数だけ UIDL
コマンドを発行することになり、わざわざ POP3#list_mid を使った
意味がなくなってしまいます。

つまり、(通信量を削減するという目的のためには、)

  * 一度でも UIDL を引数なしで呼んだら UIDL コマンドは
    二度と発行してはならない

はずです。

で、長くなりましたが、まず POP3#list_mid が欲しくなった
理由をお聞きたいのです。それによって実装を変えようと思います。
-------------------------------------------------------------------
青木峰郎

In This Thread