1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use twizzler_net::{ConnectionId, PacketData, TxCompletion, TxCompletionError};
use crate::HandleRef;
pub async fn send_packet(
handle: &HandleRef,
conn_id: ConnectionId,
packet_data: PacketData,
) -> TxCompletion {
let info = match handle.data().get_endpoint_info(conn_id) {
Some(info) => info,
None => return TxCompletion::Error(TxCompletionError::NoSuchConnection),
};
match info.dest_address().1 {
twizzler_net::addr::ServiceAddr::Null => {
crate::network::send_raw_packet(handle, info, packet_data).await
}
_ => crate::transport::send_packet(handle, info, packet_data).await,
}
}