MiraiForum

    • 注册
    • 登录
    • 搜索
    • 热门
    • 最新
    • 未解决
    • 标签
    • 群组
    • 友情链接

    【MAH开发日记】今天天气很好,先来一局昆特牌

    开发交流
    8
    20
    1654
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • ryoii
      ryoii 梦中的鸡翅 最后由 编辑

      鉴于催更的人不少,开个摸鱼贴记录一下摸鱼的日程,让大家焦急等待的过程中能够积累多一些愤懑(x)

      • 催更可以集中到这里
      • 特性提议也可以集中到这里
      • 不允许发黄色图
      StageGuard 1 条回复 最后回复 回复 引用 1
      • ryoii
        ryoii 梦中的鸡翅 最后由 编辑

        今天是第一天

        打牌

        Duel~~

        1 条回复 最后回复 回复 引用 0
        • StageGuard
          StageGuard @ryoii 最后由 编辑

          @ryoii

          • 不允许发黄色图

          我觉得这不好

          1 条回复 最后回复 回复 引用 0
          • Hoshino Tented
            Hoshino Tented ⭐2021⭐ 最后由 编辑

            举报了。请增添发帖内容,不能少于 8 个字符。

            1 条回复 最后回复 回复 引用 0
            • Karlatemp
              Karlatemp 最后由 编辑

              今天是个上坟的好日子啊好日子

              1 条回复 最后回复 回复 引用 0
              • RainChan
                RainChan 摸鱼 最后由 编辑

                举报了
                请增添发帖内容,不能少于 8 个字符。

                1 条回复 最后回复 回复 引用 0
                • ryoii
                  ryoii 梦中的鸡翅 最后由 编辑

                  第二天

                  打算替换原本的分段锁LinkHashMap,设计一个写阻塞的消息队列。通过偏置维护当前session读取到的消息位置,而session只需要维护当前的偏置即可,比起现在一个session单独维护一个链表会有更好的内存表现。在队列空间满足的情况下,对于历史消息的获取也比较方便。

                  写了几个字,好累哦。打牌!

                  Hoshino Tented Karlatemp 2 条回复 最后回复 回复 引用 0
                  • Hoshino Tented
                    Hoshino Tented ⭐2021⭐ @ryoii 最后由 编辑

                    @ryoii 你好菜啊

                    1 条回复 最后回复 回复 引用 0
                    • Karlatemp
                      Karlatemp @ryoii 最后由 编辑

                      @ryoii 你好菜啊还没打赢一局

                      1 条回复 最后回复 回复 引用 -1
                      • I-love-study
                        I-love-study 最后由 编辑

                        啊诺嗫啊诺嗫,这几天打昆克牌了吗写mah了吗

                        1 条回复 最后回复 回复 引用 0
                        • Hoshino Tented
                          Hoshino Tented ⭐2021⭐ 最后由 编辑

                          催更催更催更催更催更催更催更催更催更催更催更催更催更催更催更催更催更催更催更催更催更

                          1 条回复 最后回复 回复 引用 0
                          • ryoii
                            ryoii 梦中的鸡翅 最后由 编辑

                            好像摸鱼了几天,把缓存队列写得七七八八。为了实现简单,写入直接做了同步锁,测了一下性能,绝对是够用了。

                            队列设计成了两套:基于数组的方式有点在于缓存和未消费数据的大小都是固定的,比较好控制;基于链表的虽然缓存是固定的,但是如果上下文中有未消费的数据,链表就会堆积,内存的清理依赖于 GC ,稳定性我还没有太深入的测试。

                            吐槽一句最近梯子全面爆炸,导致我很多开发环境的导入全部走不了代理。垃圾华为云镜像明明有包,但是就是给我报错不能下载,切换到阿里云镜像瞬间舒畅了,果然福报场是真的福报

                            比较重要的队列实现了。接下来只要抽象出序列化器的接口,就可以实现多种模式的序列化。优先实现原http格式的序列化器,再实现 websocket 的序列化器,以恢复原1.0版本的兼容性。后阶段陆陆续续加入反向ws,远程hook等序列化器。有计划实现可以通过脚本语言自定义返回格式的序列化器,可是没想好使用什么脚本语言,以及上下文如何构建

                            大概就这么多了吧,摸完接口就开始打牌啦

                            1 条回复 最后回复 回复 引用 2
                            • Z
                              zmdyy0318 最后由 编辑

                              开发日记也鸽了555

                              1 条回复 最后回复 回复 引用 0
                              • ryoii
                                ryoii 梦中的鸡翅 最后由 编辑

                                时隔一个月我回来啦。

                                写了半天的队列最后发现未读消息的缓存和已收消息缓存应该是区分的,因为还要考虑到bot自己发送的消息也应该被记录到已收的消息缓存里。结果呢,我造的队列就被我删掉啦。于是回到了原始人的生活,用会 buildin 的线程安全容器来做。

                                目前呢,http 和 ws 的模块化已经进行的差不多了,近期应该会发布一个快照版本,以让旧代码迁移到新的api上。

                                解耦的序列化器和其他模块会陆陆续续地更新

                                Him188 1 条回复 最后回复 回复 引用 1
                                • Him188
                                  Him188 @ryoii 最后由 Him188 编辑

                                  @ryoii FYI: 将来可能会支持通过 ID 拉取消息记录, 这可能会影响缓存策略?

                                  ryoii 1 条回复 最后回复 回复 引用 0
                                  • ryoii
                                    ryoii 梦中的鸡翅 @Him188 最后由 编辑

                                    @him188 部分影响,如果是分片的会怎么处理

                                    Him188 1 条回复 最后回复 回复 引用 0
                                    • Him188
                                      Him188 @ryoii 最后由 编辑

                                      @ryoii 那就只能拉到那一片,所以 MessageSource 里的 id 是array

                                      ryoii 1 条回复 最后回复 回复 引用 0
                                      • ryoii
                                        ryoii 梦中的鸡翅 @Him188 最后由 编辑

                                        @him188 这影响api了

                                        1 条回复 最后回复 回复 引用 0
                                        • ryoii
                                          ryoii 梦中的鸡翅 最后由 编辑

                                          原神真好玩

                                          MAH 2.0 第一个快照版本已经发布 传送门

                                          [2.0-RC1] - 2021-05-10

                                          新增

                                          • 支持新消息类型: MusicShare, Dice, ForwardMessage, ``
                                          • 支持新消息事件: 好友输入状态改变, 好友昵称改变, 群荣誉改变(龙王)
                                          • 支持新操作: 设置精华, 删除好友, 查询资料片, 戳一戳
                                          • 群成员返回 最后发言事件, 入群时间 等字段
                                          • 多媒体上传支持 base64 格式
                                          • 支持反向 websocket, 上报支持回调

                                          变更

                                          • 群名片变更, 群头衔变更, 群权限变更, 群匿名开启变更 等事件 new 字段正式废除
                                          • 认证流程变更, 且支持从请求头认证
                                          • http 部分接口返回格式变更
                                          • 多媒体上传不再进行缓存

                                          详见迁移文档

                                          优化

                                          • adapter 拆分
                                          • 解决已发现的内存泄漏

                                          正式发布前待解决

                                          • 恢复 console 命令相关接口
                                          • 恢复群文件相关接口
                                          • 恢复 API TESTER 工具

                                          版本依赖

                                          • mirai core: 2.6.2

                                          该版本为预览版本, 功能未经过充分测试, 提前发布以适应接口变更
                                          请酌情使用

                                          1 条回复 最后回复 回复 引用 0
                                          • Hoshino Tented
                                            Hoshino Tented ⭐2021⭐ 最后由 编辑

                                            怎么只有优化?

                                            1 条回复 最后回复 回复 引用 0
                                            • 1 / 1
                                            • First post
                                              Last post
                                            Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact