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 IRanGainControlHandler
{
/// <summary>
/// 设置发送增益
/// </summary>
/// <param name="ranEndPoint">RAN 端点信息</param>
/// <param name="gainSettings">增益设置字典,key为端口号(int),value为增益值(double)</param>
/// <returns>是否成功设置增益</returns>
Task<bool> SetTxGainAsync(RanIPEndPoint ranEndPoint, Dictionary<int, double> gainSettings);
/// <summary>
/// 设置接收增益
/// </summary>
/// <param name="ranEndPoint">RAN 端点信息</param>
/// <param name="gainSettings">增益设置字典,key为端口号(int),value为增益值(double)</param>
/// <returns>是否成功设置增益</returns>
Task<bool> SetRxGainAsync(RanIPEndPoint ranEndPoint, Dictionary<int, double> gainSettings);
/// <summary>
/// 设置所有端口的发送增益
/// </summary>
/// <param name="ranEndPoint">RAN 端点信息</param>
/// <param name="gainValues">所有端口的增益值数组,按端口顺序排列</param>
/// <returns>是否成功设置增益</returns>
Task<bool> SetAllTxGainAsync(RanIPEndPoint ranEndPoint, double[] gainValues);
/// <summary>
/// 设置所有端口的接收增益
/// </summary>
/// <param name="ranEndPoint">RAN 端点信息</param>
/// <param name="gainValues">所有端口的增益值数组,按端口顺序排列</param>
/// <returns>是否成功设置增益</returns>
Task<bool> SetAllRxGainAsync(RanIPEndPoint ranEndPoint, double[] gainValues);
}