synthizer/
delete_config.rs1use crate::internal_prelude::*;
2
3#[derive(Debug, Clone)]
4pub struct DeleteBehaviorConfig {
5 pub(crate) cfg: syz_DeleteBehaviorConfig,
6}
7
8impl Default for DeleteBehaviorConfig {
9 fn default() -> DeleteBehaviorConfig {
10 let mut cfg = std::mem::MaybeUninit::<syz_DeleteBehaviorConfig>::uninit();
11 unsafe { syz_initDeleteBehaviorConfig(cfg.as_mut_ptr()) };
12 DeleteBehaviorConfig {
13 cfg: unsafe { cfg.assume_init() },
14 }
15 }
16}
17
18impl DeleteBehaviorConfig {
19 pub fn new() -> DeleteBehaviorConfig {
20 Default::default()
21 }
22
23 pub fn set_linger(&mut self, linger: bool) {
24 self.cfg.linger = linger as std::os::raw::c_int;
25 }
26
27 pub fn set_linger_timeout(&mut self, timeout: f64) {
28 self.cfg.linger_timeout = timeout;
29 }
30}
31
32#[derive(Debug, Default)]
34pub struct DeleteBehaviorConfigBuilder {
35 cfg: DeleteBehaviorConfig,
36}
37
38impl DeleteBehaviorConfigBuilder {
39 pub fn new() -> DeleteBehaviorConfigBuilder {
40 Default::default()
41 }
42
43 pub fn linger(mut self, linger: bool) -> Self {
44 self.cfg.set_linger(linger);
45 self
46 }
47
48 pub fn linger_timeout(mut self, timeout: f64) -> Self {
49 self.cfg.set_linger_timeout(timeout);
50 self
51 }
52
53 pub fn build(self) -> DeleteBehaviorConfig {
54 self.cfg
55 }
56}