[BROKEN] started working on web server implementation

This commit is contained in:
Jurn Wubben 2025-09-27 14:08:05 +02:00
parent 7d42fe7211
commit b2662dadb7
4 changed files with 732 additions and 90 deletions

View file

@ -17,32 +17,26 @@ impl Printer {
self.queue.push(Job::new(self.max_width));
self.queue.last_mut().ok_or(EscPosError::InvalidQueueIndex)
}
pub fn print_job(&mut self, writer: &mut impl Write) -> Result<(), EscPosError> {
// let page_feed: u8 = 0x0A;
let job = self
.queue
fn extract_job(&mut self) -> Result<Job, EscPosError> {
self.queue
.extract_if(.., |j| j.ready)
.next()
.ok_or(EscPosError::EmptyQueue)?;
.ok_or(EscPosError::EmptyQueue)
}
pub fn print_job(&mut self, writer: &mut impl Write) -> Result<(), EscPosError> {
let mut job = self.extract_job()?;
job.write_feed(Some(2));
// writer.write(&[page_feed]).unwrap(); // FIXME: remove unwraps
writer.write(&job.content).unwrap();
// writer.write(&[page_feed]).unwrap();
Ok(())
}
pub fn export_job(&mut self) -> Result<Vec<u8>, EscPosError> {
let page_feed: u8 = 0x0A;
let job = self
.queue
.extract_if(.., |j| j.ready)
.next()
.ok_or(EscPosError::EmptyQueue)?;
let mut job = self.extract_job()?;
job.write_feed(Some(2));
let mut out = Vec::with_capacity(2 + job.content.len());
out.push(page_feed);
out.extend(job.content);
out.push(page_feed);
Ok(out)
}