package org.eclipse.linuxtools.internal.ctf.core.trace;
+import java.util.HashMap;
+import java.util.Map;
+
/**
* <b><u>StreamInputPacketIndexEntry</u></b>
* <p>
// Attributes
// ------------------------------------------------------------------------
-
-
/**
* Offset of the packet in the file, in bytes
*/
*/
private long timestampEnd = 0;
+ /**
+ * How many lost events are there?
+ */
+ private long lostEvents = 0;
+
+ /**
+ * Which target is being traced
+ */
+ private String target ;
+ private long targetID;
- private long indexBegin = Long.MAX_VALUE;
+ /**
+ * Attributes of this index entry
+ */
+ private final Map<String, Object> attributes = new HashMap<String, Object>();
- private long indexEnd = Long.MAX_VALUE;
// ------------------------------------------------------------------------
// Constructors
return (ts >= timestampBegin) && (ts <= timestampEnd);
}
- boolean includesIndex(long index){
- return (index >= indexBegin) && (index <= indexEnd);
- }
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "StreamInputPacketIndexEntry [offsetBytes=" + offsetBytes //$NON-NLS-1$
+ ", timestampBegin=" + timestampBegin + ", timestampEnd=" //$NON-NLS-1$ //$NON-NLS-2$
- + timestampEnd + ", indexBegin=" + indexBegin + ", indexEnd=" //$NON-NLS-1$ //$NON-NLS-2$
- + indexEnd + "]"; //$NON-NLS-1$
+ + timestampEnd + "]"; //$NON-NLS-1$
}
// ------------------------------------------------------------------------
}
/**
- * @param dataOffsetBits the dataOffsetBits to set
+ * @param dataOffsetBits
+ * the dataOffsetBits to set
*/
public void setDataOffsetBits(int dataOffsetBits) {
this.dataOffsetBits = dataOffsetBits;
}
/**
- * @param packetSizeBits the packetSizeBits to set
+ * @param packetSizeBits
+ * the packetSizeBits to set
*/
public void setPacketSizeBits(int packetSizeBits) {
this.packetSizeBits = packetSizeBits;
}
/**
- * @param contentSizeBits the contentSizeBits to set
+ * @param contentSizeBits
+ * the contentSizeBits to set
*/
public void setContentSizeBits(int contentSizeBits) {
this.contentSizeBits = contentSizeBits;
}
/**
- * @param timestampBegin the timestampBegin to set
+ * @param timestampBegin
+ * the timestampBegin to set
*/
public void setTimestampBegin(long timestampBegin) {
this.timestampBegin = timestampBegin;
}
/**
- * @param timestampEnd the timestampEnd to set
+ * @param timestampEnd
+ * the timestampEnd to set
*/
public void setTimestampEnd(long timestampEnd) {
this.timestampEnd = timestampEnd;
}
/**
- * @return the indexBegin
+ * @return the lostEvents in this packet
*/
- public long getIndexBegin() {
- return indexBegin;
+ public long getLostEvents() {
+ return lostEvents;
}
/**
- * @param indexBegin the indexBegin to set
+ * @param lostEvents the lostEvents to set
*/
- public void setIndexBegin(long indexBegin) {
- this.indexBegin = indexBegin;
+ public void setLostEvents(long lostEvents) {
+ this.lostEvents = lostEvents;
}
/**
- * @return the indexEnd
+ * Add an attribute to this index entry
+ *
+ * @param field
+ * The name of the attribute
+ * @param value
+ * The value to insert
+ */
+ public void addAttribute(String field, Object value) {
+ attributes.put(field, value);
+ }
+
+ /**
+ * Retrieve the value of an existing attribute
+ *
+ * @param field
+ * The name of the attribute
+ * @return The value that was stored, or null if it wasn't found
+ */
+ public Object lookupAttribute(String field){
+ return attributes.get(field);
+ }
+
+ /**
+ * @return The target that is being traced
+ */
+ public String getTarget() {
+ return target;
+ }
+
+ /**
+ * Assign a target to this index entry
+ *
+ * @param target
+ * The target to assign
*/
- public long getIndexEnd() {
- return indexEnd;
+ public void setTarget(String target) {
+ this.target = target;
+ this.targetID = Integer.parseInt(target.replaceAll("[\\D]", "")); //$NON-NLS-1$ //$NON-NLS-2$ // slow
}
/**
- * @param indexEnd the indexEnd to set
+ * @return The ID of the target
*/
- public void setIndexEnd(long indexEnd) {
- this.indexEnd = indexEnd;
+ public long getTargetId(){
+ return targetID;
}
}