opensolon / opensolon/solon

【任务发放】优化 solon-flow (有包含结构的)网关的流入流出架构,使不再需要记录栈和计数器

Open
#377 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
2.8k
Forks
282
Avg merge
1d 4h
Merged PRs (30d)
1

Description

目前的处理方式,是在执行时:

按自然的线路去运行。当线路经过流入侧(拦栅)时,需要按流出时计数进行拦阻并只让最后一次通过。

优化方向:

  1. 添加 ChainBuilder 或 ChainDecl,用于申明 Chain
  2. Chain 的构建分为:申明(List 结构) 和 构建(部分 Tree 结构)2部分(或2阶段)。且构建后不允许再调整
  3. 构建时对 Chain 做预转换处理,把网关的“后续”节点,转换为“内部”结点。

示意:

//旧(所有元素并列,用线连接)
包容网关->a->b-包容网关

//新(部分网关,转为包裹关系。更利于运行)
包容网关(a->b)

//有了“包裹”关系后,就不需要栈记录和记数器了。

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the current solon-flow gateway execution path, focusing on how stack records and counters handle inclusive gateway entry and exit. Compare that behavior with the proposed ChainBuilder or ChainDecl declaration and build phases. Done means the gateway's following nodes are represented as wrapped internal nodes and the existing stack and counter mechanism is no longer required.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.