pub fn poll_close(&mut self) -> Poll<(), ()> {
        match self.shared.upgrade() {
            Some(shared) => {
                shared.cancel.register();
                Ok(Async::NotReady)
            }
            None => Ok(Async::Ready(())),
        }
    }
/// Returns `Ready` when all receivers have dropped.
///
/// This allows the producer to get notified when interest in the produced
/// values is canceled and immediately stop doing work.
Returns `Ready` when all receivers have dropped.
This allows the producer to get notified when interest in the produced
values is canceled and immediately stop doing work.
Returns ` Ready ` when all receivers have dropped . This allows the producer to get notified when interest in the produced values is canceled and immediately stop doing work .
pub fn poll_close(&mut self) -> Poll<(), ()> {
        match self.shared.upgrade() {
            Some(shared) => {
                shared.cancel.register();
                Ok(Async::NotReady)
            }
            None => Ok(Async::Ready(())),
        }
    }
pub fn poll_close ( & mut self ) -> Poll < ( ) , ( ) > { match self . shared . upgrade ( ) { Some ( shared ) => { shared . cancel . register ( ) ; Ok ( Async :: NotReady ) } None => Ok ( Async :: Ready ( ( ) ) ) , } }
Returns `Ready` when all receivers have dropped.
Returns ` Ready ` when all receivers have dropped .
&mut self