MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / blocking_send

Method blocking_send

crates/test-programs/src/sockets.rs:229–246  ·  view source on GitHub ↗
(&self, mut datagrams: &[OutgoingDatagram])

Source from the content-addressed store, hash-verified

227 }
228
229 pub fn blocking_send(&self, mut datagrams: &[OutgoingDatagram]) -> Result<(), ErrorCode> {
230 let timeout = monotonic_clock::subscribe_duration(TIMEOUT_NS);
231
232 while !datagrams.is_empty() {
233 let permit = self.blocking_check_send(&timeout)?;
234 let chunk_len = datagrams.len().min(permit as usize);
235 match self.send(&datagrams[..chunk_len]) {
236 Ok(0) => {}
237 Ok(packets_sent) => {
238 let packets_sent = packets_sent as usize;
239 datagrams = &datagrams[packets_sent..];
240 }
241 Err(err) => return Err(err),
242 }
243 }
244
245 Ok(())
246 }
247}
248
249impl IncomingDatagramStream {

Callers 2

newMethod · 0.80

Calls 6

OkFunction · 0.85
blocking_check_sendMethod · 0.80
is_emptyMethod · 0.45
minMethod · 0.45
lenMethod · 0.45
sendMethod · 0.45

Tested by 1