github.com/XiaoMi/Gaea@v1.2.5/util/mocks/pipeTest/assets/PipeTest测试函数抽换缓存时序图.txt (about) 1 @startuml 2 participant MockClient 3 participant Pipe 4 participant MockServer 5 6 group #lightYellow 初始化 [建立客户端和服务端的连接] 7 MockClient->>Pipe: mockClient 连接到 Pipe 8 MockServer->>Pipe: mockServer 连接到 Pipe 9 10 alt #Pink 进行修改的部份 11 MockClient->>Pipe: 用 OverwriteConnBufWrite() 抽換寫入緩存 12 MockClient->>Pipe: 用 Reset 重置写入连接 13 end 14 15 end 16 17 loop 5次 18 19 group #lightYellow 客户端传送讯息到服务端 [包含重置连接,等待连接读写完成] 20 MockClient->>Pipe: 使用 SendOrReceive() 传送讯息1 21 MockServer->>Pipe: 使用 Reply() 读取 Pipe 里的讯息1 22 MockClient->>MockClient: 等待 Pipe 读写操作流程完成 23 MockClient->>Pipe: 使用 ResetDcMockers() 单方向重置 Pipe 24 MockServer->>MockServer: 决定回传的讯息,在测试环境下,原讯息的数值加1,等于之后的讯息 25 end 26 27 group #lightYellow 服务端传送讯息到客户端 [包含重置连接,等待连接读写完成] 28 MockServer->>Pipe: 使用 SendOrReceive() 传送讯息2 29 MockClient->>Pipe: 使用 Reply() 读取 Pipe 里的讯息2 30 MockServer->>MockServer: 等待 Pipe 读写操作流程完成 31 MockServer->>Pipe: 使用 ResetDcMockers() 单方向重置 Pipe 32 MockClient->>MockClient: 决定回传的讯息,在测试环境下,原讯息的数值加1,等于之后的讯息 33 end 34 35 end 36 37 @enduml