-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor: Use struct Int32Range
widely
#3867
Conversation
noises已经用了 其他的好像没看到浮动值 |
第一时间还想到了 port range,还有 SpiderX 也能换上, |
port range并不是纯范围,它更像是一个带语法糖的数组 (1,2,3-5,8 这样) |
|
看完了才来的 应该没了 吧 |
|
strings.Split() 这个函数看了一下调用大概是没其他地方了 |
EnsureOrder() 的功能应该放 UnmarshalJSON() 里自动调用 |
我不确定需不需要 因为可能不知道啥时候从大到小的范围可能会有意义 |
加上,再给 |
还有含负数的也写个解析吧,就基本不用再改了 |
搞个OriginFrom和OriginTo可能好一点点 负数的话 1--2还是感觉有点诡异 |
逻辑很简单,第一个负号出现在开头就找第二个负号为分割符然后常规解析,没有第二个负号就是单独负数 |
写个bool等真要用再写个if交换更奇怪
不是实现方法的问题 是这个写法本身就诡异(虽然逻辑上没问题) |
这样吧
把现有的那些都改为 Left 和 Right |
还是 |
那就 Left Right 代表原始,放 From To 上面,还有加上包含负数的解析 |
@Fangliding |
发现文档 |
根据含义应当把 Left Right 放结构体的开头,并且先操作它们,最后再对 From To 赋值 |
|
这 |
确实疑惑 搞得我都看错了 |
把逻辑抽出来,这样 packets 也能用 还有现有这些地方都要检查下 From 不小于 0,我还在想加哪合适 |
还有 SpiderX, |
差不多了吧 spiderx我不知道它是怎么干活的(连个文档都无) |
|
我看到新的代码用了 uint64,但自动 unmarshal 那里并没有,有丶割裂,any advice? |
老的ParseUint就指定了64 当然不需要啊 这个类型就叫 int32range 输出肯定是个int32 转换一下肯定的 我个人一直是非必要不用奇奇怪怪的整型 现在再改又break proto然后还得把出站里代码掀了改掉 早提该在合的时候就提的 不过加个小函数修改类型完全是可以接受的 |
打算先合了,不久后会把那些 proto 都改为 uint64 |
|
#3855 (comment)
Why not?