fn start_send(&mut self, msg: T) -> StartSend<T, SendError<T>> {
        match self
            .prod_wait
            .send_or_park(|m| self.writer.try_send(m), msg)
        {
            Ok(_) => {
                // see InnerSend::try_recv for why this isn't in the queue
                if self.writer.queue.needs_notify {
                    self.writer.queue.waiter.notify();
                }
                Ok(AsyncSink::Ready)
            }
            Err(TrySendError::Full(msg)) => Ok(AsyncSink::NotReady(msg)),
            Err(TrySendError::Disconnected(msg)) => Err(SendError(msg)),
        }
    }
/// Essentially try_send except parks if the queue is full
Essentially try_send except parks if the queue is full
Essentially try_send except parks if the queue is full
fn start_send(&mut self, msg: T) -> StartSend<T, SendError<T>> {
        match self
            .prod_wait
            .send_or_park(|m| self.writer.try_send(m), msg)
        {
            Ok(_) => {
                // see InnerSend::try_recv for why this isn't in the queue
                if self.writer.queue.needs_notify {
                    self.writer.queue.waiter.notify();
                }
                Ok(AsyncSink::Ready)
            }
            Err(TrySendError::Full(msg)) => Ok(AsyncSink::NotReady(msg)),
            Err(TrySendError::Disconnected(msg)) => Err(SendError(msg)),
        }
    }
fn start_send ( & mut self , msg : T ) -> StartSend < T , SendError < T > > { match self . prod_wait . send_or_park ( | m | self . writer . try_send ( m ) , msg ) { Ok ( _ ) => { // see InnerSend::try_recv for why this isn't in the queue if self . writer . queue . needs_notify { self . writer . queue . waiter . notify ( ) ; } Ok ( AsyncSink :: Ready ) } Err ( TrySendError :: Full ( msg ) ) => Ok ( AsyncSink :: NotReady ( msg ) ) , Err ( TrySendError :: Disconnected ( msg ) ) => Err ( SendError ( msg ) ) , } }
Essentially try_send except parks if the queue is full
Essentially try_send except parks if the queue is full
&mut self
msg
T
&mut self
msg
T