pub fn do_call(&mut self, bananaq: &Weak<FuzzyQ>, fd: &[u8], shared: &mut[u8]) -> bool {
        self.n_attempts += 1;

        self.total += 1;
        for arg in self.args.iter_mut() {
            arg.do_generate(bananaq, fd, shared);
        }

        if !self.do_call_safe(bananaq) {
            return false
        }

        for arg in self.args.iter_mut() {
            arg.do_save_shared(shared);
        }

        if self.einfo.success() {
            self.success += 1
        }
        self.n_attempts = 0;
        //(self.ret <= self.ok.end && self.ret >= self.ok.start) as usize;//self.ok.contains(self.ret);
        true
    }
/// trigger particular call
///
/// 1. update all # {total, skiped, success}
/// 2. prepare all arguments for syscall
/// 3. (do_call_impl)invoke callbacks to all modules -> forward this job to Banana Internal Manager in fact ..
/// 4. (do_call_impl)invoke function responsible to invoke targeted call
/// 5. store results
trigger particular call
1. update all # {total, skiped, success}
2. prepare all arguments for syscall
3. (do_call_impl)invoke callbacks to all modules -> forward this job to Banana Internal Manager in fact
4. (do_call_impl)invoke function responsible to invoke targeted call
5. store results
trigger particular call 1 . update all # { total skiped success } 2 . prepare all arguments for syscall 3 . ( do_call_impl ) invoke callbacks to all modules - > forward this job to Banana Internal Manager in fact 4 . ( do_call_impl ) invoke function responsible to invoke targeted call 5 . store results
pub fn do_call(&mut self, bananaq: &Weak<FuzzyQ>, fd: &[u8], shared: &mut[u8]) -> bool {
        self.n_attempts += 1;
        self.total += 1;
        for arg in self.args.iter_mut() {
            arg.do_generate(bananaq, fd, shared);
        }
        if !self.do_call_safe(bananaq) {
            return false
        }
        for arg in self.args.iter_mut() {
            arg.do_save_shared(shared);
        }
        if self.einfo.success() {
            self.success += 1
        }
        self.n_attempts = 0;
        //(self.ret <= self.ok.end && self.ret >= self.ok.start) as usize;//self.ok.contains(self.ret);
        true
    }
pub fn do_call ( & mut self , bananaq : & Weak < FuzzyQ > , fd : & [ u8 ] , shared : & mut [ u8 ] ) -> bool { self . n_attempts += 1 ; self . total += 1 ; for arg in self . args . iter_mut ( ) { arg . do_generate ( bananaq , fd , shared ) ; } if ! self . do_call_safe ( bananaq ) { return false } for arg in self . args . iter_mut ( ) { arg . do_save_shared ( shared ) ; } if self . einfo . success ( ) { self . success += 1 } self . n_attempts = 0 ; //(self.ret <= self.ok.end && self.ret >= self.ok.start) as usize;//self.ok.contains(self.ret); true }
trigger particular call
1. update all # {total, skiped, success}
2. prepare all arguments for syscall
3.
trigger particular call 1 . update all # { total skiped success } 2 . prepare all arguments for syscall 3 .
&mut self
bananaq
&Weak<FuzzyQ>
fd
&[u8]
shared
&mut[u8]
&mut self
bananaq
&Weak<FuzzyQ>
fd
&[u8]
shared
&mut[u8]