wasmer_wasix/journal/effector/syscalls/
sock_open.rs1use wasmer_wasix_types::wasi::{Addressfamily, SockProto, Socktype};
2
3use super::*;
4
5impl JournalEffector {
6 pub fn save_sock_open(
7 ctx: &mut FunctionEnvMut<'_, WasiEnv>,
8 af: Addressfamily,
9 ty: Socktype,
10 pt: SockProto,
11 fd: Fd,
12 ) -> anyhow::Result<()> {
13 Self::save_event(ctx, JournalEntry::SocketOpenV1 { af, ty, pt, fd })
14 }
15
16 pub fn apply_sock_open(
17 ctx: &mut FunctionEnvMut<'_, WasiEnv>,
18 af: Addressfamily,
19 ty: Socktype,
20 pt: SockProto,
21 fd: Fd,
22 ) -> anyhow::Result<()> {
23 crate::syscalls::sock_open_internal(ctx, af, ty, pt, Some(fd))
24 .map_err(|err| {
25 anyhow::format_err!(
26 "journal restore error: failed to open socket (af={af:?}, ty={ty:?}, pt={pt:?}) - {err}")
27 })?
28 .map_err(|err| {
29 anyhow::format_err!(
30 "journal restore error: failed to open socket (af={af:?}, ty={ty:?}, pt={pt:?}) - {err}")
31 })?;
32 Ok(())
33 }
34}