From: Lucas Schnorr Date: Fri, 2 Sep 2011 15:14:42 +0000 (+0200) Subject: [NS3] new callback to register sent bytes X-Git-Tag: v3_6_2~162 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/a262540c606d31b84075869efab136ddd9258b65?hp=6fb2a3317c632f4ec9ada7e08b120849c7d551d8 [NS3] new callback to register sent bytes --- diff --git a/src/surf/ns3/ns3_simulator.cc b/src/surf/ns3/ns3_simulator.cc index 4eface7943..d731aa8f67 100644 --- a/src/surf/ns3/ns3_simulator.cc +++ b/src/surf/ns3/ns3_simulator.cc @@ -19,6 +19,7 @@ NS3Sim SimulatorNS3; static void receive_callback(Ptr localSocket); static void send_callback(Ptr localSocket, uint32_t txSpace); +static void datasent_callback(Ptr localSocket, uint32_t dataSent); static void StartFlow(Ptr sock, const char *to, uint16_t port_number); @@ -146,6 +147,16 @@ static void send_callback(Ptr localSocket, uint32_t txSpace){ } +static void datasent_callback(Ptr localSocket, uint32_t dataSent){ + Address addr; + localSocket->GetSockName (addr); + InetSocketAddress iaddr = InetSocketAddress::ConvertFrom (addr); + MySocket* mysocket = (MySocket*)xbt_dict_get_or_null(dict_socket,(char*)&localSocket); + mysocket->sentBytes += dataSent; + //cout << "[" << Simulator::Now ().GetSeconds() << "] " << "DATASENT [" << mysocket->totalBytes << "bytes], from: " << iaddr.GetIpv4 () << " port: " << iaddr.GetPort () << " dataSent " << dataSent < sock, const char *to, uint16_t port_number) @@ -157,4 +168,5 @@ static void StartFlow(Ptr sock, sock->Connect(serverAddr); sock->SetSendCallback (MakeCallback (&send_callback)); sock->SetRecvCallback (MakeCallback (&receive_callback)); + sock->SetDataSentCallback (MakeCallback (&datasent_callback)); }