<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Sean,<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Nov 30, 2018, at 8:52 PM, Sean Kau &lt;<a href="mailto:skau@chromium.org" class="">skau@chromium.org</a>&gt; wrote:</div><div class=""><div dir="ltr" style="font-size: 11px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><div class="">...</div><div class="" style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular;">We could perform discovery over a domain socket, even continuing to use DNS-SD if we register the </div></div></div></blockquote><div><br class=""></div>DNS-SD discovery happens through Avahi, which uses DBUS as its communications mechanism. &nbsp;If the discovered printer has no equivalent CUPS queue, libcups will use a CUPS-Create-Local-Printer request to ask cupsd to resolve and talk to the printer to setup a (temporary) local print queue, and thereafter the client application only ever communicates with cupsd unless it explicitly requests a connection to the printer itself (CUPS_DEST_FLAGS_DEVICE passed to cupsConnectDest) - that would be used by a management application OR by a print dialog wanting to show the currently loaded media. Longer term we would like to be able to relay the currently loaded media via cupsd as well, but that is problematic from a performance perspective...</div><div><br class=""></div><div><blockquote type="cite" class=""><div class=""><div dir="ltr" style="font-size: 11px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><div class="" style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular;">...</div></div></div></blockquote><blockquote type="cite" class=""><div class=""><div dir="ltr" style="font-size: 11px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><div class="" style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular;">printers at a given endpoint.&nbsp; As far as I can tell, the primary advantage to using TCP over localhost is the presence of port numbers.</div></div></div></blockquote><div><br class=""></div>No, it is because the IPP and IPPS URI schemes are based on HTTP and HTTPS, which only recognize Internet Protocol addresses and DNS-style names. &nbsp;The use of the domain socket by cupsd is non-standard, and even the URIs you pass to cupsd must still use "localhost" when communicating over the domain socket since you can't embed a domain socket filename in the URI without causing a lot of problems...</div><div><br class=""></div><div class="">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Andale Mono'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Andale Mono'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">_________________________________________________________<br class="">Michael Sweet, Senior Printing System&nbsp;Engineer</div></span></div></span>
</div>
<br class=""></body></html>