chiark
/
gitweb
/
~ian
/
hippotat.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
server: change type of checkn
[hippotat.git]
/
src
/
slip.rs
diff --git
a/src/slip.rs
b/src/slip.rs
index 0b1fe6c93574e6de350fa2e99184fd24ad494d06..3903636602f0166b32ba05d7ece8977963f757fd 100644
(file)
--- a/
src/slip.rs
+++ b/
src/slip.rs
@@
-32,11
+32,11
@@
pub fn checkn<AC, EH, OUT, M: SlipMime+Copy>(
mime: M,
mtu: u32,
data: &[u8],
mime: M,
mtu: u32,
data: &[u8],
- out: &mut OUT,
addr_chk: AC,
addr_chk: AC,
+ mut out: OUT,
mut error_handler: EH
mut error_handler: EH
-) where
OUT: Extend<Box<[u8]>>
,
-
AC: Fn(&[u8]) -> Result<(), PacketError> + Copy
,
+) where
AC: Fn(&[u8]) -> Result<(), PacketError> + Copy
,
+
OUT: FnMut(Box<[u8]>)
,
EH: FnMut(PacketError),
{
// eprintln!("before: {:?}", DumpHex(data));
EH: FnMut(PacketError),
{
// eprintln!("before: {:?}", DumpHex(data));
@@
-47,7
+47,7
@@
pub fn checkn<AC, EH, OUT, M: SlipMime+Copy>(
match check1(mime, mtu, packet, addr_chk) {
Err(PacketError::Empty) => { }
Err(e) => { err=true; error_handler(e); },
match check1(mime, mtu, packet, addr_chk) {
Err(PacketError::Empty) => { }
Err(e) => { err=true; error_handler(e); },
- Ok(packet) => { ok=true; out
.extend(iter::once(packet)
); },
+ Ok(packet) => { ok=true; out
(packet
); },
}
}
// eprintln!(" after: {:?}", DumpHex(data));
}
}
// eprintln!(" after: {:?}", DumpHex(data));