wasmer_wasix/journal/effector/syscalls/
sock_set_opt_time.rs1use std::time::Duration;
2
3use crate::net::socket::TimeType;
4
5use super::*;
6
7impl JournalEffector {
8 pub fn save_sock_set_opt_time(
9 ctx: &mut FunctionEnvMut<'_, WasiEnv>,
10 fd: Fd,
11 ty: TimeType,
12 time: Option<Duration>,
13 ) -> anyhow::Result<()> {
14 Self::save_event(
15 ctx,
16 JournalEntry::SocketSetOptTimeV1 {
17 fd,
18 ty: ty.into(),
19 time,
20 },
21 )
22 }
23
24 pub fn apply_sock_set_opt_time(
25 ctx: &mut FunctionEnvMut<'_, WasiEnv>,
26 fd: Fd,
27 ty: TimeType,
28 time: Option<Duration>,
29 ) -> anyhow::Result<()> {
30 crate::syscalls::sock_set_opt_time_internal(ctx, fd, ty, time)
31 .map(|r| r.map_err(|err| err.to_string()))
32 .unwrap_or_else(|err| Err(err.to_string()))
33 .map_err(|err| {
34 anyhow::format_err!(
35 "journal restore error: failed to set socket option (fd={fd}, opt={ty:?}, time={time:?}) - {err}"
36 )
37 })?;
38 Ok(())
39 }
40}