protected override void OnShow() { base.OnShow(); // var queryProvider = GetService<IServerQueryProvider>(); _listProvider.Load(); Reload(); }
private void LoadH() { _listProvider.Load(); ClearItems(); foreach (var entry in _listProvider.Data.ToArray()) { AddItem(new GuiServerListEntryElement(entry)); } PingAll(false); }
protected override void OnShow() { base.OnShow(); CancellationTokenSource cts = CancellationTokenSource.CreateLinkedTokenSource(CancellationTokenSource.Token); foreach (var serverType in Alex.ServerTypeManager.GetAll()) { serverType.QueryProvider.StartLanDiscovery(cts.Token, async r => { if (r.QueryResponse.Success) { GuiServerListEntryElement entry = new GuiServerListEntryElement( serverType, new SavedServerEntry() { ServerType = serverType.Id, Host = r.QueryResponse.Status.Address, Port = r.QueryResponse.Status.Port, Name = r.QueryResponse.Status.EndPoint.ToString(), InternalIdentifier = Guid.NewGuid() }); entry.SaveEntry = false; entry.ConnectionEndpoint = r.EndPoint; entry.ServerName = $"[LAN] {r.QueryResponse.Status.Query.Description.Text}"; AddItem(entry); await entry.PingAsync(false); } }); } cts.CancelAfter(30000); // var queryProvider = GetService<IServerQueryProvider>(); _listProvider.Load(); Reload(); }
protected override void OnShow() { base.OnShow(); var queryProvider = GetService <IServerQueryProvider>(); _listProvider.Load(); ClearItems(); List <Task> tasks = new List <Task>(); foreach (var entry in _listProvider.Data.ToArray()) { var element = new GuiServerListEntryElement(queryProvider, entry); AddItem(element); tasks.Add(element.PingAsync(false)); } }