pub trait Context<Config: Config> {
const ENDPOINT_TYPE: Type;
fn is_handshake_confirmed(&self) -> bool;
fn path(&self) -> &Path<Config>;
fn path_mut(&mut self) -> &mut Path<Config>;
fn path_by_id(&self, path_id: Id) -> &Path<Config>;
fn path_mut_by_id(&mut self, path_id: Id) -> &mut Path<Config>;
fn path_id(&self) -> Id;
fn validate_packet_ack(
&mut self,
datagram: &DatagramInfo,
packet_number_range: &PacketNumberRange
) -> Result<(), Error>;
fn on_new_packet_ack<Pub: ConnectionPublisher>(
&mut self,
packet_number_range: &PacketNumberRange,
publisher: &mut Pub
);
fn on_packet_ack(
&mut self,
datagram: &DatagramInfo,
packet_number_range: &PacketNumberRange
);
fn on_packet_loss<Pub: ConnectionPublisher>(
&mut self,
packet_number_range: &PacketNumberRange,
publisher: &mut Pub
);
fn on_rtt_update(&mut self);
}