[printing-japan] Bi-di資料

Masaki IWATA iwata @ axe-inc.co.jp
2003年 12月 9日 (火) 23:55:54 PST


アックスの岩田です。

> BBRの吉田です。
> この辺の議論は9月下旬に議論されてました。
> 
> 内容が複数メールにわたるので、ずばりココという箇所を引用できないので
> すが、まずは以下の2つのメールをご参照ください。

ありがとうございます。

>>(必要であれば、出力開始前にチェックした後)データ出力
>>完了後、或いは、(データ出力がタイムアウトするなどの)
>>異常発生時にチェックするのみで可とするのでしょうか?
>>
>>それとも、一定の間隔(出力データを適当なサイズに分割
>>或いは時分割)で、チェックをするのでしょうか?
> 
> 上記メールの内容に即しますと、一定間隔でポーリングするイメージになり
> ます。

ちょっとはっきり読み取れないのですが、このポーリング処理は、
Plug-in の内部処理として、自動的に行なっているものということ
でしょうか?
それとも、Backend なり printer daemon がこの間隔で読出せとい
うことでしょうか?

もし、Plug-in 内部での話であるなら、Backend や printer daemon
が Plug-in からステータスを読み取るタイミングは、実装依存と
いうことでしょうか?

> 任意のタイミングでbackendないしprinter daemonからプリンタステータス
> を取得できるかといいますと、
> ・Bi-di Plug-inモジュールが共有ライブラリタイプの場合は
>  read fdが常に読み出し可能になってますので、selectからすぐに抜けて、
>  bidiStartRead-->bidiRead-->bidiEndRead を行えばよい、
> ・プロセスタイプの場合は、
>  Plug-inモジュールがデータをリフレッシュしたタイミングで、read fdが
>  データ準備状態になりますので、selectから抜けるのを待つか、直前のス
>  テータスデータを使うことになります。
> 
> ということですが、仕様としては後者のプロセスモデルに合わせておくのが
> 無難と思います。基本はポーリングモデルでステータス取得しておき、割り
> 込まれたら、直前または次のポーリングデータ(待てる時間による)をプリ
> ンタステータスとして返すという仕様です。

方法論的なこともあるのですが、それ以前に、出力中の印刷データ
を、*任意*のタイミングでちょん切って、ステータスの読込処理を
割り込ませても、印刷処理上の問題が発生することはないと、保障
されているのかな? と思ったのです。

>># 開始前や処理中に紙なし等が検出された場合には、その
>># 後の制御方法は、実装依存でしょうか?
> 
> オペレータが介在する話なので、なんとも…

実際には Backend の構造上、
  紙の補給等で、エラー状態が解除されるまで待機し、解除が
  検知されたときには、直ちに印刷を再開する
か、
  一旦、Backend を終了させ(どのような状態で抜けることに
  なるのか分っていないのですが...)、CUPS がジョブを再度
  実行できるようにする
の、どちらかしかないように思えるのですが...

-- 
IWATA Masaki
 岩田 正樹






More information about the Printing-japan mailing list