MCPcopy Index your code
hub / github.com/RustPython/RustPython / recvfrom

Method recvfrom

crates/stdlib/src/socket.rs:1693–1710  ·  view source on GitHub ↗
(
            &self,
            bufsize: isize,
            flags: OptionalArg<i32>,
            vm: &VirtualMachine,
        )

Source from the content-addressed store, hash-verified

1691
1692 #[pymethod]
1693 fn recvfrom(
1694 &self,
1695 bufsize: isize,
1696 flags: OptionalArg<i32>,
1697 vm: &VirtualMachine,
1698 ) -> Result<(Vec<u8>, PyObjectRef), IoOrPyException> {
1699 let flags = flags.unwrap_or(0);
1700 let bufsize = bufsize
1701 .to_usize()
1702 .ok_or_else(|| vm.new_value_error("negative buffersize in recvfrom"))?;
1703 let mut buffer = Vec::with_capacity(bufsize);
1704 let (n, addr) = self.sock_op(vm, SelectKind::Read, || {
1705 self.sock()?
1706 .recv_from_with_flags(buffer.spare_capacity_mut(), flags)
1707 })?;
1708 unsafe { buffer.set_len(n) };
1709 Ok((buffer, get_addr_tuple(&addr, vm)))
1710 }
1711
1712 #[pymethod]
1713 fn recvfrom_into(

Callers

nothing calls this directly

Calls 6

get_addr_tupleFunction · 0.85
ok_or_elseMethod · 0.80
sock_opMethod · 0.80
sockMethod · 0.80
set_lenMethod · 0.80
to_usizeMethod · 0.45

Tested by

no test coverage detected