Resolve the `StatePort` when the other components call it.

pull/4712/head
Minghao Hu 2024-02-12 22:49:57 +09:00
parent af3c1dc039
commit 74149b761f
1 changed files with 16 additions and 6 deletions

View File

@ -11,14 +11,24 @@ namespace v2rayN.Handler
public static LazyConfig Instance => _instance.Value;
private int _statePort;
public int StatePort { get => _statePort; }
private Job _processJob = new();
private int? _statePort;
public int StatePort
{
get
{
if (_statePort is null)
{
_statePort = Utils.GetFreePort();
}
return _statePort.Value;
}
}
private Job _processJob = new();
public LazyConfig()
{
_statePort = Utils.GetFreePort();
SqliteHelper.Instance.CreateTable<SubItem>();
SqliteHelper.Instance.CreateTable<ProfileItem>();
SqliteHelper.Instance.CreateTable<ServerStatItem>();
@ -68,7 +78,7 @@ namespace v2rayN.Handler
}
return localPort;
}
public void AddProcess(IntPtr processHandle)
{
_processJob.AddProcess(processHandle);