perf: 消息内存按字节预算,杜绝大报文流撑爆内存
- 新增 MessageRing:条数上限 + 每连接 32MB 字节预算双重驱逐 (从最旧丢弃,均摊 O(1));预分配容量按设置钳制在 512 - 单条 payload 保留上限 256KB → 128KB;MqttRecord::retained_bytes 计入文本与原始字节,供预算驱逐与资源监控展示 - 清空消息统一走 clear_messages;设置页标注字节预算兜底说明 - 新增单元测试:条数驱逐、字节预算、超预算单条保留、驱逐顺序
This commit is contained in:
@@ -1765,7 +1765,7 @@ impl ConnectionView {
|
||||
view.detail_format = DetailFormat::Auto;
|
||||
if let Some(app) = view.app.upgrade() {
|
||||
app.update(cx, |app, cx| {
|
||||
app.messages.remove(clear_id.as_str());
|
||||
app.clear_messages(&clear_id);
|
||||
cx.notify();
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user