/**
* The StreamInput we are reading.
*/
- private final StreamInput streamInput;
+ private final StreamInput fStreamInput;
/**
* The packet reader used to read packets from this trace file.
*/
- private final StreamInputPacketReader packetReader;
+ private final StreamInputPacketReader fPacketReader;
/**
* Iterator on the packet index
*/
- private int packetIndex;
+ private int fPacketIndex;
/**
* Reference to the current event of this trace file (iow, the last on that
* was read, the next one to be returned)
*/
- private EventDefinition currentEvent = null;
+ private EventDefinition fCurrentEvent = null;
- private int name;
+ private int fId;
- private CTFTraceReader parent;
+ private CTFTraceReader fParent;
/** Map of all the event types */
- private final Map<Long, EventDefinition> eventDefs = new HashMap<>();
+ private final Map<Long, EventDefinition> fEventDefs = new HashMap<>();
// ------------------------------------------------------------------------
// Constructors
* @since 2.0
*/
public StreamInputReader(StreamInput streamInput) throws CTFReaderException {
- this.streamInput = streamInput;
- this.packetReader = new StreamInputPacketReader(this);
+ fStreamInput = streamInput;
+ fPacketReader = new StreamInputPacketReader(this);
/*
* Get the iterator on the packet index.
*/
- this.packetIndex = 0;
+ fPacketIndex = 0;
/*
* Make first packet the current one.
*/
* @since 2.0
*/
public void dispose() {
- packetReader.dispose();
+ fPacketReader.dispose();
}
// ------------------------------------------------------------------------
* finished/empty/malformed
*/
public EventDefinition getCurrentEvent() {
- return this.currentEvent;
+ return fCurrentEvent;
}
/**
* @return the current packet context (size, lost events and such)
*/
public StructDefinition getCurrentPacketContext() {
- return this.packetReader.getStreamPacketContextDef();
+ return fPacketReader.getStreamPacketContextDef();
}
/**
* @return the trace byte order
*/
public ByteOrder getByteOrder() {
- return streamInput.getStream().getTrace().getByteOrder();
+ return fStreamInput.getStream().getTrace().getByteOrder();
}
/**
* @return gets the stream name (it's a number)
*/
public int getName() {
- return this.name;
+ return fId;
}
/**
* the name of the stream, (it's a number)
*/
public void setName(int name) {
- this.name = name;
+ fId = name;
}
/**
* @return The CPU id (a number)
*/
public int getCPU() {
- return this.packetReader.getCPU();
+ return fPacketReader.getCPU();
}
/**
* @return The filename of the stream being read
*/
public String getFilename() {
- return streamInput.getFilename();
+ return fStreamInput.getFilename();
}
/*
* for internal use only
*/
StreamInput getStreamInput() {
- return streamInput;
+ return fStreamInput;
}
/**
* @since 2.1
*/
public Map<Long, EventDefinition> getEventDefinitions() {
- return Collections.unmodifiableMap(eventDefs);
+ return Collections.unmodifiableMap(fEventDefs);
}
/**
* @since 2.1
*/
public void addEventDefinition(Long id, EventDefinition def) {
- eventDefs.put(id, def);
+ fEventDefs.put(id, def);
}
// ------------------------------------------------------------------------
/*
* Change packet if needed
*/
- if (!this.packetReader.hasMoreEvents()) {
- final StreamInputPacketIndexEntry prevPacket = this.packetReader
+ if (!fPacketReader.hasMoreEvents()) {
+ final StreamInputPacketIndexEntry prevPacket = fPacketReader
.getCurrentPacket();
if (prevPacket != null) {
goToNextPacket();
/*
* If an event is available, read it.
*/
- if (this.packetReader.hasMoreEvents()) {
- this.setCurrentEvent(this.packetReader.readNextEvent());
+ if (fPacketReader.hasMoreEvents()) {
+ this.setCurrentEvent(fPacketReader.readNextEvent());
return true;
}
this.setCurrentEvent(null);
* if an error occurs
*/
private void goToNextPacket() throws CTFReaderException {
- packetIndex++;
- if (getPacketSize() >= (packetIndex + 1)) {
- this.packetReader.setCurrentPacket(getPacket());
+ fPacketIndex++;
+ if (getPacketSize() >= (fPacketIndex + 1)) {
+ fPacketReader.setCurrentPacket(getPacket());
} else {
- if (this.streamInput.addPacketHeaderIndex()) {
- packetIndex = getPacketSize() - 1;
- this.packetReader.setCurrentPacket(getPacket());
+ if (fStreamInput.addPacketHeaderIndex()) {
+ fPacketIndex = getPacketSize() - 1;
+ fPacketReader.setCurrentPacket(getPacket());
} else {
- this.packetReader.setCurrentPacket(null);
+ fPacketReader.setCurrentPacket(null);
}
}
}
* @return
*/
private int getPacketSize() {
- return streamInput.getIndex().getEntries().size();
+ return fStreamInput.getIndex().getEntries().size();
}
/**
/*
* index up to the desired timestamp.
*/
- while ((this.packetReader.getCurrentPacket() != null)
- && (this.packetReader.getCurrentPacket().getTimestampEnd() < timestamp)) {
+ while ((fPacketReader.getCurrentPacket() != null)
+ && (fPacketReader.getCurrentPacket().getTimestampEnd() < timestamp)) {
try {
- this.streamInput.addPacketHeaderIndex();
+ fStreamInput.addPacketHeaderIndex();
goToNextPacket();
} catch (CTFReaderException e) {
// do nothing here
}
}
- if (this.packetReader.getCurrentPacket() == null) {
+ if (fPacketReader.getCurrentPacket() == null) {
gotoPacket(timestamp);
}
* if an error occurs
*/
private void gotoPacket(long timestamp) throws CTFReaderException {
- this.packetIndex = this.streamInput.getIndex().search(timestamp)
+ fPacketIndex = fStreamInput.getIndex().search(timestamp)
.previousIndex();
/*
* Switch to this packet.
/*
* Search in the index for the packet to search in.
*/
- final int len = this.streamInput.getIndex().getEntries().size();
+ final int len = fStreamInput.getIndex().getEntries().size();
/*
* Go to beginning of trace.
/*
* if the trace is empty.
*/
- if ((len == 0) || (this.packetReader.hasMoreEvents() == false)) {
+ if ((len == 0) || (fPacketReader.hasMoreEvents() == false)) {
/*
* This means the trace is empty. abort.
*/
* Go to the last packet that contains events.
*/
for (int pos = len - 1; pos > 0; pos--) {
- packetIndex = pos;
- this.packetReader.setCurrentPacket(getPacket());
- if (this.packetReader.hasMoreEvents()) {
+ fPacketIndex = pos;
+ fPacketReader.setCurrentPacket(getPacket());
+ if (fPacketReader.hasMoreEvents()) {
break;
}
}
* Go until the end of that packet
*/
EventDefinition prevEvent = null;
- while (this.currentEvent != null) {
- prevEvent = this.currentEvent;
+ while (fCurrentEvent != null) {
+ prevEvent = fCurrentEvent;
this.readNextEvent();
}
/*
* @return the parent
*/
public CTFTraceReader getParent() {
- return parent;
+ return fParent;
}
/**
* the parent to set
*/
public void setParent(CTFTraceReader parent) {
- this.parent = parent;
+ fParent = parent;
}
/**
* the event to set
*/
public void setCurrentEvent(EventDefinition currentEvent) {
- this.currentEvent = currentEvent;
+ fCurrentEvent = currentEvent;
}
/**
* @return the packetIndexIt
*/
private int getPacketIndex() {
- return packetIndex;
+ return fPacketIndex;
}
private StreamInputPacketIndexEntry getPacket() {
- return streamInput.getIndex().getEntries().get(getPacketIndex());
+ return fStreamInput.getIndex().getEntries().get(getPacketIndex());
}
/**
* @return the packetReader
*/
public StreamInputPacketReader getPacketReader() {
- return packetReader;
+ return fPacketReader;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
- result = (prime * result) + name;
+ result = (prime * result) + fId;
result = (prime * result)
- + ((streamInput == null) ? 0 : streamInput.hashCode());
+ + ((fStreamInput == null) ? 0 : fStreamInput.hashCode());
return result;
}
return false;
}
StreamInputReader other = (StreamInputReader) obj;
- if (name != other.name) {
+ if (fId != other.fId) {
return false;
}
- if (streamInput == null) {
- if (other.streamInput != null) {
+ if (fStreamInput == null) {
+ if (other.fStreamInput != null) {
return false;
}
- } else if (!streamInput.equals(other.streamInput)) {
+ } else if (!fStreamInput.equals(other.fStreamInput)) {
return false;
}
return true;
@Override
public String toString() {
// this helps debugging
- return this.name + ' ' + this.currentEvent.toString();
+ return fId + ' ' + fCurrentEvent.toString();
}
}