2011/04/16

[falp]分けた方がいいんだけどねぇ

わかってはいるけれども、やりたくないことは多々ある。

FALPとOBEXは別々に分けた方がいいのだ。
データを送りたくてOBEXを呼ぶ人と、OBEXが転送のためにFALPを呼ぶ人と。

OBEX PUTは、サイズとして65535byte送ることができる。
FALPは、FALPパケット込みで255byte。FALP転送コマンドを除くと247byte。
なので、OBEXの人は247byteずつ分割してFALPを呼んでくれたら済むのだ。

そこまでわかっていてなぜやらないかというと・・・OBEX層を用意したくないから。
だって、作ってるのはNFC/FeliCaのライブラリだから、あんまり不要なものは作りたくないのだ。
かといって、OBEX層をライブラリから外すと、FALP送信のたびにJNI呼び出しするので、遅くなる。
遅くなるのがあらかじめわかっているので、嫌なのだ。

それに、OBEXとFALPをわけると、OBEX用のパケットを作るところと、FALP用のパケットを作るところが出てくる。
そうすると、重複したデータを持つバッファができてしまう。
FALPは255byteくらいだからいいやん、という気もするが、なんかね…。
今でさえ、NFCとRC-S620/Sで別のバッファを持つのが嫌なのに。

だから、作るならOBEX/FALP込みのライブラリ。
バッファはなるべく使い回し。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。