#[with_ghost_var(trace: &mut Trace)] #[external_call(Ok)] #[external_call(Err)] #[external_method(pop)]
(&mut self)
| 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)] |
no test coverage detected