Trait MessageHandler

Source
pub trait MessageHandler {
    type Output;

    // Required methods
    fn does_handle(message_type: MessageType) -> bool;
    fn into_output(self, state: &ParserState) -> Self::Output;

    // Provided methods
    fn handle_header(&mut self, _header: &Header) { ... }
    fn handle_message(
        &mut self,
        _message: &Message<'_>,
        _tick: DemoTick,
        _parser_state: &ParserState,
    ) { ... }
    fn handle_string_entry(
        &mut self,
        _table: &str,
        _index: usize,
        _entries: &StringTableEntry<'_>,
        _parser_state: &ParserState,
    ) { ... }
    fn handle_data_tables(
        &mut self,
        _tables: &[ParseSendTable],
        _server_classes: &[ServerClass],
        _parser_state: &ParserState,
    ) { ... }
    fn handle_packet_meta(
        &mut self,
        _tick: DemoTick,
        _meta: &MessagePacketMeta,
        _parser_state: &ParserState,
    ) { ... }
}

Required Associated Types§

Required Methods§

Source

fn does_handle(message_type: MessageType) -> bool

Source

fn into_output(self, state: &ParserState) -> Self::Output

Provided Methods§

Source

fn handle_header(&mut self, _header: &Header)

Source

fn handle_message( &mut self, _message: &Message<'_>, _tick: DemoTick, _parser_state: &ParserState, )

Source

fn handle_string_entry( &mut self, _table: &str, _index: usize, _entries: &StringTableEntry<'_>, _parser_state: &ParserState, )

Source

fn handle_data_tables( &mut self, _tables: &[ParseSendTable], _server_classes: &[ServerClass], _parser_state: &ParserState, )

Source

fn handle_packet_meta( &mut self, _tick: DemoTick, _meta: &MessagePacketMeta, _parser_state: &ParserState, )

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§