Changeset 547 for Tests


Ignore:
Timestamp:
04/24/12 20:03:08 (10 years ago)
Author:
BegemoT
Message:
 
Location:
Tests/JAVA/test
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • Tests/JAVA/test/src/main/java/test/ivan/FileParser.java

    r546 r547  
    22 
    33import java.io.*; 
     4import java.util.Arrays; 
    45 
    56import com.google.common.base.Function; 
     7import com.google.common.primitives.Ints; 
    68import org.apache.commons.logging.Log; 
    79import org.apache.commons.logging.LogFactory; 
     10import test.ivan.PacketEntry.PacketKind; 
     11 
     12import static com.google.common.base.Preconditions.checkState; 
    813 
    914/** 
     
    1621    private static final Log log = LogFactory.getLog( FileParser.class ); 
    1722    protected static final int HASH_LENGTH = 16; 
     23    protected static final long MAGIC_NUMBER = 0xa1b2c3d4L; 
    1824 
    1925 
     
    2228        final DataInputStream dis = new DataInputStream( is ); 
    2329        try { 
     30            //read pcap-file header (24 bytes) 
     31 
     32            //guint32 magic_number;   /* magic number */ 
     33            //guint16 version_major;  /* major version number */ 
     34            //guint16 version_minor;  /* minor version number */ 
     35            //gint32  thiszone;       /* GMT to local correction */ 
     36            //guint32 sigfigs;        /* accuracy of timestamps */ 
     37            //guint32 snaplen;        /* max length of captured packets, in octets */ 
     38            //guint32 network;        /* data link type */ 
     39 
     40            final long magicNumber = readUnsignedInt( dis ); 
     41            checkState( 
     42                    magicNumber == MAGIC_NUMBER, 
     43                    "magicNumber(%s) must be %s", magicNumber, MAGIC_NUMBER 
     44            ); 
     45 
     46            final int version = dis.readInt(); 
     47            final int timeZoneCorrection = dis.readInt(); 
     48            final int timestampAccuracy = dis.readInt(); 
     49            final int maxPacketLength = Ints.checkedCast( readUnsignedInt( dis ) ); 
     50            final int dataLinkType = dis.readInt(); 
     51 
     52            final byte[] buffer = new byte[maxPacketLength]; 
    2453            long entriesRead = 0; 
    2554            //can't use .available() > 0 'cos of http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6631046 
    2655            while ( dis.available() != 0 ) { 
    27                 final PacketEntry entry = readEntry( dis ); 
    28                 try { 
    29                     processor.apply( entry ); 
    30                 } catch ( IllegalStateException e ) { 
    31                     log.warn( "rec #" + entriesRead + " [" + entry + "]: " + e.getMessage() ); 
    32                 } catch ( IllegalArgumentException e ) { 
    33                     log.warn( "rec #" + entriesRead + " [" + entry + "]: " + e.getMessage() ); 
    34                 } catch ( Exception e ) { 
    35                     log.error( "rec #" + entriesRead + " [" + entry + "]", e ); 
     56                final PacketEntry entry = readEntry( dis, buffer ); 
     57                if ( entry != null ) { 
     58                    if ( log.isDebugEnabled() ) { 
     59                        log.debug( entry ); 
     60                    } 
     61                    try { 
     62                        processor.apply( entry ); 
     63                    } catch ( IllegalStateException e ) { 
     64                        log.warn( "rec #" + entriesRead + " [" + entry + "]: " + e.getMessage() ); 
     65                    } catch ( IllegalArgumentException e ) { 
     66                        log.warn( "rec #" + entriesRead + " [" + entry + "]: " + e.getMessage() ); 
     67                    } catch ( Exception e ) { 
     68                        log.error( "rec #" + entriesRead + " [" + entry + "]", e ); 
     69                    } 
     70                    entriesRead++; 
    3671                } 
    37                 entriesRead++; 
    3872            } 
    3973            return entriesRead; 
     
    4377    } 
    4478 
    45     private static PacketEntry readEntry( final DataInputStream dis ) throws IOException { 
    46         final long timestamp = dis.readLong(); 
    47         final byte[] hash = new byte[HASH_LENGTH]; 
    48         final int read = dis.read( hash ); 
    49         if ( read != hash.length ) { 
    50             throw new IOException( "Can't read 16 bytes hash -- only " + read + " available" ); 
     79    private static PacketEntry readEntry( final DataInputStream dis, 
     80                                          final byte[] buffer ) throws IOException { 
     81        while ( dis.available() != 0 ) { 
     82            //libpcap header structure 
     83            final long timestampSeconds = readUnsignedInt( dis ); 
     84            final long timestampMs = readUnsignedInt( dis ); 
     85 
     86 
     87            final long octetsCount = readUnsignedInt( dis );/* number of octets of packet saved in file */ 
     88            final long packetLength = readUnsignedInt( dis );/* actual length of packet */ 
     89 
     90 
     91            final long timestamp = ( 1000L * timestampSeconds ) + timestampMs; 
     92 
     93 
     94            final int actualBufferLength = Math.min( 
     95                    Ints.checkedCast( octetsCount ), 
     96                    Ints.checkedCast( packetLength ) 
     97            ); 
     98            checkState( 
     99                    actualBufferLength <= buffer.length, 
     100                    "packetsLength(%s) > buffer(%s)", 
     101                    packetLength, 
     102                    buffer.length 
     103            ); 
     104 
     105            final int read = dis.read( buffer, 0, actualBufferLength ); 
     106            if ( read != actualBufferLength ) { 
     107                throw new IOException( "Unexpected EOF: actualBufferLength=" + actualBufferLength + ", but only " + read + " actually read" ); 
     108            } 
     109 
     110            final byte packetType = buffer[12]; 
     111            if ( packetType != 0x08 ) { 
     112                //Это не IP пакеты, мы с ними не дружим 
     113                continue; 
     114            } 
     115 
     116            final byte packetTypeEx = buffer[43]; 
     117            final PacketKind packetKind; 
     118            switch ( packetTypeEx ) { 
     119                case 0x08: 
     120                    packetKind = PacketKind.G711; 
     121                    break; 
     122                case 0x12: 
     123                    packetKind = PacketKind.G729; 
     124                    break; 
     125                default: 
     126                    packetKind = PacketKind.UNKNOWN; 
     127            } 
     128 
     129            if ( packetKind == PacketKind.UNKNOWN ) { 
     130                continue; 
     131            } 
     132 
     133 
     134            final byte[] hash = Arrays.copyOfRange( 
     135                    buffer, 
     136                    54, 
     137                    54 + HASH_LENGTH 
     138            ); 
     139 
     140            return new PacketEntry( 
     141                    packetKind, 
     142                    timestamp, 
     143                    hash 
     144            ); 
    51145        } 
    52         return new PacketEntry( 
    53                 timestamp, 
    54                 hash 
    55         ); 
     146        return null; 
    56147    } 
    57148 
     149    private static long readUnsignedInt( final DataInputStream dis ) throws IOException { 
     150        final int b1 = dis.read(); 
     151        final int b2 = dis.read(); 
     152        final int b3 = dis.read(); 
     153        final int b4 = dis.read(); 
     154        if ( ( b1 | b2 | b3 | b4 ) < 0 ) { 
     155            throw new EOFException(); 
     156        } 
     157        final int sint = ( b4 << 24 ) + ( b3 << 16 ) + ( b2 << 8 ) + ( b1 << 0 ); 
     158 
     159 
     160        return ( ( long ) sint ) & 0xFFFFFFFFL; 
     161    } 
     162 
     163    private static int readUnsignedShort( final DataInputStream dis ) throws IOException { 
     164        final int b1 = dis.read(); 
     165        final int b2 = dis.read(); 
     166        if ( ( b1 | b2 ) < 0 ) { 
     167            throw new EOFException(); 
     168        } 
     169        return packUnsignedShort( b1, b2 ); 
     170    } 
     171 
     172    private static int packUnsignedShort( final int b1, 
     173                                          final int b2 ) { 
     174        final int signedShort = ( b2 << 8 ) + b1; 
     175 
     176 
     177        return signedShort & 0xFFFF; 
     178    } 
    58179} 
  • Tests/JAVA/test/src/main/java/test/ivan/Main.java

    r546 r547  
    137137                    System.err.printf( "WTF: packet in at %d, out at %d\n", packetInTimestamp, timestamp ); 
    138138                } else { 
    139                     formatter.format( "%d\n", ellapsed ); 
     139                    formatter.format( "%s, %d\n", entry.kind(), ellapsed ); 
    140140                } 
    141141            } 
    142142            return true; 
     143        } 
     144 
     145        public void finish() { 
     146            System.out.printf( "Finishing: %d entries unpaired\n", timestampByHash.size() ); 
    143147        } 
    144148    } 
  • Tests/JAVA/test/src/main/java/test/ivan/PacketEntry.java

    r546 r547  
    22 
    33import java.util.Arrays; 
     4import java.util.Date; 
    45 
    56import net.jcip.annotations.Immutable; 
    6 import org.apache.commons.logging.Log; 
    7 import org.apache.commons.logging.LogFactory; 
    8  
    9 import static com.google.common.base.Preconditions.*; 
    107 
    118/** 
     
    1714@Immutable 
    1815public class PacketEntry { 
     16    private final PacketKind kind; 
     17 
     18 
    1919    private final long timestamp; 
    2020    private final byte[] hash; 
    2121 
    22     public PacketEntry( final long timestamp, 
     22    public PacketEntry( final PacketKind kind, 
     23                        final long timestamp, 
    2324                        final byte[] hash ) { 
     25        this.kind = kind; 
    2426        this.timestamp = timestamp; 
    2527        this.hash = hash; 
    2628    } 
    2729 
     30    public PacketKind kind() { 
     31        return kind; 
     32    } 
    2833 
    2934    public long timestamp() { 
     
    3136    } 
    3237 
    33     public byte[] hash(){ 
     38    public byte[] hash() { 
    3439        return hash; 
    3540    } 
     41 
     42 
     43    @Override 
     44    public String toString() { 
     45        return String.format( 
     46                "%s[%s][%tD][%s]", 
     47                getClass().getSimpleName(), 
     48                kind(), 
     49                new Date( timestamp() ), 
     50                Arrays.toString( hash ) 
     51        ); 
     52    } 
     53 
     54    public enum PacketKind { 
     55        UNKNOWN, 
     56        G711, 
     57        G729; 
     58    } 
     59 
     60 
    3661} 
  • Tests/JAVA/test/test.iws

    r546 r547  
    4141  <component name="ChangeListManager"> 
    4242    <list default="true" readonly="true" id="6898b49f-ea82-4df2-ad6c-da63a3fe4f9a" name="Default" comment=""> 
    43       <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/main/java/test/ivan" /> 
    44       <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/main/java/test/ivan/FileParser.java" /> 
    45       <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/main/java/test/ivan/Main.java" /> 
    46       <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/main/java/test/ivan/OptimizedBufferedInputStream.java" /> 
    47       <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/main/java/test/ivan/PacketEntry.java" /> 
     43      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test/ivan/FileParser.java" afterPath="$PROJECT_DIR$/src/main/java/test/ivan/FileParser.java" /> 
     44      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test/ivan/Main.java" afterPath="$PROJECT_DIR$/src/main/java/test/ivan/Main.java" /> 
     45      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test/ivan/PacketEntry.java" afterPath="$PROJECT_DIR$/src/main/java/test/ivan/PacketEntry.java" /> 
    4846      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/test.iws" afterPath="$PROJECT_DIR$/test.iws" /> 
    4947    </list> 
     
    149147        <option name="LOG_MESSAGE" value="" /> 
    150148      </breakpoint> 
     149      <breakpoint url="file://$PROJECT_DIR$/src/main/java/test/ivan/FileParser.java" line="93" class="test.ivan.FileParser" package="test.ivan"> 
     150        <option name="ENABLED" value="true" /> 
     151        <option name="LOG_ENABLED" value="false" /> 
     152        <option name="LOG_EXPRESSION_ENABLED" value="false" /> 
     153        <option name="SUSPEND_POLICY" value="SuspendAll" /> 
     154        <option name="COUNT_FILTER_ENABLED" value="false" /> 
     155        <option name="COUNT_FILTER" value="0" /> 
     156        <option name="CONDITION_ENABLED" value="false" /> 
     157        <option name="CLASS_FILTERS_ENABLED" value="false" /> 
     158        <option name="INSTANCE_FILTERS_ENABLED" value="false" /> 
     159        <option name="CONDITION" value="" /> 
     160        <option name="LOG_MESSAGE" value="" /> 
     161      </breakpoint> 
     162      <breakpoint url="file://$PROJECT_DIR$/src/main/java/test/ivan/Main.java" line="129" class="test.ivan.Main.PacketEntryProcessor" package="test.ivan"> 
     163        <option name="ENABLED" value="true" /> 
     164        <option name="LOG_ENABLED" value="false" /> 
     165        <option name="LOG_EXPRESSION_ENABLED" value="false" /> 
     166        <option name="SUSPEND_POLICY" value="SuspendAll" /> 
     167        <option name="COUNT_FILTER_ENABLED" value="false" /> 
     168        <option name="COUNT_FILTER" value="0" /> 
     169        <option name="CONDITION_ENABLED" value="false" /> 
     170        <option name="CLASS_FILTERS_ENABLED" value="false" /> 
     171        <option name="INSTANCE_FILTERS_ENABLED" value="false" /> 
     172        <option name="CONDITION" value="" /> 
     173        <option name="LOG_MESSAGE" value="" /> 
     174      </breakpoint> 
    151175    </line_breakpoints> 
    152176    <breakpoint_any> 
     
    210234        <entry file="file://$PROJECT_DIR$/src/main/java/test/ivan/FileParser.java"> 
    211235          <provider selected="true" editor-type-id="text-editor"> 
    212             <state line="28" column="0" selection-start="925" selection-end="925" vertical-scroll-proportion="0.0"> 
     236            <state line="58" column="24" selection-start="2358" selection-end="2358" vertical-scroll-proportion="0.0"> 
    213237              <folding /> 
    214238            </state> 
     
    219243        <entry file="file://$PROJECT_DIR$/src/main/java/test/ivan/Main.java"> 
    220244          <provider selected="true" editor-type-id="text-editor"> 
    221             <state line="65" column="23" selection-start="2573" selection-end="2573" vertical-scroll-proportion="0.5730769"> 
     245            <state line="138" column="64" selection-start="5378" selection-end="5378" vertical-scroll-proportion="0.5608108"> 
    222246              <folding /> 
    223247            </state> 
     
    225249        </entry> 
    226250      </file> 
    227       <file leaf-file-name="PacketEntry.java" pinned="false" current="false" current-in-tab="false"> 
    228         <entry file="file://$PROJECT_DIR$/src/main/java/test/ivan/PacketEntry.java"> 
     251      <file leaf-file-name="res.txt" pinned="false" current="false" current-in-tab="false"> 
     252        <entry file="file://$PROJECT_DIR$/res.txt"> 
    229253          <provider selected="true" editor-type-id="text-editor"> 
    230             <state line="33" column="19" selection-start="698" selection-end="698" vertical-scroll-proportion="0.0"> 
     254            <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0"> 
    231255              <folding /> 
    232256            </state> 
     
    260284        <option value="$MAVEN_REPOSITORY$/net/java/dev/jna/jna/3.4.0/jna-3.4.0-sources.jar!/com/sun/jna/ptr/LongByReference.java" /> 
    261285        <option value="$PROJECT_DIR$/src/main/java/test/helpers/UnsafeHelper.java" /> 
     286        <option value="$PROJECT_DIR$/src/main/java/test/ivan/OptimizedBufferedInputStream.java" /> 
     287        <option value="$PROJECT_DIR$/src/main/java/test/ivan/PacketEntry.java" /> 
    262288        <option value="$PROJECT_DIR$/src/main/java/test/ivan/FileParser.java" /> 
    263         <option value="$PROJECT_DIR$/src/main/java/test/ivan/PacketEntry.java" /> 
    264         <option value="$PROJECT_DIR$/src/main/java/test/ivan/OptimizedBufferedInputStream.java" /> 
    265289        <option value="$PROJECT_DIR$/src/main/java/test/ivan/Main.java" /> 
    266290      </list> 
     
    927951    </key> 
    928952  </component> 
    929   <component name="RunManager" selected="Application.unstressed.TaskBenchmark[Disruptor]"> 
     953  <component name="RunManager" selected="Application.Main"> 
    930954    <configuration default="false" name="test.threads.queue.unstressed.impl in test" type="JUnit" factoryName="JUnit" temporary="true"> 
    931955      <module name="test" /> 
     
    16691693      <method /> 
    16701694    </configuration> 
    1671     <list size="29"> 
     1695    <configuration default="false" name="Main" type="Application" factoryName="Application"> 
     1696      <option name="MAIN_CLASS_NAME" value="test.ivan.Main" /> 
     1697      <option name="VM_PARAMETERS" value="-ea -server -Xmx128m" /> 
     1698      <option name="PROGRAM_PARAMETERS" value="--input=rtptest.pcap --output=res.txt" /> 
     1699      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" /> 
     1700      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> 
     1701      <option name="ALTERNATIVE_JRE_PATH" value="" /> 
     1702      <option name="ENABLE_SWING_INSPECTOR" value="false" /> 
     1703      <option name="ENV_VARIABLES" /> 
     1704      <option name="PASS_PARENT_ENVS" value="true" /> 
     1705      <module name="test" /> 
     1706      <envs /> 
     1707      <RunnerSettings RunnerId="Debug"> 
     1708        <option name="DEBUG_PORT" value="64418" /> 
     1709        <option name="TRANSPORT" value="0" /> 
     1710        <option name="LOCAL" value="true" /> 
     1711      </RunnerSettings> 
     1712      <RunnerSettings RunnerId="Profile "> 
     1713        <option name="myExternalizedOptions" value="&#10;snapshots-dir=&#10;additional-options2=onexit\=snapshot&#10;" /> 
     1714      </RunnerSettings> 
     1715      <RunnerSettings RunnerId="Run" /> 
     1716      <ConfigurationWrapper RunnerId="Debug" /> 
     1717      <ConfigurationWrapper RunnerId="Run" /> 
     1718      <method /> 
     1719    </configuration> 
     1720    <list size="30"> 
    16721721      <item index="0" class="java.lang.String" itemvalue="JUnit.test.threads.queue.unstressed.impl in test" /> 
    16731722      <item index="1" class="java.lang.String" itemvalue="JUnit.ABQBusyWaitQueueTest" /> 
     
    16991748      <item index="27" class="java.lang.String" itemvalue="JUnit.test.threads.queue in test" /> 
    17001749      <item index="28" class="java.lang.String" itemvalue="JUnit.MultithreadedBitSetPerformanceTest.testScalePerformance" /> 
     1750      <item index="29" class="java.lang.String" itemvalue="Application.Main" /> 
    17011751    </list> 
    17021752    <configuration name="&lt;template&gt;" type="WebApp" default="true" selected="false"> 
     
    17781828  </component> 
    17791829  <component name="ToolWindowManager"> 
    1780     <frame x="0" y="24" width="1600" height="1174" extended-state="6" /> 
    1781     <editor active="false" /> 
     1830    <frame x="0" y="22" width="1440" height="874" extended-state="6" /> 
     1831    <editor active="true" /> 
    17821832    <layout> 
    17831833      <window_info id="SQL" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3296845" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> 
    17841834      <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32986766" sideWeight="0.5" order="15" side_tool="false" content_ui="tabs" /> 
    17851835      <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> 
    1786       <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.31515712" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> 
     1836      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.314578" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> 
    17871837      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> 
    1788       <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.41560102" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> 
     1838      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.5933504" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> 
    17891839      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32736573" sideWeight="0.0" order="12" side_tool="false" content_ui="tabs" /> 
    1790       <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3207024" sideWeight="0.0" order="13" side_tool="false" content_ui="tabs" /> 
     1840      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3196931" sideWeight="0.0" order="13" side_tool="false" content_ui="tabs" /> 
    17911841      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" /> 
    17921842      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.14046392" sideWeight="0.1521739" order="3" side_tool="false" content_ui="tabs" /> 
    17931843      <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3298969" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> 
    17941844      <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3994253" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> 
    1795       <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.15538362" sideWeight="0.6792976" order="0" side_tool="false" content_ui="tabs" /> 
     1845      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.120057516" sideWeight="0.40664962" order="0" side_tool="false" content_ui="tabs" /> 
    17961846      <window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="14" side_tool="false" content_ui="tabs" /> 
    1797       <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.6016636" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> 
     1847      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.601023" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> 
    17981848      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32993513" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" /> 
    17991849      <window_info id="Dataflow to this" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" /> 
     
    18851935  </component> 
    18861936  <component name="editorHistoryManager"> 
    1887     <entry file="jar://$MAVEN_REPOSITORY$/net/java/dev/jna/jna/3.4.0/jna-3.4.0-sources.jar!/com/sun/jna/ptr/LongByReference.java"> 
    1888       <provider selected="true" editor-type-id="text-editor"> 
    1889         <state line="12" column="19" selection-start="606" selection-end="606" vertical-scroll-proportion="0.02374169" /> 
    1890       </provider> 
    1891     </entry> 
    1892     <entry file="file://$PROJECT_DIR$/src/main/java/test/helpers/UnsafeHelper.java"> 
    1893       <provider selected="true" editor-type-id="text-editor"> 
    1894         <state line="19" column="16" selection-start="456" selection-end="456" vertical-scroll-proportion="0.033783782" /> 
    1895       </provider> 
    1896     </entry> 
    1897     <entry file="file://$PROJECT_DIR$/pom.xml"> 
    1898       <provider selected="true" editor-type-id="text-editor"> 
    1899         <state line="99" column="21" selection-start="3325" selection-end="3518" vertical-scroll-proportion="0.0" /> 
    1900       </provider> 
    1901     </entry> 
    1902     <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/DummyWasterFactory.java"> 
    1903       <provider selected="true" editor-type-id="text-editor"> 
    1904         <state line="21" column="38" selection-start="592" selection-end="592" vertical-scroll-proportion="0.0" /> 
    1905       </provider> 
    1906     </entry> 
    1907     <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/cpu/LongValueMessage.java"> 
    1908       <provider selected="true" editor-type-id="text-editor"> 
    1909         <state line="12" column="0" selection-start="248" selection-end="248" vertical-scroll-proportion="0.024038462"> 
    1910           <folding /> 
    1911         </state> 
    1912       </provider> 
    1913     </entry> 
    1914     <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/TaskBenchmark.java"> 
    1915       <provider selected="true" editor-type-id="text-editor"> 
    1916         <state line="93" column="69" selection-start="2279" selection-end="3943" vertical-scroll-proportion="0.71153843"> 
    1917           <folding /> 
    1918         </state> 
    1919       </provider> 
    1920     </entry> 
    19211937    <entry file="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/r08/guava-r08-sources.jar!/com/google/common/io/Files.java"> 
    19221938      <provider selected="true" editor-type-id="text-editor"> 
     
    19331949      </provider> 
    19341950    </entry> 
    1935     <entry file="file://$PROJECT_DIR$/src/main/java/test/ivan/FileParser.java"> 
    1936       <provider selected="true" editor-type-id="text-editor"> 
    1937         <state line="28" column="0" selection-start="925" selection-end="925" vertical-scroll-proportion="0.0"> 
    1938           <folding /> 
    1939         </state> 
    1940       </provider> 
    1941     </entry> 
    19421951    <entry file="jar://$MAVEN_REPOSITORY$/net/sf/trove4j/trove4j/2.0.2/trove4j-2.0.2.jar!/gnu/trove/TObjectLongHashMap.class"> 
    19431952      <provider selected="true" editor-type-id="text-editor"> 
     
    19501959      <provider selected="true" editor-type-id="text-editor"> 
    19511960        <state line="192" column="16" selection-start="6331" selection-end="6331" vertical-scroll-proportion="0.0"> 
    1952           <folding /> 
    1953         </state> 
    1954       </provider> 
    1955     </entry> 
    1956     <entry file="file://$PROJECT_DIR$/src/main/java/test/ivan/PacketEntry.java"> 
    1957       <provider selected="true" editor-type-id="text-editor"> 
    1958         <state line="33" column="19" selection-start="698" selection-end="698" vertical-scroll-proportion="0.0"> 
    19591961          <folding /> 
    19601962        </state> 
     
    19821984      </provider> 
    19831985    </entry> 
     1986    <entry file="file://$PROJECT_DIR$/rtptest.pcap"> 
     1987      <provider selected="true" editor-type-id="text-editor"> 
     1988        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0"> 
     1989          <folding /> 
     1990        </state> 
     1991      </provider> 
     1992    </entry> 
     1993    <entry file="jar:///Library/Java/JavaVirtualMachines/1.6.0_26-b03-377.jdk/Contents/Home/src.jar!/src/java/nio/ByteOrder.java"> 
     1994      <provider selected="true" editor-type-id="text-editor"> 
     1995        <state line="19" column="19" selection-start="350" selection-end="350" vertical-scroll-proportion="0.0"> 
     1996          <folding /> 
     1997        </state> 
     1998      </provider> 
     1999    </entry> 
     2000    <entry file="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/r07/guava-r07-sources.jar!/com/google/common/primitives/UnsignedBytes.java"> 
     2001      <provider selected="true" editor-type-id="text-editor"> 
     2002        <state line="26" column="16" selection-start="897" selection-end="897" vertical-scroll-proportion="0.0"> 
     2003          <folding /> 
     2004        </state> 
     2005      </provider> 
     2006    </entry> 
     2007    <entry file="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/r08/guava-r08-sources.jar!/com/google/common/primitives/UnsignedBytes.java"> 
     2008      <provider selected="true" editor-type-id="text-editor"> 
     2009        <state line="43" column="19" selection-start="1516" selection-end="1516" vertical-scroll-proportion="0.0"> 
     2010          <folding> 
     2011            <element signature="method#toInt#0;class#UnsignedBytes#0" expanded="false" /> 
     2012            <element signature="method#checkedCast#0;class#UnsignedBytes#0" expanded="false" /> 
     2013            <element signature="method#saturatedCast#0;class#UnsignedBytes#0" expanded="false" /> 
     2014            <element signature="method#compare#0;class#UnsignedBytes#0" expanded="false" /> 
     2015            <element signature="method#min#0;class#UnsignedBytes#0" expanded="false" /> 
     2016            <element signature="method#max#0;class#UnsignedBytes#0" expanded="false" /> 
     2017            <element signature="method#join#0;class#UnsignedBytes#0" expanded="false" /> 
     2018            <element signature="method#lexicographicalComparator#0;class#UnsignedBytes#0" expanded="false" /> 
     2019            <element signature="method#lexicographicalComparatorJavaImpl#0;class#UnsignedBytes#0" expanded="false" /> 
     2020            <element signature="class#LexicographicalComparatorHolder#0;class#UnsignedBytes#0" expanded="false" /> 
     2021            <element signature="class#UnsafeComparator#0;class#LexicographicalComparatorHolder#0;class#UnsignedBytes#0" expanded="false" /> 
     2022            <element signature="initializer##0;class#UnsafeComparator#0;class#LexicographicalComparatorHolder#0;class#UnsignedBytes#0" expanded="false" /> 
     2023            <element signature="class#8655:9232" expanded="false" /> 
     2024            <element signature="method#run#0;class#8655:9232" expanded="false" /> 
     2025            <element signature="method#lessThanUnsigned#0;class#UnsafeComparator#0;class#LexicographicalComparatorHolder#0;class#UnsignedBytes#0" expanded="false" /> 
     2026            <element signature="method#compare#0;class#UnsafeComparator#0;class#LexicographicalComparatorHolder#0;class#UnsignedBytes#0" expanded="false" /> 
     2027            <element signature="class#PureJavaComparator#0;class#LexicographicalComparatorHolder#0;class#UnsignedBytes#0" expanded="false" /> 
     2028            <element signature="method#compare#0;class#PureJavaComparator#0;class#LexicographicalComparatorHolder#0;class#UnsignedBytes#0" expanded="false" /> 
     2029            <element signature="method#getBestComparator#0;class#LexicographicalComparatorHolder#0;class#UnsignedBytes#0" expanded="false" /> 
     2030          </folding> 
     2031        </state> 
     2032      </provider> 
     2033    </entry> 
     2034    <entry file="jar:///Library/Java/JavaVirtualMachines/1.6.0_26-b03-377.jdk/Contents/Home/src.jar!/src/java/io/DataInputStream.java"> 
     2035      <provider selected="true" editor-type-id="text-editor"> 
     2036        <state line="375" column="69" selection-start="14361" selection-end="14617" vertical-scroll-proportion="0.0"> 
     2037          <folding /> 
     2038        </state> 
     2039      </provider> 
     2040    </entry> 
     2041    <entry file="file://$PROJECT_DIR$/src/main/java/test/ivan/PacketEntry.java"> 
     2042      <provider selected="true" editor-type-id="text-editor"> 
     2043        <state line="44" column="25" selection-start="830" selection-end="830" vertical-scroll-proportion="0.40239045"> 
     2044          <folding> 
     2045            <element signature="imports" expanded="true" /> 
     2046          </folding> 
     2047        </state> 
     2048      </provider> 
     2049    </entry> 
     2050    <entry file="file://$PROJECT_DIR$/res.txt"> 
     2051      <provider selected="true" editor-type-id="text-editor"> 
     2052        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0"> 
     2053          <folding /> 
     2054        </state> 
     2055      </provider> 
     2056    </entry> 
     2057    <entry file="file://$PROJECT_DIR$/src/main/java/test/ivan/FileParser.java"> 
     2058      <provider selected="true" editor-type-id="text-editor"> 
     2059        <state line="58" column="24" selection-start="2358" selection-end="2358" vertical-scroll-proportion="0.0"> 
     2060          <folding /> 
     2061        </state> 
     2062      </provider> 
     2063    </entry> 
    19842064    <entry file="file://$PROJECT_DIR$/src/main/java/test/ivan/Main.java"> 
    19852065      <provider selected="true" editor-type-id="text-editor"> 
    1986         <state line="65" column="23" selection-start="2573" selection-end="2573" vertical-scroll-proportion="0.5730769"> 
     2066        <state line="138" column="64" selection-start="5378" selection-end="5378" vertical-scroll-proportion="0.5608108"> 
    19872067          <folding /> 
    19882068        </state> 
Note: See TracChangeset for help on using the changeset viewer.