pub fn trigger_finish_hooks(&mut self) {
        debug!("trigger_finish_hooks for {:?}", self);
        for sender in ::std::mem::replace(&mut self.finish_hooks, Vec::new()) {
            //        for sender in self.finish_hooks, Vec::new()) {
            match sender.send(()) {
                Ok(()) => { /* Do nothing */ }
                Err(e) => {
                    /* Just log error, it is non fatal */
                    debug!("Failed to inform about finishing dataobject: {:?}", e);
                }
            }
        }
        assert!(self.finish_hooks.is_empty());
    }
/// Inform observers that task is finished
Inform observers that task is finished
Inform observers that task is finished
pub fn trigger_finish_hooks(&mut self) {
        debug!("trigger_finish_hooks for {:?}", self);
        for sender in ::std::mem::replace(&mut self.finish_hooks, Vec::new()) {
            //        for sender in self.finish_hooks, Vec::new()) {
            match sender.send(()) {
                Ok(()) => { /* Do nothing */ }
                Err(e) => {
                    /* Just log error, it is non fatal */
                    debug!("Failed to inform about finishing dataobject: {:?}", e);
                }
            }
        }
        assert!(self.finish_hooks.is_empty());
    }
pub fn trigger_finish_hooks ( & mut self ) { debug ! ( " " self ) ; for sender in :: std :: mem :: replace ( & mut self . finish_hooks , Vec :: new ( ) ) { //        for sender in self.finish_hooks, Vec::new()) { match sender . send ( ( ) ) { Ok ( ( ) ) => { /* Do nothing */ } Err ( e ) => { /* Just log error, it is non fatal */ debug ! ( " " e ) ; } } } assert ! ( self finish_hooks is_empty ( ) ) ; }
Inform observers that task is finished
Inform observers that task is finished
&mut self
&mut self