Opened 14 years ago
Last modified 14 years ago
#21 accepted enhancement
Write our own IPP server
Reported by: | jhamrick | Owned by: | jhamrick |
---|---|---|---|
Priority: | blocker | Component: | server |
Keywords: | Cc: |
Description
(See #13)
After discussing with broglek and quentin, we have come to the conclusion that writing our own IPP server will likely resolve all our problems. We only actually use the queue functionality of CUPS, and none of it's shiny features, so we're using only a small part of this giant piece of software, and it doesn't even work the way we want it to all the time. So, it's probably better to just reimplement that small piece of CUPS. That way, when bugs crop up, we can fix them ourselves instead of looking for a way around it in CUPS. This also automatically fixes the API problem, as we can just send IPP requests to our server (i.e., it includes the API functionality already). In addition, all CUPS commands should still work with our server, as they ultimately just send IPP requests.
Change History (3)
comment:1 Changed 14 years ago by jhamrick
- Owner set to jhamrick
- Status changed from new to accepted
comment:2 Changed 14 years ago by geofft
comment:3 Changed 14 years ago by jhamrick
Well, the nice thing about writing our own IPP server is that then we get a whole lot of flexibility with various things that CUPS doesn't support (for example, Send-URI is supported by IPP but not by CUPS, but that would enable us to stream videos without needing to do the echo hack). Using our own handlers for IPP operations will also let us do things like control volume, pause the song, etc., that we wouldn't otherwise be able to do. We're planning to make the server still compatible with the lpr commands, so that shouldn't be an issue. Using someone else's code would be nice in the sense that then we don't have to write it (though I've already written a great deal of the IPP implementation). But I just don't think then we'd have the same amount of flexibility, because when it comes down to it, we don't want to control a printer, we want to control a music player.
There is something (although not much) to be said for using other people's software if you can. To consider another route, sipbmp3 used LPRng for a while, and there are [http://sourceforge.net/mailarchive/message.php?msg_id=26581296