apernet / OpenGFW

OpenGFW is a flexible, easy-to-use, open source implementation of GFW (Great Firewall of China) on Linux
https://gfw.dev/
Mozilla Public License 2.0
9.72k stars 733 forks source link

optimize ssh Feed function example #139

Open gucoi opened 5 months ago

gucoi commented 5 months ago

我修改了其中的一个 Feed 函数, 觉得这样会比较好理解以及处理流比较清晰. 另外, 可以在 lsm 里面增加 LSMContext 处理结构,这样可以避免直接去处理流, 也可以避免一些多线程处理流的问题,如果需要的话, 我可以进行更改.

tobyxdd commented 4 months ago

感谢贡献!确实如果 LSM 增加 context 的话更好,只是这样就需要修改所有 analyzers 了。。

也可以避免一些多线程处理流的问题

其实并不存在多线程问题,因为目前每个流是分配到一个固定的 worker 线程处理,对每个 analyzer 实例而言是单线程的

gucoi commented 4 months ago

感谢贡献!确实如果 LSM 增加 context 的话更好,只是这样就需要修改所有 analyzers 了。。

也可以避免一些多线程处理流的问题

其实并不存在多线程问题,因为目前每个流是分配到一个固定的 worker 线程处理,对每个 analyzer 实例而言是单线程的

是这样的, 可以抽象化一个 context 出来, 可能工程量稍微比较大一点,好处就是比现在代码来讲相对好理解一点,可能从逻辑角度上更好理解一点,如果需要的话,我可以提交更多的 commit 来完成这一工作. 改完之后可以在处理流的过程中多线程处理.

tobyxdd commented 4 months ago

行呀,给 LSM 加上 context 吧 👍