zoukankan      html  css  js  c++  java
  • NS2网络模拟(1)-延迟

      1: #NS2_有线部分EndDelay.awk
    
      2: 
    
      3: BEGIN {
    
      4:     #Initialize the variable
    
      5:     MaxID = 0;
    
      6:     i = 0;
    
      7: }
    
      8: 
    
      9: {
    
     10: #Event Abbreviation Type Value
    
     11: #%g %d %d %s %d %s %d %d.%d %d.%d %d %d
    
     12: #Normal Event
    
     13:         #r: Receive
    
     14:         #d: Drop
    
     15:         #e: Error
    
     16:         #+: Enqueue
    
     17:         #-: Dequeue
    
     18: #double  Time
    
     19: #int  (Link-layer) Source Node
    
     20: #int  (Link-layer) Destination Node
    
     21: #string  Packet Name
    
     22: #int  Packet Size
    
     23: #string  Flags
    
     24: #int  Flow ID
    
     25: #int  (Network-layer) Source Address
    
     26: #int  Source Port
    
     27: #int  (Network-layer) Destination Address
    
     28: #int  Destination Port
    
     29: #int  Sequence Number
    
     30: #int  Unique Packet ID
    
     31: 
    
     32:     #Evaluate the fields to new viariables
    
     33:     EVENT       = $1;
    
     34:     TIME        = $2;
    
     35:     SRCNODE     = $3
    
     36:     DSTNODE     = $4;
    
     37:     PKTNAME     = $5;
    
     38:     PKTSIZE     = $6;
    
     39:     FLAGS       = $7;
    
     40:     FLOWID      = $8;
    
     41:     SRCADDPORT  = $9;
    
     42:     DSTADDPORT  = $10;
    
     43:     SEQNO       = $11;
    
     44:     PKTID       = $12;
    
     45: 
    
     46:     #Record the maxmum
    
     47:     if (PKTID > MaxID)
    
     48:         MaxID = PKTID;
    
     49: 
    
     50:     #Record the transmitter time
    
     51:     if (StartTime[PKTID] == 0)
    
     52:         StartTime[PKTID] = TIME;
    
     53:        
    
     54:     
    
     55:     if (EVENT == "r" && FLOWID == 1) 
    
     56:     {
    
     57: #        printf("after: %s	%d	%s
    ", EVENT, FLOWID, TIME);
    
     58:         EndTime[PKTID] = TIME;
    
     59: #        printf("%g %d %d %s %d %s %d %d.%d %d.%d %d %d
    ", EVENT, TIME, FLOWID, PKTID);
    
     60: #        printf("after: %s    %d    %s    %d
    ", EVENT, FLOWID, EndTime[PKTID], PKTID);
    
     61: #        if (EVENT == "r")
    
     62: #        {
    
     63: #            EndTime[PKTID] = TIME;
    
     64: #        }
    
     65: 
    
     66:     } 
    
     67:     else 
    
     68:     {
    
     69:         EndTime[PKTID] = -1;
    
     70: 
    
     71:     }
    
     72: 
    
     73: 
    
     74: }
    
     75: 
    
     76: END {
    
     77:     for (PKTID = 0; PKTID <= MaxID; PKTID ++) 
    
     78:     {
    
     79:         Start = StartTime[PKTID];
    
     80:         End = EndTime[PKTID];
    
     81:         Delay = End - Start;
    
     82:         if (Delay >= 0)
    
     83:             printf("%f	%f
    ", Start, Delay);
    
     84: #        packet_duration = EndTime[PKTID] - StartTime[PKTID];
    
     85:         
    
     86: #            printf("%f	%f
    ", start, packet_duration);
    
     87:     }
    
     88: }
    
     89: 
       
    
  • 相关阅读:
    我眼中的DevOps
    Jenkins常用插件介绍之权限控制插件Role-based Authorization Strategy
    sql查询一个班级中总共有多少人以及男女分别多少人
    win8 图片等路径
    WPF 设置TextBox为空时,背景为文字提示。
    WCF服务发布
    win8 摄像
    oracle 删除主键
    oracle 数据库连接
    oracle 创建用户表
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6468762.html
Copyright © 2011-2022 走看看