1
0
Fork 0
mirror of https://codeberg.org/demostf/parser.git synced 2026-06-03 10:14:06 +02:00

cache flat props

This commit is contained in:
Robin Appelman 2019-08-10 20:36:32 +02:00
commit 164f88a32a
4 changed files with 54 additions and 22 deletions

View file

@ -9,7 +9,7 @@ use std::fs;
use pretty_assertions::assert_eq;
use tf_demo_parser::{Demo, DemoParser, MatchState, MessageTypeAnalyser, MessageType, ParserState};
use tf_demo_parser::demo::packet::datatable::{SendTable, SendTableName};
use tf_demo_parser::demo::packet::datatable::{ParseSendTable, SendTableName};
use tf_demo_parser::demo::packet::stringtable::StringTableEntry;
use tf_demo_parser::demo::message::Message;
use tf_demo_parser::demo::sendprop::SendPropDefinition;
@ -20,7 +20,7 @@ use test::Bencher;
pub struct SendPropAnalyser;
impl MessageHandler for SendPropAnalyser {
type Output = Vec<SendTable>;
type Output = Vec<ParseSendTable>;
fn does_handle(message_type: MessageType) -> bool {
false
@ -31,7 +31,11 @@ impl MessageHandler for SendPropAnalyser {
fn handle_string_entry(&mut self, table: &String, _index: usize, entry: &StringTableEntry) {}
fn get_output(self, state: ParserState) -> Self::Output {
state.send_tables.into_iter().map(|(_k, v)| v).collect()
state.send_tables.into_iter().map(|(_k, v)| ParseSendTable {
name: v.name,
props: v.props,
needs_decoder: v.needs_decoder
}).collect()
}
}