root
|
7d4386d710
|
feat: 重构RanAPICommandHandler架构 - 引入抽象基类和接口拆分
- 拆分IRanAPICommandHandler接口为多个专门接口
* IRanAPICommandHandler: 基础接口,包含日志配置功能
* IRanPowerControlHandler: 功率控制接口,包含发送/接收功率设置
* IRanGainControlHandler: 增益控制接口,包含发送/接收增益设置
- 新增RanAPICommandHandlerBase抽象基类
* 提供通用命令执行逻辑ExecuteCommandAsync
* 提供工具方法BuildCommandPrefix、ValidateRanEndPoint
* 统一异常处理和资源管理
- 优化RanAPICommandHandler实现类
* 继承抽象基类,实现所有接口
* 使用基类通用方法,减少重复代码
* 统一命令执行模式:await ExecuteCommandAsync(command, "操作名称")
* 统一参数验证:ValidateRanEndPoint(ranEndPoint)
- 新增功率控制功能
* SetTxPowerAsync/SetRxPowerAsync: 字典格式设置功率
* SetAllTxPowerAsync/SetAllRxPowerAsync: 数组格式批量设置功率
* 支持动态长度数组,按端口顺序排列
- 文件结构优化
* 按功能模块拆分接口文件
* 提高代码组织清晰度和可维护性
* 支持模块化依赖注入和独立测试
影响范围: RAN API命令处理器架构重构、接口设计模块化、代码复用和维护性提升
|
4 months ago |
root
|
10ea7ff96f
|
log
|
4 months ago |
root
|
b5ef9e9473
|
feat: 优化NetworkProtocolLogObserver并发处理和ProtocolWsClientManager资源管理
- 修复NetworkProtocolLogObserver多客户端并发安全问题
* 在OnProtocolLogsReceived方法中添加lock保护整个处理过程
* 确保多个ProtocolWsClient实例可以安全并发访问
* 简化设计,移除不必要的SemaphoreSlim和配置选项
* 保留完整的日志跟踪功能
- 优化ProtocolWsClientManager资源管理
* 在StopAllClients方法中先调用client.Stop()再调用client.Dispose()
* 确保客户端优雅停止,避免资源泄漏
* 简化Dispose方法,移除重复的客户端释放逻辑
* 支持多次启动/停止循环,每次都能安全处理多客户端并发
- 技术改进
* 使用单一lock对象保护共享状态,简化并发控制
* 保持NetworkProtocolLogObserver单例模式,支持重复使用
* 完善异常处理和日志记录
* 提高代码可维护性和稳定性
|
4 months ago |
hyh
|
88b58c267c
|
修改log记录 等级
|
4 months ago |
hyh
|
b8172eaacd
|
plmn 修复问题
|
4 months ago |
root
|
cf7da640a0
|
model
|
5 months ago |
root
|
d81dce858f
|
feat: 优化协议客户端管理器功能
1. 分离StartAllClients和CheckAllClientsConnection方法职责
2. 为CheckAllClientsConnection添加10秒默认超时参数
3. 修复GeneralCellularNetworkService中的StartAllProtocolClientsAsync方法
4. 优化TimeStampHelper时区初始化异常处理
5. 完善错误处理和日志记录
6. 更新接口定义和文档注释
|
5 months ago |
root
|
f542e1a0e7
|
修复SIPProtocolParser.GeneralParse方法严谨性并增强日志跟踪
主要修复内容:
1. 修复变量名错误:MCC和MNC变量名与实际匹配内容对应
2. 增强空值检查:添加完整的参数验证和空值检查
3. 修复重复赋值:分别设置PLMN和IMSI属性
4. 优化正则表达式:添加RegexOptions.Compiled提高性能
5. 修复返回值检查:使用正确的StringToId返回值判断逻辑
6. 添加参数验证:验证Groups数量和参数有效性
7. 增强日志跟踪:
- 添加ILogger支持,创建类型安全的Logger实例
- 记录BuildProtocolLog参数为空的情况
- 记录StringToId返回0(空字符串)的情况
- 记录正则匹配Groups数量不足的详细信息
- 使用私有Logger字段避免重复创建Logger实例
设计优势:
- 逻辑正确性:修复了变量名错误和重复赋值问题
- 空值安全:添加了完整的空值检查和参数验证
- 性能优化:正则表达式使用编译选项提高性能
- 代码严谨性:添加了Groups数量验证和参数有效性检查
- 错误预防:使用空条件操作符避免空引用异常
- 调试友好:提供详细的错误日志记录便于问题排查
影响范围:
- SIP协议解析的准确性
- 协议日志数据的完整性
- 代码的稳定性和可靠性
- 性能优化和错误预防
- 代码可读性和维护性
- 调试和问题排查能力显著提升
|
5 months ago |
root
|
d011b25cf3
|
更新代码:完善网络配置和协议客户端功能
|
5 months ago |
root
|
e12d0fec2e
|
提交代码
|
5 months ago |
root
|
6fd18a963b
|
ConvertSingleLog 少给id 复制
|
5 months ago |
hyh
|
8bd4210759
|
优化ProtocolWsClientManager方法返回类型,使用IsConnected判断连接状态
|
5 months ago |
hyh
|
6420e0931d
|
"feat: 协议客户端管理器集成与优化,完善启动/停止流程"
|
5 months ago |
hyh
|
641f37ec2f
|
feat: 完善协议客户端配置创建和WebSocket传输服务集成
1. 在CellularNetworkService.StartNetworkAsync中添加协议客户端配置创建
2. 优化WebSocketTransportExtensions,移除冗余方法
3. 修正WebSocket配置文件与模型类匹配
4. 集成WebSocket传输服务到Startup
5. 重命名LogLayerHelp为ProtocolLayerConfigFactory
6. 完善错误处理和日志记录
|
5 months ago |
root
|
ec120aeb19
|
优化ProtocolWsClientManager:简化接口,专注核心功能
- 移除不必要的公共方法(AddAndStartClient、GetAllClients、GetClient等)
- 保留核心功能:StartAllClients和StopAllClients
- 将CreateProtocolWsClient改为私有方法
- 更新类注释,明确单一职责
- 保持线程安全和资源管理
|
5 months ago |
root
|
4d806e3ca6
|
feat: 完善项目结构说明文档和WebSocket传输层组件
1. 新增 CoreAgent.WebSocketTransport 项目
- 实现完整的WebSocket传输层架构
- 支持中间件管道、消息通道管理
- 提供高性能、可靠的WebSocket通信能力
2. 完善 CoreAgent.ProtocolClient 项目结构说明
- 更新项目结构说明文档
- 添加详细的使用场景和开发规范
- 完善部署、性能、安全等说明
3. 重构和优化
- 删除过时的CustomWebSocketClient实现
- 重命名ClientConfig为ProtocolClientConfig
- 新增协议解析器和引擎核心组件
4. 文档完善
- 生成详细的项目结构说明文档
- 更新修改记录
- 提供完整的技术文档和使用指南
|
5 months ago |
root
|
3550787281
|
优化ILogger使用和组件依赖关系 - 为UeIdentifierManager和ProtocolLogContext添加ILogger支持 - 将ILogger参数改为必填,提高代码健壮性 - 为ProtocolClientContext添加ILoggerFactory支持 - 优化ProtocolLogContext的组件间依赖,通过上下文访问兄弟组件 - 简化方法签名,移除不必要的参数传递 - 统一日志管理,遵循Microsoft.Extensions.Logging最佳实践
|
5 months ago |
root
|
48f48dcb12
|
md
|
5 months ago |
root
|
0b85ab529b
|
11
|
5 months ago |
root
|
219118d3ea
|
重构WebSocket消息管理器:完善PublicMethods.cs文档和实现
|
5 months ago |