pub struct ProtocolRegistry { /* private fields */ }Expand description
Registry for protocol parsers with priority-based selection.
Uses static dispatch via enum for all built-in protocols, avoiding vtable overhead and enabling compiler optimizations.
Implementations§
Source§impl ProtocolRegistry
impl ProtocolRegistry
Sourcepub fn register<P: Into<BuiltinProtocol>>(&mut self, parser: P)
pub fn register<P: Into<BuiltinProtocol>>(&mut self, parser: P)
Register a protocol parser.
Sourcepub fn find_parser(&self, context: &ParseContext) -> Option<&BuiltinProtocol>
pub fn find_parser(&self, context: &ParseContext) -> Option<&BuiltinProtocol>
Find the best parser for the given context.
Sourcepub fn all_parsers(&self) -> impl Iterator<Item = &BuiltinProtocol>
pub fn all_parsers(&self) -> impl Iterator<Item = &BuiltinProtocol>
Get all registered parsers.
Sourcepub fn get_parser(&self, name: &str) -> Option<&BuiltinProtocol>
pub fn get_parser(&self, name: &str) -> Option<&BuiltinProtocol>
Get a parser by name.
Sourcepub fn combined_schema(&self) -> Vec<FieldDescriptor>
pub fn combined_schema(&self) -> Vec<FieldDescriptor>
Build combined schema from all parsers.
Trait Implementations§
Source§impl Clone for ProtocolRegistry
impl Clone for ProtocolRegistry
Source§fn clone(&self) -> ProtocolRegistry
fn clone(&self) -> ProtocolRegistry
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ProtocolRegistry
impl Debug for ProtocolRegistry
Auto Trait Implementations§
impl Freeze for ProtocolRegistry
impl RefUnwindSafe for ProtocolRegistry
impl Send for ProtocolRegistry
impl Sync for ProtocolRegistry
impl Unpin for ProtocolRegistry
impl UnwindSafe for ProtocolRegistry
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more