Trait PredicateEngine
pub trait PredicateEngine<'a>: MatchEncoder<'a> {
Show 17 methods
// Required methods
fn read_buffer(&'a self, buffer: &[u8]) -> Result<Predicate<Self::P>, Error>;
fn write_buffer(
&'a self,
pred: &Predicate<Self::P>,
buffer: &mut Vec<u8>,
) -> Result<(), Error>;
fn rewrite_dip(
&'a self,
before: &Predicate<Self::P>,
m: Match<u32>,
) -> Predicate<Self::P>;
fn erase_dip(&'a self, before: &Predicate<Self::P>) -> Predicate<Self::P>;
fn erase_except_dip(
&'a self,
before: &Predicate<Self::P>,
) -> Predicate<Self::P>;
fn rewrite_sip(
&'a self,
before: &Predicate<Self::P>,
m: Match<u32>,
) -> Predicate<Self::P>;
fn erase_sip(&'a self, before: &Predicate<Self::P>) -> Predicate<Self::P>;
fn erase_except_sip(
&'a self,
before: &Predicate<Self::P>,
) -> Predicate<Self::P>;
fn rewrite_dport(
&'a self,
before: &Predicate<Self::P>,
m: Match<u16>,
) -> Predicate<Self::P>;
fn erase_dport(&'a self, before: &Predicate<Self::P>) -> Predicate<Self::P>;
fn erase_except_dport(
&'a self,
before: &Predicate<Self::P>,
) -> Predicate<Self::P>;
fn rewrite_sport(
&'a self,
before: &Predicate<Self::P>,
m: Match<u16>,
) -> Predicate<Self::P>;
fn erase_sport(&'a self, before: &Predicate<Self::P>) -> Predicate<Self::P>;
fn erase_except_sport(
&'a self,
before: &Predicate<Self::P>,
) -> Predicate<Self::P>;
fn rewrite_tag(
&'a self,
before: &Predicate<Self::P>,
m: Match<u16>,
) -> Predicate<Self::P>;
fn erase_tag(&'a self, before: &Predicate<Self::P>) -> Predicate<Self::P>;
fn erase_except_tag(
&'a self,
before: &Predicate<Self::P>,
) -> Predicate<Self::P>;
}Expand description
An extended trait of MatchEncoder, which additionally enables serialization and deserialization of a predicate.
It is useful when local storing or remote transmitting predicates.
Required Methods§
fn read_buffer(&'a self, buffer: &[u8]) -> Result<Predicate<Self::P>, Error>
fn read_buffer(&'a self, buffer: &[u8]) -> Result<Predicate<Self::P>, Error>
Deserialize a predicate according to the buffer.
fn write_buffer(
&'a self,
pred: &Predicate<Self::P>,
buffer: &mut Vec<u8>,
) -> Result<(), Error>
fn write_buffer( &'a self, pred: &Predicate<Self::P>, buffer: &mut Vec<u8>, ) -> Result<(), Error>
Serialize the predicate to the buffer.
fn rewrite_dip( &'a self, before: &Predicate<Self::P>, m: Match<u32>, ) -> Predicate<Self::P>
fn erase_dip(&'a self, before: &Predicate<Self::P>) -> Predicate<Self::P>
fn erase_except_dip(&'a self, before: &Predicate<Self::P>) -> Predicate<Self::P>
fn rewrite_sip( &'a self, before: &Predicate<Self::P>, m: Match<u32>, ) -> Predicate<Self::P>
fn erase_sip(&'a self, before: &Predicate<Self::P>) -> Predicate<Self::P>
fn erase_except_sip(&'a self, before: &Predicate<Self::P>) -> Predicate<Self::P>
fn rewrite_dport( &'a self, before: &Predicate<Self::P>, m: Match<u16>, ) -> Predicate<Self::P>
fn erase_dport(&'a self, before: &Predicate<Self::P>) -> Predicate<Self::P>
fn erase_except_dport( &'a self, before: &Predicate<Self::P>, ) -> Predicate<Self::P>
fn rewrite_sport( &'a self, before: &Predicate<Self::P>, m: Match<u16>, ) -> Predicate<Self::P>
fn erase_sport(&'a self, before: &Predicate<Self::P>) -> Predicate<Self::P>
fn erase_except_sport( &'a self, before: &Predicate<Self::P>, ) -> Predicate<Self::P>
fn rewrite_tag( &'a self, before: &Predicate<Self::P>, m: Match<u16>, ) -> Predicate<Self::P>
fn erase_tag(&'a self, before: &Predicate<Self::P>) -> Predicate<Self::P>
fn erase_except_tag(&'a self, before: &Predicate<Self::P>) -> Predicate<Self::P>
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.