TMF: Change event matching key from a list to a plain old java object
[deliverable/tracecompass.git] / org.eclipse.tracecompass.lttng2.kernel.core / src / org / eclipse / tracecompass / internal / lttng2 / kernel / core / event / matching / TcpEventMatching.java
index 7c631b68778475692977c591beebf528f2423d96..e1838c755c0152f0454c97c6ad6d0673811df690 100644 (file)
 
 package org.eclipse.tracecompass.internal.lttng2.kernel.core.event.matching;
 
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Set;
 
 import org.eclipse.tracecompass.internal.lttng2.kernel.core.TcpEventStrings;
 import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
 import org.eclipse.tracecompass.tmf.core.event.ITmfEventField;
+import org.eclipse.tracecompass.tmf.core.event.matching.IEventMatchingKey;
 import org.eclipse.tracecompass.tmf.core.event.matching.ITmfNetworkMatchDefinition;
+import org.eclipse.tracecompass.tmf.core.event.matching.TcpEventKey;
 import org.eclipse.tracecompass.tmf.core.event.matching.TmfEventMatching.MatchingType;
 import org.eclipse.tracecompass.tmf.core.event.matching.TmfNetworkEventMatching.Direction;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
@@ -72,23 +72,12 @@ public class TcpEventMatching implements ITmfNetworkMatchDefinition {
         return null;
     }
 
-    /**
-     * The key to uniquely identify a TCP packet depends on many fields. This
-     * method computes the key for a given event.
-     *
-     * @param event
-     *            The event for which to compute the key
-     * @return the unique key for this event
-     */
     @Override
-    public List<Object> getUniqueField(ITmfEvent event) {
-        List<Object> keys = new ArrayList<>();
-
-        keys.add(event.getContent().getField(TcpEventStrings.SEQ).getValue());
-        keys.add(event.getContent().getField(TcpEventStrings.ACKSEQ).getValue());
-        keys.add(event.getContent().getField(TcpEventStrings.FLAGS).getValue());
-
-        return keys;
+    public IEventMatchingKey getEventKey(ITmfEvent event) {
+        IEventMatchingKey key = new TcpEventKey((long) event.getContent().getField(TcpEventStrings.SEQ).getValue(),
+                (long) event.getContent().getField(TcpEventStrings.ACKSEQ).getValue(),
+                (long) event.getContent().getField(TcpEventStrings.FLAGS).getValue());
+        return key;
     }
 
     @Override
This page took 0.02411 seconds and 5 git commands to generate.