pub enum EngineEventKind {
Accepted,
PolicyRejected,
Malformed,
TransportFailure,
}Expand description
Stable engine event category for observability.
Variants§
Accepted
Packet parsed and passed policy.
PolicyRejected
Packet parsed but was rejected by policy.
Malformed
Packet failed the codec boundary.
TransportFailure
Transport failed before codec parsing.
Implementations§
Source§impl EngineEventKind
impl EngineEventKind
Sourcepub const fn code(self) -> &'static str
pub const fn code(self) -> &'static str
Returns a stable machine-readable event kind code.
Examples found in repository?
examples/service_ingest.rs (line 16)
5fn main() -> Result<(), std::io::Error> {
6 let input = b"N0CALL>APRS:>service online\nN1CALL>APRS:~opaque\nbad packet\n";
7 let mut engine = Engine::new(Policy::strict());
8
9 let packets = LineTransport::new(input).packets_with_limit(MAX_PACKET_LEN)?;
10
11 for packet in packets {
12 match engine.process_event(packet) {
13 EngineEvent::Accepted(event) => {
14 println!(
15 "event={} semantic={}",
16 event.kind().code(),
17 event.packet.summary().semantic
18 );
19 }
20 EngineEvent::Rejected(event) => {
21 println!(
22 "event={} code={} remediation={}",
23 event.kind().code(),
24 event.diagnostic.code,
25 event.diagnostic.remediation
26 );
27 }
28 EngineEvent::Malformed(event) => {
29 println!(
30 "event={} code={} raw_len={} raw_truncated={} remediation={}",
31 event.kind().code(),
32 event.diagnostic.code,
33 event.raw.len(),
34 event.raw_truncated,
35 event.diagnostic.remediation
36 );
37 }
38 }
39 }
40
41 let counters = engine.counters();
42 println!(
43 "summary accepted={} rejected={} malformed={}",
44 counters.accepted, counters.rejected, counters.malformed
45 );
46
47 Ok(())
48}Trait Implementations§
Source§impl Clone for EngineEventKind
impl Clone for EngineEventKind
Source§fn clone(&self) -> EngineEventKind
fn clone(&self) -> EngineEventKind
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 EngineEventKind
impl Debug for EngineEventKind
Source§impl PartialEq for EngineEventKind
impl PartialEq for EngineEventKind
Source§fn eq(&self, other: &EngineEventKind) -> bool
fn eq(&self, other: &EngineEventKind) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for EngineEventKind
impl Eq for EngineEventKind
impl StructuralPartialEq for EngineEventKind
Auto Trait Implementations§
impl Freeze for EngineEventKind
impl RefUnwindSafe for EngineEventKind
impl Send for EngineEventKind
impl Sync for EngineEventKind
impl Unpin for EngineEventKind
impl UnsafeUnpin for EngineEventKind
impl UnwindSafe for EngineEventKind
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