Favorites servers fix, one server update and show privates.
Fixed favorites servers - they now correctly added/removed in/from cache, and also fixed favorite server edition dialog, which now also takes advantage from server's cache. Added new toolbar button for updating one server. It works :). Added new column in servers lists, which shows is server is private or public.
This commit is contained in:
@@ -39,6 +39,19 @@ func (p *Pooler) Initialize() {
|
||||
fmt.Println("Pooler initialized")
|
||||
}
|
||||
|
||||
func (p *Pooler) PingOneServer(server_address string) {
|
||||
var wait sync.WaitGroup
|
||||
|
||||
server := Cache.Servers[server_address].Server
|
||||
|
||||
wait.Add(1)
|
||||
go func(srv *datamodels.Server) {
|
||||
defer wait.Done()
|
||||
p.pingServersExecutor(srv)
|
||||
}(server)
|
||||
wait.Wait()
|
||||
}
|
||||
|
||||
// Servers pinging pooler. Should be started as goroutine to prevent
|
||||
// UI blocking.
|
||||
func (p *Pooler) PingServers(servers_type string) {
|
||||
@@ -106,6 +119,25 @@ func (p *Pooler) pingServersExecutor(server *datamodels.Server) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p *Pooler) UpdateOneServer(server_address string) {
|
||||
var wait sync.WaitGroup
|
||||
|
||||
server := Cache.Servers[server_address].Server
|
||||
|
||||
wait.Add(1)
|
||||
go func(server *datamodels.Server) {
|
||||
defer wait.Done()
|
||||
p.updateSpecificServer(server)
|
||||
}(server)
|
||||
wait.Wait()
|
||||
p.PingOneServer(server_address)
|
||||
Eventer.LaunchEvent("flushServers")
|
||||
|
||||
Eventer.LaunchEvent("loadAllServers")
|
||||
Eventer.LaunchEvent("loadFavoriteServers")
|
||||
Eventer.LaunchEvent("serversUpdateCompleted")
|
||||
}
|
||||
|
||||
func (p *Pooler) UpdateServers(servers_type string) {
|
||||
var wait sync.WaitGroup
|
||||
|
||||
@@ -189,6 +221,13 @@ func (p *Pooler) updateSpecificServer(server *datamodels.Server) error {
|
||||
if srv_config[i] == "sv_hostname" {
|
||||
server.Name = srv_config[i + 1]
|
||||
}
|
||||
if srv_config[i] == "g_needpass" {
|
||||
if srv_config[i + 1] == "0" {
|
||||
server.IsPrivate = "0"
|
||||
} else {
|
||||
server.IsPrivate = "1"
|
||||
}
|
||||
}
|
||||
server.ExtendedConfig = received_lines[1]
|
||||
}
|
||||
if len(received_lines) >= 2 {
|
||||
|
@@ -133,3 +133,7 @@ func (r *Requester) UpdateFavoriteServers() {
|
||||
r.pooler.UpdateServers("favorites")
|
||||
}
|
||||
|
||||
func (r *Requester) UpdateOneServer(server_address string) {
|
||||
fmt.Println("Updating server " + server_address)
|
||||
r.pooler.UpdateOneServer(server_address)
|
||||
}
|
||||
|
Reference in New Issue
Block a user