#include <rmst_source.hh>
Inheritance diagram for RmstSrcReceive:


Definition at line 65 of file rmst_source.hh.
Public Member Functions | |
| void | recv (NRAttrVec *data, NR::handle my_handle) |
| RmstSrcReceive (RmstSource *rmstSrc) | |
Protected Attributes | |
| RmstSource * | src_ |
|
|
Definition at line 67 of file rmst_source.hh. References src_. 00067 {src_ = rmstSrc; }
|
|
||||||||||||
|
Implements NR::Callback. Definition at line 94 of file rmst_source.cc. References NRAttribute::DISINTEREST_CLASS, GetTime(), NRSimpleAttribute< T >::getVal(), NRAttribute::INTEREST_CLASS, NRClassAttr, RmstSource::num_subscriptions_, RMST_RESP, RmstTargetAttr, RmstTsprtCtlAttr, and src_. 00095 { 00096 NRSimpleAttribute<char*> *rmst_target_attr = NULL; 00097 NRSimpleAttribute<int> *nr_class = NULL; 00098 NRSimpleAttribute<int> *tsprt_ctl_attr = NULL; 00099 00100 timeval cur_time; 00101 00102 printf("RMST-SRC::recv got an attr vector."); 00103 GetTime(&cur_time); 00104 printf(" time: sec = %d\n", (unsigned int) cur_time.tv_sec); 00105 00106 nr_class = NRClassAttr.find(data); 00107 tsprt_ctl_attr = RmstTsprtCtlAttr.find(data); 00108 00109 if (nr_class){ 00110 switch (nr_class->getVal()){ 00111 00112 case NRAttribute::INTEREST_CLASS: 00113 if (tsprt_ctl_attr && (tsprt_ctl_attr->getVal() == RMST_RESP)){ 00114 printf(" Source received an INTEREST message\n"); 00115 src_->num_subscriptions_++; 00116 } 00117 break; 00118 00119 case NRAttribute::DISINTEREST_CLASS: 00120 src_->num_subscriptions_--; 00121 rmst_target_attr = RmstTargetAttr.find(data); 00122 if (rmst_target_attr){ 00123 printf(" Source received a DISINTEREST for %s\n", 00124 rmst_target_attr->getVal()); 00125 } 00126 else 00127 printf(" Source received a Disinterest message for unknown Interest!\n"); 00128 break; 00129 00130 default: 00131 printf(" Source received an unknown or inappropriate class!(%d)!\n", 00132 nr_class->getVal()); 00133 break; 00134 } 00135 } 00136 00137 if (tsprt_ctl_attr){ 00138 switch (tsprt_ctl_attr->getVal()){ 00139 case RMST_RESP: 00140 break; 00141 case RMST_CONT: 00142 printf(" Source received a RMST_CONT message\n"); 00143 if(src_->blobs_to_send_ > 0){ 00144 printf (" Source sending another blob\n"); 00145 src_->sendBlob(); 00146 } 00147 else 00148 printf (" Source done sending blobs\n"); 00149 break; 00150 default: 00151 printf(" Source received an unexpected RmstTsprtCtlAttr (%d)!\n", 00152 tsprt_ctl_attr->getVal()); 00153 break; 00154 } 00155 } 00156 }
Here is the call graph for this function: ![]() |
|
|
Definition at line 70 of file rmst_source.hh. Referenced by recv(), and RmstSrcReceive(). |
1.4.6