From: Michael Sweet <mike@easysw.com>
To: Yasumasa TORATANI <toratani.yasumasa@canon.co.jp>
Cc: Pete Zannucci <pzaan@us.ibm.com>,
printing-architecture@freestandards.org,
printing-japan@freestandards.org
Subject: Re: [Printing-architecture] Bi-di plug-in functionarities
Date: Tue, 10 Dec 2002 10:30:58 -0500 [thread overview]
Message-ID: <3DF608B2.2040501@easysw.com> (raw)
In-Reply-To: <20021210170329.CF52.TORATANI.YASUMASA@canon.co.jp>
Yasumasa TORATANI wrote:
> ...
> Yes, and I suppose it might be better, for instance, in case of
> the printing data being blocked due to the buffer full or some
> error, such as no paper, while the driver writes the printing
> data into the pipe. I suppose the driver can't read the printer
> info from the backchannel under the single process when it's
> blocked, but the driver doesn't have to read any printer info
> from the backchannel pipe with another process or thread of
> the driver, since the printer info which affects the printer data
> generation should be obtained once before each printing, and
> probably, printer error and other info should be obtained by
> another process separately.
Actually, a driver can use select() to determine when it is
"safe" to write a buffer of data and when there is backchannel
data available, so threading is not needed. Also, threading
can introduce performance and portability issues on some
platforms, and isn't always the correct solution under UNIX.
(unfortunately, threads are the only way to implement some
things under Windows...)
> ...
> So, one process for generating and writing the printing data,
> and another process for reading the printer status is the point.
That is one possible implementation, and it is used for the
current EPSON and Canon backends for the GIMP-print project to
provide ink level information to the user.
Again, it isn't the only possible implementation, and CUPS can
support any kind of backend/driver architecture. The *optimal*
one from the CUPS standpoint is one where the driver handles
the encoding/decoding of printer data, and the backend handles
the communications with the printer.
--
______________________________________________________________________
Michael Sweet, Easy Software Products mike@easysw.com
Printing Software for UNIX http://www.easysw.com
next prev parent reply other threads:[~2002-12-10 15:30 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-12-06 16:10 [Printing-architecture] Bi-di plug-in functionarities Pete Zannucci
2002-12-06 18:11 ` Michael Sweet
2002-12-09 10:01 ` Yasumasa TORATANI
2002-12-09 14:19 ` Michael Sweet
2002-12-10 10:52 ` Yasumasa TORATANI
2002-12-10 15:30 ` Michael Sweet [this message]
2002-12-12 13:49 ` Yasumasa TORATANI
-- strict thread matches above, loose matches on Subject: below --
2002-12-10 15:18 Pete Zannucci
2002-12-12 13:53 ` Yasumasa TORATANI
2002-12-09 16:44 Pete Zannucci
2002-12-09 20:49 ` Michael Sweet
2002-12-06 13:04 Yasumasa TORATANI
2002-12-06 15:38 ` Michael Sweet
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3DF608B2.2040501@easysw.com \
--to=mike@easysw.com \
--cc=printing-architecture@freestandards.org \
--cc=printing-japan@freestandards.org \
--cc=pzaan@us.ibm.com \
--cc=toratani.yasumasa@canon.co.jp \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.