mirror of
https://codeberg.org/demostf/parser.git
synced 2026-06-03 18:24:05 +02:00
dont hard error when packet is cut off
This commit is contained in:
parent
d66124c4dd
commit
2e740c8f2f
1 changed files with 8 additions and 1 deletions
|
|
@ -1,4 +1,4 @@
|
||||||
use bitbuffer::{BitRead, LittleEndian};
|
use bitbuffer::{BitError, BitRead, LittleEndian};
|
||||||
|
|
||||||
pub use self::messagetypeanalyser::MessageTypeAnalyser;
|
pub use self::messagetypeanalyser::MessageTypeAnalyser;
|
||||||
|
|
||||||
|
|
@ -95,6 +95,7 @@ impl<'a, A: MessageHandler> DemoParser<'a, A> {
|
||||||
pub struct RawPacketStream<'a> {
|
pub struct RawPacketStream<'a> {
|
||||||
stream: Stream<'a>,
|
stream: Stream<'a>,
|
||||||
ended: bool,
|
ended: bool,
|
||||||
|
incomplete: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> RawPacketStream<'a> {
|
impl<'a> RawPacketStream<'a> {
|
||||||
|
|
@ -102,6 +103,7 @@ impl<'a> RawPacketStream<'a> {
|
||||||
RawPacketStream {
|
RawPacketStream {
|
||||||
stream,
|
stream,
|
||||||
ended: false,
|
ended: false,
|
||||||
|
incomplete: false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -115,6 +117,11 @@ impl<'a> RawPacketStream<'a> {
|
||||||
Ok(None)
|
Ok(None)
|
||||||
}
|
}
|
||||||
Ok(packet) => Ok(Some(packet)),
|
Ok(packet) => Ok(Some(packet)),
|
||||||
|
Err(ParseError::ReadError(BitError::NotEnoughData { .. })) => {
|
||||||
|
self.ended = true;
|
||||||
|
self.incomplete = true;
|
||||||
|
Ok(None)
|
||||||
|
}
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
self.ended = true;
|
self.ended = true;
|
||||||
Err(e)
|
Err(e)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue