Changeset 4622

Show
Ignore:
Timestamp:
02/18/10 19:56:49 (4 years ago)
Author:
soohyunc
Message:

We don't need to send AoA (Ack of Ack) on every data packet. Specially, the data
packets are triggered within the encoding loop, we do not want to send AoA
because it will increase the whole Tx time, which will eventually dealy the
whole encoding process.

Therefore, if the data packets are triggered within the encoding loop, we only
send AoA in the first data packet transmission, omitting to send AoA for the
rest of the data packets (in the encoding loop).

Location:
vic/branches/cc/rtp
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • vic/branches/cc/rtp/session.cpp

    r4621 r4622  
    476476} 
    477477 
     478void SessionManager::tx_data_only(pktbuf* pb)  
     479{ 
     480        if (pb->layer < loop_layer_) { 
     481                Network* n = dh_[pb->layer].net(); 
     482                if (n != 0) 
     483                        n->send(pb); 
     484        } 
     485} 
     486 
    478487// sending ack of ack packet (RTCP XR report packet) 
    479488void CtrlHandler::send_aoa() 
  • vic/branches/cc/rtp/session.h

    r4587 r4622  
    161161        virtual int check_format(int fmt) const = 0; 
    162162        virtual void transmit(pktbuf* pb); 
     163        virtual void tx_data_only(pktbuf* pb); 
    163164        void send_report(int bye); 
    164165        void send_ECNXreport(CtrlHandler* ch, u_int8_t tos, u_int16_t begin_seq); 
  • vic/branches/cc/rtp/transmitter.cpp

    r4621 r4622  
    321321                head_ = pb->next; 
    322322 
    323                 // call Transmitter::output(pb) 
    324                 output(pb); 
     323                // call Transmitter::output_data_only(pb) 
     324                output_data_only(pb); 
    325325        } 
    326326//      fprintf(stderr,"\t^                                          ^\n"); 
     
    452452} 
    453453 
     454void Transmitter::output_data_only(pktbuf* pb)  
     455{ 
     456        tx_data_only(pb); 
     457        loopback(pb); 
     458} 
     459 
    454460/*void Transmitter::release(pktbuf* pb) 
    455461{ 
  • vic/branches/cc/rtp/transmitter.h

    r4617 r4622  
    114114        void loopback(pktbuf*); 
    115115        void output(pktbuf* pb); 
     116        void output_data_only(pktbuf* pb); 
    116117        virtual void transmit(pktbuf* pb) = 0; 
     118        virtual void tx_data_only(pktbuf* pb) = 0; 
    117119        double gettimeofday_secs() const; 
    118120        double txtime(pktbuf* pb);