[ndnSIM] Question for the course of packet trnamitting

aaronishere at qq.com aaronishere at qq.com
Sat May 17 22:39:22 PDT 2014


The processing is something like this:

[Consumer/Face] ReceiveInterest(interest) ->
[Face]     (registeredCallback)(Interest)    
            * registered callback is set from Forwarder via RegisterProtocolHandlers method

I'm not clear about how the RegisterProtocolHandlers method work.  
After [Face]m_upstreamInterestHandler (this, interest);, is there some function calling m_face-> RegisterProtocolHandlers? 

[ForwardingStrategy] onInterest, ..., PropagateInterest ->
[specific strategy, such as BestRoute] DoPropagateInterest ->
[ForwardingStrategy] TrySendOutInterest ->
[Face] sendInterest ->
I see.

[NetDeviceFace] (virtual call) Send ->
2. How does virtual call work?

bool ok = m_netDevice->Send (packet, m_netDevice->GetBroadcast (), 
L3Protocol::ETHERNET_FRAME_TYPE);
The Send (packet, m_netDevice->GetBroadcast (), L3Protocol::ETHERNET_FRAME_TYPE)  funciton should be a NS3 function right?

...
"actual" transmission through NS'3 NetDevice (NetDevice -> Channel -> NetDevice)
...
[NetDeviceFace] ReceiveFromNetDevice (registered callback to NetDevice) ->
Receive (p);
The Receive funciton is also from NS3?

[Face] Receive -> 
[Face] ReceiveInterest ->
[Face]     (registeredCallback)(Interest)    
            * registered callback is set from Forwarder via RegisterProtocolHandlers method
[ForwardingStrategy] onInterest, ..., PropagateInterest ->

Thanks you very much!


Aaron

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20140518/83f13751/attachment.html>


More information about the ndnSIM mailing list