[printing-japan] Bi-di 資料

yoshida mikio-y @ zd6.so-net.ne.jp
2003年 12月 10日 (水) 01:19:52 PST


BBRの吉田です。

In message, Masaki IWATA <iwata @ axe-inc.co.jp>-san wrote on 
Wed, 10 Dec 2003 16:55:54 +0900...

> アックスの岩田です。
> 
> > BBRの吉田です。
> > この辺の議論は9月下旬に議論されてました。
> > 
> > 内容が複数メールにわたるので、ずばりココという箇所を引用できないので
> > すが、まずは以下の2つのメールをご参照ください。
> 
> ありがとうございます。
> 
> >>(必要であれば、出力開始前にチェックした後)データ出力
> >>完了後、或いは、(データ出力がタイムアウトするなどの)
> >>異常発生時にチェックするのみで可とするのでしょうか?
> >>
> >>それとも、一定の間隔(出力データを適当なサイズに分割
> >>或いは時分割)で、チェックをするのでしょうか?
> > 
> > 上記メールの内容に即しますと、一定間隔でポーリングするイメージになり
> > ます。
> 
> ちょっとはっきり読み取れないのですが、このポーリング処理は、
> Plug-in の内部処理として、自動的に行なっているものということ
> でしょうか?
> それとも、Backend なり printer daemon がこの間隔で読出せとい
> うことでしょうか?

後者になります。
PPDファイルに間隔を記載するようです。

> もし、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
>  岩田 正樹

---
吉田 幹  mikio-y @ zd6.so-net.ne.jp
PHS: 070-5656-7413





More information about the Printing-japan mailing list