NDEF の chunked payload について教えてもらったよ。

6
Yuki Anzai @yanzm

NDEF の chunked payload わかる人いないかなぁ。

2011-02-11 23:41:22
NAKANISHI Yoshiaki @chun_ryo

ざっと読んで思い出したので、TLにつらつらと書いていこう。 RT @yanzm: NDEF の chunked payload わかる人いないかなぁ。

2011-02-11 23:57:10
Yuki Anzai @yanzm

きゃー。すてき! RT @chun_ryo: ざっと読んで思い出したので、TLにつらつらと書いていこう。 RT @yanzm: NDEF の chunked payload わかる人いないかなぁ。

2011-02-12 00:01:17
NAKANISHI Yoshiaki @chun_ryo

動的生成データなどを送信する場合、生成開始時にデータが最終的にどういう長さになるかわからないので、とりあえず続きがあるよってことでチャンクレコードを送ります。

2011-02-12 00:02:40
NAKANISHI Yoshiaki @chun_ryo

このレコードは部分で、まだ続きが届くのでそれも受け取ってPAYLOAD を連結してねってのが CFってフラグビットです。

2011-02-12 00:04:04
NAKANISHI Yoshiaki @chun_ryo

たとえば、データを生成し始めたけれどもメモリ容量が潤沢じゃないので、とりあえず出来た部分からとっとと送ってしまいたい、ってような時に使います。

2011-02-12 00:05:03
NAKANISHI Yoshiaki @chun_ryo

最終的には10万バイトになるデータがあったとして、それを1レコード(1つの塊のデータ)として取り扱いたいなら、CFを立てた1万バイトのレコードを9つ送って、CFを下ろした1万バイトのデータを1つ送ります。受け手はこれを連結して、10万バイトの一つのレコードとして論理的には扱う。

2011-02-12 00:06:53
NAKANISHI Yoshiaki @chun_ryo

画像データとか、一つのmime type のデータは一つのレコードに収めるデータフォーマットなので、その一つのレコードを複数のチャンクに分解するような方式が必要なのです。

2011-02-12 00:08:42
NAKANISHI Yoshiaki @chun_ryo

というような説明でわかりますか?

2011-02-12 00:08:55
NAKANISHI Yoshiaki @chun_ryo

ちょっと動的生成でサイズが確定してない例と、メモリが足りないときの例がごっちゃになってしまったか。まぁなんとなく理解してくださいww

2011-02-12 00:10:39
Yuki Anzai @yanzm

@chun_ryo 単に CF フラグだけでOKなんでしょうか? さっきの 10万の場合だと、1万のデータの chunked payload にふくまれる payload length は 1万で正しい?ですよね?

2011-02-12 00:16:19
NAKANISHI Yoshiaki @chun_ryo

@yanzm チャンクレコードのpayload length はそのチャンクレコードに収めているpayload分のサイズでOKです。

2011-02-12 00:17:17
NAKANISHI Yoshiaki @chun_ryo

@yanzm 最終的なデータサイズが確定してないようなデータの送信もできないといけないので、チャンクくっつけた全体のサイズを payload length に入れることはありません。

2011-02-12 00:19:45
Yuki Anzai @yanzm

@chun_ryo ありがとうございます!ちょっと試してみます。

2011-02-12 00:21:08