root
|
5f50a8aeac
|
修复NetworkProtocolLogObserver小区配置处理方法
- 修复OnLTECellConfigurationReceived和OnNrCellConfigurationReceived方法中的命名错误和异常处理
- 规范化参数命名,将CellConfiguration改为cellConfiguration,符合C#命名约定
- 增强空值检查,添加输入参数的空值验证,避免空引用异常
- 改进异常处理,移除空的异常处理块,改为记录错误而不是重新抛出异常
- 添加详细的日志记录,为每个处理步骤提供完整的跟踪信息
- 实现错误隔离,单个配置项处理失败不影响其他配置项的处理
- 优化代码结构,提高可读性和维护性
修复的关键问题:
- 参数命名不规范导致代码可读性差
- 缺少空值检查可能导致空引用异常
- 异常处理不当影响整体处理流程
- 日志记录不详细难以调试问题
- 单个错误导致整个处理流程失败
影响范围:小区配置处理的稳定性和可靠性,错误处理和日志记录能力,代码可读性和维护性,调试和问题排查能力
|
4 months ago |
root
|
c6db427507
|
新加一个NrCellConfig 实体解析
|
4 months ago |
root
|
3f98edfb81
|
feat: 重构IRanGainControlHandler接口并添加RAN API控制器
- 重构IRanGainControlHandler接口,移除RanIPEndPoint参数,统一从ICellularNetworkContext获取端点信息
- 修复SetTxGainCommand构造函数,添加参数验证
- 创建SetAllTxGainCommand和SetAllTxGainCommandHandler,支持批量设置发送增益
- 创建RanAPIController,提供统一的RAN API访问接口
- 优化依赖注入配置,统一使用工厂模式
|
4 months ago |
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
|
0e3c6e9c53
|
WebSocketTransport 的 问题 CancellationTokenSource
|
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 |
root
|
8c7ebad2ff
|
修复 StopAllClients 问题
|
4 months ago |
hyh
|
856891fdcc
|
/ 关闭连接 加一个释放
|
4 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
|
e6f095335b
|
stop 宽松模式
|
5 months ago |
root
|
d011b25cf3
|
更新代码:完善网络配置和协议客户端功能
|
5 months ago |
root
|
e12d0fec2e
|
提交代码
|
5 months ago |
root
|
ac3acb48ae
|
优化WebSocket传输服务和通道管理 - 重构ConnectInternalAsync方法,提取独立方法 - 优化通道创建逻辑,移除ResetChannels方法 - 添加自动重连配置选项EnableAutoReconnect - 修复WebSocket配置文件,添加所有新增配置项 - 优化方法返回类型,移除不必要的async/await
|
5 months ago |
root
|
f8a2f31a58
|
修复NetworkConfigCopier方法返回类型,改为元组返回模式
- 修改CreateCellularNetworkConfigurationFile返回类型为元组
- 修改CreateCoreNetworkImsConfigurationFiles返回类型为元组
- 更新接口定义和调用代码
- 简化错误处理,提高代码可读性
- 更新modify.md记录修改内容
|
5 months ago |
hyh
|
6aadfe9de5
|
refactor: 创建DeviceInfoResponse模型,优化API响应结构
- 新增DeviceInfoResponse模型,专门用于API响应
- 移除API响应中的IsSuccess字段,确保响应简洁
- 修改GetSerialNumberCommand返回类型为ApiActionResult<DeviceInfoResponse>
- 更新GetSerialNumberCommandHandler使用DeviceInfoResponse
- 实现清晰的职责分离:DeviceInfo用于内部状态判断,DeviceInfoResponse用于API响应
- 确保API响应不包含内部实现细节
|
5 months ago |
hyh
|
fee41aaf7d
|
feat: 添加设备序列号获取功能,遵循DDD设计架构
- 新增DeviceInfo模型,包含IsSuccess字段用于状态判断
- 实现IDeviceService接口和DeviceService实现类
- 支持Windows和Linux系统序列号获取
- 修复ParseSerialNumber方法,支持Linux输出格式解析
- 创建GetSerialNumberCommand和GetSerialNumberCommandHandler
- 添加SystemController API控制器
- 修复CS0234编译错误,添加System.Net引用
- 更新依赖注入配置
- 完善错误处理和日志记录
|
5 months ago |
root
|
4d32386f13
|
优化ProtocolMessage模型注释,完善代码文档和命名规范
|
5 months ago |
root
|
de06915714
|
创建MessageTransferProtocolLog模型解决命名冲突,优化NetworkProtocolLogObserver性能监控和错误处理
|
5 months ago |
hyh
|
cf9f6143b9
|
注册问题
|
5 months ago |
hyh
|
55c16b6bbe
|
"修复WebSocket传输服务依赖注入问题,添加IMemoryCache服务注册"
|
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 |