MCPcopy Create free account
hub / github.com/PLSysSec/wave / pop_fd

Method pop_fd

src/fdmap.rs:87–98  ·  view source on GitHub ↗

#[with_ghost_var(trace: &mut Trace)] #[external_call(Ok)] #[external_call(Err)] #[external_method(pop)]

(&mut self)

Source from the content-addressed store, hash-verified

85 // #[external_call(Err)]
86 // #[external_method(pop)]
87 fn pop_fd(&mut self) -> RuntimeResult<SboxFd> {
88 match self.reserve.pop() {
89 Some(fd) => Ok(fd),
90 None => {
91 if self.counter < MAX_SBOX_FDS {
92 self.counter += 1;
93 return Ok(self.counter - 1);
94 }
95 Err(Emfile)
96 }
97 }
98 }
99
100 // #[requires(k < MAX_HOST_FDS)]
101 // #[ensures (self.lookup(k) == result)]

Callers 2

createMethod · 0.80
create_sockMethod · 0.80

Calls 1

popMethod · 0.45

Tested by

no test coverage detected