You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.7 KiB

using CoreAgent.Domain.Models.Network;
namespace CoreAgent.Domain.Interfaces.Network;
/// <summary>
/// RAN API 功率控制接口
/// 负责处理发送和接收功率相关的操作
/// </summary>
public interface IRanPowerControlHandler
{
/// <summary>
/// 设置发送功率
/// </summary>
/// <param name="ranEndPoint">RAN 端点信息</param>
/// <param name="powerSettings">功率设置字典,key为端口号(int),value为功率值(double)</param>
/// <returns>是否成功设置功率</returns>
Task<bool> SetTxPowerAsync(RanIPEndPoint ranEndPoint, Dictionary<int, double> powerSettings);
/// <summary>
/// 设置接收功率
/// </summary>
/// <param name="ranEndPoint">RAN 端点信息</param>
/// <param name="powerSettings">功率设置字典,key为端口号(int),value为功率值(double)</param>
/// <returns>是否成功设置功率</returns>
Task<bool> SetRxPowerAsync(RanIPEndPoint ranEndPoint, Dictionary<int, double> powerSettings);
/// <summary>
/// 设置所有端口的发送功率
/// </summary>
/// <param name="ranEndPoint">RAN 端点信息</param>
/// <param name="powerValues">所有端口的功率值数组,按端口顺序排列</param>
/// <returns>是否成功设置功率</returns>
Task<bool> SetAllTxPowerAsync(RanIPEndPoint ranEndPoint, double[] powerValues);
/// <summary>
/// 设置所有端口的接收功率
/// </summary>
/// <param name="ranEndPoint">RAN 端点信息</param>
/// <param name="powerValues">所有端口的功率值数组,按端口顺序排列</param>
/// <returns>是否成功设置功率</returns>
Task<bool> SetAllRxPowerAsync(RanIPEndPoint ranEndPoint, double[] powerValues);
}