不具合!?(ファイルサイズ不一致)No.03472
江袋 さん 01/01/24 07:39
 
秀まるおさんへ

ちょっと気になる現象が以前から出ていたのでメールします。

メールの受信中に画面下のほうに

 受信済みメール数/受信予定メール数
 (受信済みファイルサイズ/受信予定ファイルサイズ)

といった情報が表示されると思います。

このとき、メールをすべて受信し終わったときに

 24/24 (54k/52k)

のように、受信済みファイルサイズが、予定サイズよりも大きいことが
あります。

これはサーバの問題に起因する誤差なのか、鶴亀メールの不具合なのか、
どちらでしょう?

表示の問題だけなので、特に困るということはないのですが、ちょっと
気になるもんで。

[ ]
RE:03472 不具合!?(ファイルサイズ不一致)No.03534
秀まるお さん 01/01/25 18:21
 
> このとき、メールをすべて受信し終わったときに
>
>  24/24 (54k/52k)
>
> のように、受信済みファイルサイズが、予定サイズよりも大きいことが
> あります。

 1キロバイトくらいなら誤差として出てくるかもしれないですけど、2キロバイト
も違うのはどうしてなのやら?。ソースコードを見直してみた限りではいまいち分か
りませんでした。

 一応、その程度の違いなら誤差ってことにしてしまうおかなぁと…。ダウンロード
対象分のメールについてのLISTコマンドで得られた値の合計をちゃんと計算してるは
ずなんですけど。

 ちなみに、XXkと表示されるということは、四捨五入の処理がされてます。

 とりあえず、分子の方が大きくなってしまったら分母も大きくしてしまいます。

[ ]
RE:03534 不具合!?(ファイルサイズ不一致)No.03536
きいろいまふらあ さん 01/01/25 18:32
 
秀まるおさんこんにちは。
大はずしだったらごめんなさい。

>  1キロバイトくらいなら誤差として出てくるかもしれないですけど、2キロバイト
> も違うのはどうしてなのやら?。ソースコードを見直してみた限りではいまいち分か
> りませんでした。

1キロバイトは、何バイトですか?
いや、もしかして、ということで。(^^;

[ ]
RE:03536 不具合!?(ファイルサイズ不一致)No.03538
江袋 さん 01/01/25 18:42
 
きいろいまふらあさん、こんにちは。

>1キロバイトは、何バイトですか?

これまでの誤差を計算してみたら、平均して2〜3%でした。

(1−1000/1024)*100=2.34%

ってことで、もしかして……!?

[ ]
RE:03536 不具合!?(ファイルサイズ不一致)No.03542
秀まるお さん 01/01/25 19:19
 
 斉藤秀夫です。
> 1キロバイトは、何バイトですか?

 1024バイトで計算してます。分母も分子も同じく1024で計算してるはずです
が???

 cbMailTotalが分母、cbMailCompleteが分子です。

    char    sz[80];
    char*   pszFormat;
    int     cbMailTotal2 = (cbMailTotal + 512) / 1024;
    if( cbMailTotal >= 10240 ) {
        if( !fUidl && fSaveOnServer && procmode == PROC_RECVMAIL ) {
            pszFormat = "%u / %u(?) 済み (%uK / %uKバイト)";
        } else if( procmode == PROC_SENDMAIL ) {
            pszFormat = "%u / %u 済み (%uK / 約%uKバイト)";
        } else {
            pszFormat = "%u / %u 済み (%uK / %uKバイト)";
        }
        wsprintf( sz, pszFormat, cMailComplete, cMail
                , (cbMailComplete + 512) / 1024, cbMailTotal2 );
    } else {
        int cbMail1 = cbMailComplete / 1024;
        int cbMail2 = cbMailComplete % 1024 / 102;
        if( !fUidl && fSaveOnServer && procmode == PROC_RECVMAIL ) {
            pszFormat = "%u / %u(?) 済み (%u.%1uK / %uKバイト)";
        } else if( procmode == PROC_SENDMAIL ) {
            pszFormat = "%u / %u 済み (%u.%1uK / 約%uKバイト)";
        } else {
            pszFormat = "%u / %u 済み (%u.%1uK / %uKバイト)";
        }
        wsprintf( sz, pszFormat, cMailComplete, cMail
                , cbMail1, cbMail2, cbMailTotal2 );
    }

 という処理で計算しています。

[ ]
RE:03542 不具合!?(ファイルサイズ不一致)No.03549
きいろいまふらあ さん 01/01/25 20:07
 
> > 1キロバイトは、何バイトですか?
>
>  1024バイトで計算してます。分母も分子も同じく1024で計算してるはずです
> が???

んじゃ、逆に LIST が返す値がおかしいとか?

いや、そもそも私はサーバと鶴亀がどんなやりとりをしてるのかなんて
全く分かっていないのですが、誤差の加減が「まるでどこかで誰かが
1000と1024を取り違えてる」かのような風に思えたので先のコメントを
したまでです。なのでわざと悪者を特定しないような変な書き方をしました。

うう、言い訳がましいですね。(^^;

[ ]
RE:03542 不具合!?(ファイルサイズ不一致)No.03557
江袋 さん 01/01/26 06:48
 
秀まるおさん、こんにちは。

>  1024バイトで計算してます。分母も分子も同じく1024で計算してるはずです
> が???

詳しいご説明をありがとうございます。

となると考えられるとすれば、きいろまふらあさんがおっしゃるように
LISTの返す値がおかしいか、ほかには cbMailTotalの値が1024ではなく
1000バイトで割らなければならない値になっているとも想像できますが、
秀まるおさん、その辺は実際のところどうなんでしょう!?

参考までに教えて頂ければ幸いです。

[ ]
RE:03557 不具合!?(ファイルサイズ不一致)No.03558
秀まるお さん 01/01/26 09:11
 
> LISTの返す値がおかしいか、ほかには cbMailTotalの値が1024ではなく
> 1000バイトで割らなければならない値になっているとも想像できますが、

 分子も分母も同じ値で割っていれば結果は同じです。

 だから、5400 / 5200 だったら、分子も分母も1000で割ろうが1024で割ろうが、分
子 > 分母の状態が変化することはありえないです。

[ ]
RE:03558 不具合!?(ファイルサイズ不一致)No.03560
きいろいまふらあ さん 01/01/26 09:36
 
仕組みを全然理解していない者が口を出すのもアレですけど、

> > LISTの返す値がおかしいか、ほかには cbMailTotalの値が1024ではなく
> > 1000バイトで割らなければならない値になっているとも想像できますが、
>
>  分子も分母も同じ値で割っていれば結果は同じです。
>
>  だから、5400 / 5200 だったら、分子も分母も1000で割ろうが1024で割ろうが、分
> 子 > 分母の状態が変化することはありえないです。

そもそもの(1024で割る前の)分母とか分子ってのの根拠が問題かと。
分母は予測値なんだから、きっと実際にメッセージを落とす前に、
各メールごとに容量だけ取得して、それを合計するんですよね?
分子はきっと、実際にメッセージを落とすときに、そのメッセージの容量を
加算していくんですよね?

前者と後者がメッセージ単位で同じレベルの値なのか、が問題なのかも。
どれが POP 側が(数値として)提供するもので、
どれが鶴亀が自前で計測しているものなのかがわからないので、
これ以上はなんとも言えないのですが。

なんにしても

>  とりあえず、分子の方が大きくなってしまったら分母も大きくしてしまいます。

予測はあくまで予測と割り切って分子>分母となってもいいと思います。
途中で分母が増えるのはちょっと違和感があります。(^^;
もっとも、私自身はどうして欲しいってこともないです。
解決の糸口になればと思って書いてるだけです。

[ ]
RE:03560 不具合!?(ファイルサイズ不一致)No.03570
秀まるお さん 01/01/26 12:00
 
 まぁ大したバグでもないし、調べてたら先進まないし、このままにしておきます。

[ ]
RE:03570 不具合!?(ファイルサイズ不一致)No.03593
江袋 さん 01/01/26 23:55
 
>  まぁ大したバグでもないし、調べてたら先進まないし、このままにしておきます。

了解です。

まあ、個人的には”ご愛きょう”程度の問題と考えていますし……。

[ ]