MCPcopy Create free account
hub / github.com/OpenDDS/OpenDDS / get_unsent_data

Method get_unsent_data

dds/DCPS/WriteDataContainer.cpp:581–618  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

579}
580
581ACE_UINT64
582WriteDataContainer::get_unsent_data(SendStateDataSampleList& list)
583{
584 DBG_ENTRY_LVL("WriteDataContainer","get_unsent_data",6);
585 //
586 // The samples in unsent_data are added to the local datawriter
587 // list and enqueued to the sending_data_ signifying they have
588 // been passed to the transport to send in a transaction
589 //
590 list = this->unsent_data_;
591
592 // Increment send counter for this send operation
593 ++transaction_id_;
594
595 // Mark all samples with current send counter
596 SendStateDataSampleList::iterator iter = list.begin();
597 while (iter != list.end()) {
598 iter->set_transaction_id(this->transaction_id_);
599 ++iter;
600 }
601
602 //
603 // The unsent_data_ already linked with the
604 // next_send_sample during enqueue.
605 // Append the unsent_data_ to current sending_data_
606 // list.
607 sending_data_.enqueue_tail(list);
608
609 //
610 // Clear the unsent data list.
611 //
612 this->unsent_data_.reset();
613
614 //
615 // Return the moved list.
616 //
617 return transaction_id_;
618}
619
620SendStateDataSampleList
621WriteDataContainer::get_resend_data()

Callers 4

writeMethod · 0.80
get_unsent_dataFunction · 0.80
run_testFunction · 0.80

Calls 4

enqueue_tailMethod · 0.80
beginMethod · 0.45
endMethod · 0.45
resetMethod · 0.45

Tested by 1

run_testFunction · 0.64