Manish Thakur wrote:
> From the above explanation I understand that IPP client can divide a
> large IPP operational data prepared, into multiple http requests at
> the client end; the last request is made with zero length. Is it
No, it isn't divided into multiple requests. It is a single request
with the "Transfer-Encoding:" attribute/value set to "chunked".
IPP does allow for muliple requests for a single job, however files
can't be split between requests (unless the print data is logically
split this way, i.e. pages in a PostScript document).
An IPP server is only required to support accepting a single file
for printing, however, so clients should either send single-file
jobs or query the server to see if it supports the Create-Job and
Send-Document and/or Send-URI operations before assuming that it
can send multiple files in a single job to the server.
> The protocol does not make it mandatory to send a zero length
> request after sending operational data. Is it correct? So if all
> the operational data is sent in a single request, how does the IPP
> server understand that it has recieved all the data for the request?
The HTTP protocol requires that requests with a transfer encoding
of "chunked" send a zero-length chunk to indicate the end of the
request data. This is completely separate from the IPP layer, which
only deals with a continuous stream of information.
Remember, IPP is the *encoding* layer, while HTTP is the *transport*
layer. You may format an IPP operation "message", but when you send
that message to the IPP server you have to use HTTP to do it.
> I see job-k-octets as an optional attribute in Job Template
> Attributes, is this relevant in this context?
Not really. "job-k-octets" only provides a rough number of kilobytes
for the job, so all you get is 1k, 2k, 3k, etc. That isn't good
enough to determine the length of the document data (it can be off
by as much as 1023 bytes!)
> Can a IPP server handle print data that has come across via multiple
> http requests from the client, without using job-k-octets attribute?
Michael Sweet, Easy Software Products mike at easysw.com
Printing Software for UNIX http://www.easysw.com