Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use homogeneous dictionaries whenever possible.
[simgrid.git] / src / surf / ns3 / ns3_simulator.cc
index 9509298..5e2c108 100644 (file)
@@ -61,7 +61,7 @@ void NS3Sim::create_flow_NS3(
                uint32_t totalBytes,
                void * action)
 {
-       if(!dict_socket) dict_socket = xbt_dict_new();
+       if(!dict_socket) dict_socket = xbt_dict_new_homogeneous(free);
 
        PacketSinkHelper sink ("ns3::TcpSocketFactory",
                                                        InetSocketAddress (Ipv4Address::GetAny(),
@@ -80,7 +80,7 @@ void NS3Sim::create_flow_NS3(
        mysocket->action = action;
 
        transformSocketPtr(sock);
-       xbt_dict_set(dict_socket,socket_key, mysocket,free);
+       xbt_dict_set(dict_socket,socket_key, mysocket,NULL);
 
        sock->Bind(InetSocketAddress(port_number));
        XBT_DEBUG("Create flow starting to %fs + %fs = %fs",start-ns3_time(), ns3_time(), start);
@@ -140,7 +140,7 @@ static void send_callback(Ptr<Socket> localSocket, uint32_t txSpace){
 
        uint8_t *data = (uint8_t*)malloc(sizeof(uint8_t)*txSpace);
 
-       while (mysocket->sentBytes < mysocket->totalBytes
+       while (mysocket->bufferedBytes < mysocket->totalBytes
                        && localSocket->GetTxAvailable () > 0)
        {
       uint32_t toWrite = min ((mysocket->remaining), txSpace);
@@ -149,15 +149,15 @@ static void send_callback(Ptr<Socket> localSocket, uint32_t txSpace){
 
       if(amountSent < 0)
          return;
-         (mysocket->sentBytes) += amountSent;
-         (mysocket->remaining) -= amountSent;
+      (mysocket->bufferedBytes) += amountSent;
+      (mysocket->remaining) -= amountSent;
       XBT_DEBUG("send_cb of F[%p, %p, %d] (%d/%d) %d buffered", mysocket, mysocket->action, mysocket->totalBytes, mysocket->remaining, mysocket->totalBytes, amountSent);
 
     }
 
        free(data);
 
-       if ((mysocket->sentBytes) >= mysocket->totalBytes){
+       if ((mysocket->bufferedBytes) >= mysocket->totalBytes){
                localSocket->Close();
        }
 }