use super::queue::Half;
use s2n_quic_core::{probe, varint::VarInt};
probe::define!(
extern "probe" {
#[link_name = s2n_quic_dc__stream__recv__dispatch__send]
pub fn on_send(queue_id: VarInt, half: Half, has_overflow: bool);
#[link_name = s2n_quic_dc__stream__recv__dispatch__recv]
pub fn on_recv(queue_id: VarInt, half: Half, count: usize);
#[link_name = s2n_quic_dc__stream__recv__dispatch__receiver_open]
pub fn on_receiver_open(queue_id: VarInt);
#[link_name = s2n_quic_dc__stream__recv__dispatch__receiver_drop]
pub fn on_receiver_drop(queue_id: VarInt, half: Half);
#[link_name = s2n_quic_dc__stream__recv__dispatch__receiver_free]
pub fn on_receiver_free(queue_id: VarInt, owner: Half);
#[link_name = s2n_quic_dc__stream__recv__dispatch__sender_drop]
pub fn on_sender_drop(queue_id: VarInt);
#[link_name = s2n_quic_dc__stream__recv__dispatch__sender_close]
pub fn on_sender_close(queue_id: VarInt);
#[link_name = s2n_quic_dc__stream__recv__dispatch__grow]
pub fn on_grow(prev_size: usize, next_size: usize);
#[link_name = s2n_quic_dc__stream__recv__dispatch__draining]
pub fn on_draining(total_size: usize, remaining: usize);
#[link_name = s2n_quic_dc__stream__recv__dispatch__drained]
pub fn on_drained(total_size: usize);
}
);