pub trait ReportOffence<Reporter, Offender, O: Offence<Offender>> {
// Required methods
fn report_offence(
reporters: Vec<Reporter>,
offence: O,
) -> Result<(), OffenceError>;
fn is_known_offence(offenders: &[Offender], time_slot: &O::TimeSlot) -> bool;
}
Expand description
A trait for decoupling offence reporters from the actual handling of offence reports.
Required Methods§
Sourcefn report_offence(
reporters: Vec<Reporter>,
offence: O,
) -> Result<(), OffenceError>
fn report_offence( reporters: Vec<Reporter>, offence: O, ) -> Result<(), OffenceError>
Report an offence
and reward given reporters
.
Sourcefn is_known_offence(offenders: &[Offender], time_slot: &O::TimeSlot) -> bool
fn is_known_offence(offenders: &[Offender], time_slot: &O::TimeSlot) -> bool
Returns true iff all of the given offenders have been previously reported at the given time slot. This function is useful to prevent the sending of duplicate offence reports.
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.