(
&self,
bufsize: isize,
flags: OptionalArg<i32>,
vm: &VirtualMachine,
)
| 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( |
nothing calls this directly
no test coverage detected