Files
netch/Netch/Interfaces/IServerController.cs
2021-08-31 11:48:49 +08:00

28 lines
750 B
C#

using System.Threading.Tasks;
using Netch.Models;
using Netch.Servers;
namespace Netch.Interfaces
{
public interface IServerController : IController
{
public ushort? Socks5LocalPort { get; set; }
public string? LocalAddress { get; set; }
public Task<Socks5Server> StartAsync(Server s);
}
public static class ServerControllerExtension
{
public static ushort Socks5LocalPort(this IServerController controller)
{
return controller.Socks5LocalPort ?? Global.Settings.Socks5LocalPort;
}
public static string LocalAddress(this IServerController controller)
{
return controller.LocalAddress ?? Global.Settings.LocalAddress;
}
}
}