測定データ配置の実装(1)

取得したデータの実処理をコメントでプログラム中に書き出してみた。自分ではコメントによる実装なので、「コメント実装」と読んでいる。こんな感じ。

  int parseRecvData(int first, int last, int steps, int data_byte) {

    printf("fisrt: %d, last: %d, steps: %d, data_byte: %d\n",
           first, last, steps, data_byte);

    int n;
    char buffer[pImpl::LineSize];
    while ((n = readLine(buffer, LineSize, FirstTimeout)) > 0) {

      // !!! n が最大数の場合、行末が isLF であることで正当性を判定する
      // !!! data_byte 分だけ取り出してはバッファに追加し、変換する
      // !!! 余った分は、バッファに足しておく
      // !!! 次に登録するべきバイト数を保持しておけばよさげ

      // !!! 正当でないデータがきたら、その時点で処理を中止、
      // !!! -> 全部なかったことにする
      // !!! -> 以降のデータをなかったことにする
      // !!! いずれにせよ、データは読み切ってしまうべき

      // !!! 変換結果の数値列をためるのは、vector なメンバ変数にしとけばよさげ

      //fprintf(stderr, "data: %s\n", buffer);
    }
    // !!! 正常に受信が終われば、データ格納クラスに展開して配置

    return -1;
  } 

今まで、重そうな気がして手をつけてなかったが、書き出してみると簡単に思える。
ま、実装はまた今度かな? 最近は仕事が忙しいのですよ...。

測定データ配置の実装(2) へ」

Generated on Mon Apr 13 22:52:06 2009 by  doxygen 1.5.7.1