Closed gukj-spel closed 3 months ago
此次更新引入了多个新功能,主要集中于PikiwiDB
以及相关客户端管理命令的增强。新增了获取和设置客户端信息、列出客户端、终止客户端等操作的能力,并调整了文件操作顺序以优化代码执行流。此外,还更新了相关的测试用例和默认配置文件,以支持这些新功能。
文件路径 | 变更总结 |
---|---|
.github/workflows/pikiwidb.yml | 为 go test 命令增加了 15 秒的超时设置 |
src/base_cmd.h | 引入了新的管理命令,用于获取和设置客户端名称、列出客户端、终止客户端等操作 |
src/client.cc, src/client.h | 新增 GetFd 、GetUniqueId 、GetClientInfo 等方法;引入 ClientInfo 结构体并改进类成员的可见性和命名规范 |
src/cmd_admin.cc | 添加了新的命令类以实现客户端管理相关功能,如 CmdClient 、CmdClientGetname 等 |
src/cmd_table_manager.cc | 更新了初始化命令表以包含新的客户端命令组及其子命令 |
src/net/tcp_listener.cc | 调整了操作顺序,优化了连接回调的设置流程 |
src/pikiwidb.cc, src/pikiwidb.h | 引入了多个新的客户端管理方法并新增相关数据结构,如 client_map_mutex 、killer_mutex 等 |
tests/admin_test.go | 增加了相关新功能的测试案例 |
tests/assets/default.conf | 更新了默认配置文件,调整了一些设置并添加了 RocksDB 的配置项 |
sequenceDiagram
participant Admin as Admin
participant PikiwiDB as PikiwiDB
participant Client as Client
participant TCPListener as TCPListener
Admin ->> PikiwiDB: Send "list clients" command
PikiwiDB ->> Client: Get clients information
Client -->> PikiwiDB: Return clients list
PikiwiDB ->> Admin: Return clients list
Admin ->> PikiwiDB: Send "kill client" command
PikiwiDB ->> Client: Kill specific client
Client -->> PikiwiDB: Client terminated
PikiwiDB ->> Admin: Confirm termination
在代码的世界里,我们携手共进,
新增命令如春风拂面,
获取名称,设置名称,终止客户端,
RocksDB 配置新的篇章打开。
在配置文件中,变化纷至沓来,
让我们迎接,如阳光般明媚的未来。
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
add client command and corresponding got test CLIENT <GETNAME | SETNAME name | LIST [ID client_id1...client_idn] | KILL all | KILL ID client_id | KILL ADDR ip:port>
Summary by CodeRabbit
新功能
client_map_mutex
、killer_mutex
、clients
、cmd_id_
和client_id_
。配置更新