oldns2ns.pl
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:1k
源码类别:

通讯编程

开发平台:

Visual C++

  1. #!/usr/bin/perl
  2. use NS::TraceFileEvent qw(&quote_if_needed);
  3. use NS::TraceFileWriter;
  4. my $output = new NS::TraceFileWriter();
  5. my $lasttime = '*';  # keep track of most recent timestamp
  6. while (<>) {
  7. my @val = split;
  8. if ($val[0] =~ m/^#/) {
  9. $output->put_event(new NS::TraceFileEvent(
  10. shift @val,
  11. $lasttime, # use most recent timestamp
  12. { '#' => quote_if_needed(join ' ', @val) }));
  13. } elsif ($val[0] =~ m/^[-+hr]$/) {
  14. # packet info (queue/dequeue/drop)
  15. $lasttime = $val[1]; # save timestamp
  16. $output->put_event(new NS::TraceFileEvent(
  17. $val[0],
  18. $val[1],
  19. {
  20.   s => $val[2],
  21.   d => $val[3],
  22.   p => $val[4],
  23.   e => $val[5],
  24.   c => $val[7],
  25.   i => $val[11],
  26.   x =>
  27.   "{$val[8] $val[9] $val[10] $val[6] null}"
  28. }));
  29. } else {
  30. # other type of event.  ignore for now
  31. print STDERR "Event type "$val[0]" skipped.n";
  32. }
  33. }