public StreamNested(R builder) { super(new AstReadAwaitNode(), builder); }
public StreamNested<R> setBarrierName(String barrierName) { node.setBarrierName(barrierName); return this; }
@Override public Configuration visit(AstReadAwaitNode node, State state) { RegionInfo regionInfo = node.getRegionInfo(); String barrierName = node.getBarrierName(); Barrier barrier = state.lookupBarrier(barrierName); AwaitBarrierUpstreamHandler handler = new AwaitBarrierUpstreamHandler(barrier); handler.setRegionInfo(regionInfo); Map<String, ChannelHandler> pipelineAsMap = state.pipelineAsMap; String handlerName = String.format("read.await#%d", pipelineAsMap.size() + 1); pipelineAsMap.put(handlerName, handler); state.configuration.getBarriers().add(barrier); return state.configuration; }
@Override public AstReadAwaitNode visitReadAwaitNode(ReadAwaitNodeContext ctx) { node = new AstReadAwaitNode(); node.setRegionInfo(asSequentialRegion(childInfos, ctx)); node.setBarrierName(ctx.Name().getText()); return node; }
@Override protected void describe(StringBuilder buf) { super.describe(buf); buf.append(format("read await %s\n", getBarrierName())); } }
@Override public AstReadAwaitNode visitReadAwaitNode(ReadAwaitNodeContext ctx) { AstReadAwaitNodeVisitor visitor = new AstReadAwaitNodeVisitor(factory, environment); AstReadAwaitNode readAwaitNode = visitor.visitReadAwaitNode(ctx); if (readAwaitNode != null) { childInfos().add(readAwaitNode.getRegionInfo()); } return readAwaitNode; }
public AstReadAwaitNodeBuilder setBarrierName(String barrierName) { node.setBarrierName(barrierName); return this; }
public AstReadAwaitNodeBuilder() { this(new AstReadAwaitNode()); }