pub trait SigVerifier {
type SendType: Debug;
// Required methods
fn verify_batches(
&self,
batches: Vec<PacketBatch>,
valid_packets: usize
) -> Vec<PacketBatch>;
fn send_packets(
&mut self,
packet_batches: Vec<PacketBatch>
) -> Result<(), SigVerifyServiceError<Self::SendType>>;
// Provided methods
fn process_received_packet(
&mut self,
_packet: &mut Packet,
_removed_before_sigverify_stage: bool,
_is_dup: bool
) { ... }
fn process_excess_packet(&mut self, _packet: &Packet) { ... }
fn process_passed_sigverify_packet(&mut self, _packet: &Packet) { ... }
}