projects
/
deliverable
/
tracecompass.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ss: Move selectNextChildren to CoreNode and return sequenceNumber
[deliverable/tracecompass.git]
/
statesystem
/
org.eclipse.tracecompass.statesystem.core
/
src
/
org
/
eclipse
/
tracecompass
/
internal
/
statesystem
/
core
/
backend
/
historytree
/
HistoryTreeBackend.java
diff --git
a/statesystem/org.eclipse.tracecompass.statesystem.core/src/org/eclipse/tracecompass/internal/statesystem/core/backend/historytree/HistoryTreeBackend.java
b/statesystem/org.eclipse.tracecompass.statesystem.core/src/org/eclipse/tracecompass/internal/statesystem/core/backend/historytree/HistoryTreeBackend.java
index 3b021c12081d01ca86de97874dce60b86b97d60d..5e752deeb98b3d09ed35c390aa329a776c25517b 100644
(file)
--- a/
statesystem/org.eclipse.tracecompass.statesystem.core/src/org/eclipse/tracecompass/internal/statesystem/core/backend/historytree/HistoryTreeBackend.java
+++ b/
statesystem/org.eclipse.tracecompass.statesystem.core/src/org/eclipse/tracecompass/internal/statesystem/core/backend/historytree/HistoryTreeBackend.java
@@
-273,18
+273,19
@@
public class HistoryTreeBackend implements IStateHistoryBackend {
checkValidTime(t);
/* Queue is a stack of nodes containing nodes intersecting t */
checkValidTime(t);
/* Queue is a stack of nodes containing nodes intersecting t */
- Deque<
HTNode
> queue = new LinkedList<>();
+ Deque<
Integer
> queue = new LinkedList<>();
/* We start by reading the information in the root node */
/* We start by reading the information in the root node */
- queue.add(getSHT().getRootNode());
+ queue.add(getSHT().getRootNode()
.getSequenceNumber()
);
/* Then we follow the down in the relevant children */
try {
while (!queue.isEmpty()) {
/* Then we follow the down in the relevant children */
try {
while (!queue.isEmpty()) {
- HTNode currentNode = queue.pop();
+ int sequenceNumber = queue.pop();
+ HTNode currentNode = getSHT().readNode(sequenceNumber);
if (currentNode.getNodeType() == HTNode.NodeType.CORE) {
if (currentNode.getNodeType() == HTNode.NodeType.CORE) {
- /*
Here we add the relevant children nodes for BFS
*/
- queue.addAll(
getSHT().selectNextChildren((ParentNode) currentNode,
t));
+ /*
Here we add the relevant children nodes for BFS
*/
+ queue.addAll(
((ParentNode) currentNode).selectNextChildren(
t));
}
currentNode.writeInfoFromNode(stateInfo, t);
}
}
currentNode.writeInfoFromNode(stateInfo, t);
}
@@
-325,13
+326,15
@@
public class HistoryTreeBackend implements IStateHistoryBackend {
throws TimeRangeException, ClosedChannelException {
checkValidTime(t);
throws TimeRangeException, ClosedChannelException {
checkValidTime(t);
- Deque<
HTNode
> queue = new LinkedList<>();
- queue.add(getSHT().getRootNode());
+ Deque<
Integer
> queue = new LinkedList<>();
+ queue.add(getSHT().getRootNode()
.getSequenceNumber()
);
HTInterval interval = null;
while (interval == null && !queue.isEmpty()) {
HTInterval interval = null;
while (interval == null && !queue.isEmpty()) {
- HTNode currentNode = queue.pop();
+ int sequenceNumber = queue.pop();
+ HTNode currentNode = getSHT().readNode(sequenceNumber);
if (currentNode.getNodeType() == HTNode.NodeType.CORE) {
if (currentNode.getNodeType() == HTNode.NodeType.CORE) {
- queue.addAll(getSHT().selectNextChildren((ParentNode) currentNode, t));
+ /* Here we add the relevant children nodes for BFS */
+ queue.addAll(((ParentNode) currentNode).selectNextChildren(t));
}
interval = currentNode.getRelevantInterval(key, t);
}
}
interval = currentNode.getRelevantInterval(key, t);
}
This page took
0.025656 seconds
and
5
git commands to generate.