pub fn message_cell(&self) -> Result<Option<Cell>> {
        Ok(
            match self {
                OutMsg::External(ref x) => Some(x.message_cell()),
                OutMsg::Immediately(ref x) => Some(x.read_out_message()?.message_cell()),
                OutMsg::New(ref x) => Some(x.read_out_message()?.message_cell()),
                OutMsg::Transit(ref x) => Some(x.read_out_message()?.message_cell()),
                OutMsg::Dequeue(ref x) => Some(x.read_out_message()?.message_cell()),
                OutMsg::DequeueShort(_) => None,
                OutMsg::DequeueImmediately(ref x) => Some(x.read_out_message()?.message_cell()),
                OutMsg::TransitRequeued(ref x) => Some(x.read_out_message()?.message_cell()),
                OutMsg::None => fail!("wrong message type")
            }
        )
    }
///
/// the function returns the message cell (if exists)
///
the function returns the message cell (if exists)
the function returns the message cell ( if exists )
pub fn message_cell(&self) -> Result<Option<Cell>> {
        Ok(
            match self {
                OutMsg::External(ref x) => Some(x.message_cell()),
                OutMsg::Immediately(ref x) => Some(x.read_out_message()?.message_cell()),
                OutMsg::New(ref x) => Some(x.read_out_message()?.message_cell()),
                OutMsg::Transit(ref x) => Some(x.read_out_message()?.message_cell()),
                OutMsg::Dequeue(ref x) => Some(x.read_out_message()?.message_cell()),
                OutMsg::DequeueShort(_) => None,
                OutMsg::DequeueImmediately(ref x) => Some(x.read_out_message()?.message_cell()),
                OutMsg::TransitRequeued(ref x) => Some(x.read_out_message()?.message_cell()),
                OutMsg::None => fail!("wrong message type")
            }
        )
    }
pub fn message_cell ( & self ) -> Result < Option < Cell > > { Ok ( match self { OutMsg :: External ( ref x ) => Some ( x . message_cell ( ) ) , OutMsg :: Immediately ( ref x ) => Some ( x . read_out_message ( ) ? . message_cell ( ) ) , OutMsg :: New ( ref x ) => Some ( x . read_out_message ( ) ? . message_cell ( ) ) , OutMsg :: Transit ( ref x ) => Some ( x . read_out_message ( ) ? . message_cell ( ) ) , OutMsg :: Dequeue ( ref x ) => Some ( x . read_out_message ( ) ? . message_cell ( ) ) , OutMsg :: DequeueShort ( _ ) => None , OutMsg :: DequeueImmediately ( ref x ) => Some ( x . read_out_message ( ) ? . message_cell ( ) ) , OutMsg :: TransitRequeued ( ref x ) => Some ( x . read_out_message ( ) ? . message_cell ( ) ) , OutMsg :: None => fail ! ( " " ) } ) }
the function returns the message cell (if exists)
the function returns the message cell ( if exists )
&self
&self