Esempio n. 1
0
  Socket_Impl::
  Socket_Impl (Address const& a, bool loop, Parameters const& params)
      : loop_ (loop),
        params_ (params),
        cond_ (mutex_)
  {
    fragment_.reset (new Fragment (params_));
    reassemble_.reset (new Reassemble (params_));
    acknowledge_.reset (new Acknowledge (params_));
    retransmit_.reset (new Retransmit (params_));
    flow_.reset (new Flow (params_));
    link_.reset (new Link (a, params_));

    // Start IN stack from top to bottom.
    //
    in_start (0);
    fragment_->in_start (this);
    reassemble_->in_start (fragment_.get ());
    acknowledge_->in_start (reassemble_.get ());
    retransmit_->in_start (acknowledge_.get ());
    flow_->in_start (retransmit_.get ());
    link_->in_start (flow_.get ());

    // Start OUT stack from bottom up.
    //
    link_->out_start (0);
    flow_->out_start (link_.get ());
    retransmit_->out_start (flow_.get ());
    acknowledge_->out_start (retransmit_.get ());
    reassemble_->out_start (acknowledge_.get ());
    fragment_->out_start (reassemble_.get ());
    out_start (fragment_.get ());
  }
Esempio n. 2
0
status_t TimedTextASSSource::start()
{
    if(mASSFlag == TextDescriptions::IN_BAND_TEXT_ASS)
    {
        return in_start();
    }
    else// if(mASSFlag == TextDescriptions::OUT_OF_BAND_TEXT_ASS)
    {
        return ex_start();
    }
}
 status_t TimedTextSSASource::start()
 {
	 if(mSSAFlag == TextDescriptions::IN_BAND_TEXT_SSA)
	 {
		 return in_start();
	 }
	 else// if(mSSAFlag == TextDescriptions::OUT_OF_BAND_TEXT_SSA)
	 {
		 return ex_start();
	 }
 }