diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/graph/DirectWay.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/graph/DirectWay.java
new file mode 100644
index 000000000..bdf85745f
--- /dev/null
+++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/graph/DirectWay.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.core.graph;
+
+/**
+ * @author wusheng
+ */
+public class DirectWay extends WayToNode {
+ public DirectWay(NodeProcessor destinationHandler) {
+ super(destinationHandler);
+ }
+
+ @Override protected void in(INPUT o) {
+ out(o);
+ }
+}
diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/graph/Next.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/graph/Next.java
index ba8e6c049..31ddba477 100644
--- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/graph/Next.java
+++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/graph/Next.java
@@ -29,14 +29,14 @@ import org.skywalking.apm.collector.core.framework.Executor;
*/
public class Next implements Executor {
- private final List nextNodes;
+ private final List ways;
public Next() {
- this.nextNodes = new LinkedList<>();
+ this.ways = new LinkedList<>();
}
- public final void addNext(Node node) {
- nextNodes.add(node);
+ final void addWay(WayToNode way) {
+ ways.add(way);
}
/**
@@ -45,6 +45,6 @@ public class Next implements Executor {
* @param INPUT
*/
@Override public void execute(INPUT INPUT) {
- nextNodes.forEach(node -> node.execute(INPUT));
+ ways.forEach(way -> way.in(INPUT));
}
}
diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/graph/Node.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/graph/Node.java
index 39f2c7d7c..e5bda3038 100644
--- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/graph/Node.java
+++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/graph/Node.java
@@ -36,10 +36,14 @@ public final class Node {
}
public final Node