Files
EvoBGP/internal/store/memory_domain_cache.go
T
Denozordec dc803bcb34
quality / commitlint (push) Skipped
quality / changes (push) Successful in 9s
quality / docker-check (push) Skipped
quality / openapi (push) Successful in 46s
quality / web (push) Successful in 1m16s
quality / go (push) Successful in 2m42s
quality / bird2 (push) Successful in 16s
CD / quality (push) Successful in 5m19s
CD / publish (push) Successful in 7m19s
refactor(web): remove deprecated dashboard components and enhance KPI grid
- Deleted unused components: `DashboardActivityTimeline`, `DashboardFramePanel`, `DashboardModulesGrid`, `DashboardRecentJobsGrid`, and `DashboardRecentRevisionsGrid` to streamline the dashboard.
- Updated `DashboardKpiGrid` to improve KPI display logic, including progress indicators and enhanced badge functionality.
- Refactored `DashboardNetworkHealth` to provide better status representation based on loading states and network conditions.
- Introduced new properties for KPI cards to support progress tracking and improved visual feedback.

This cleanup aims to enhance performance and maintainability of the dashboard while providing a better user experience.
2026-08-31 10:15:59 +07:00

42 lines
988 B
Go

package store
import (
"strings"
"time"
)
func (m *Memory) GetDomainResolveCache(fqdn string) (*DomainResolveCacheEntry, bool, error) {
m.mu.RLock()
defer m.mu.RUnlock()
if m.domainResolveCache == nil {
return nil, false, nil
}
e, ok := m.domainResolveCache[strings.ToLower(strings.TrimSpace(fqdn))]
if !ok || e == nil {
return nil, false, nil
}
return &DomainResolveCacheEntry{
FQDN: e.FQDN,
Addrs: append([]string(nil), e.Addrs...),
ResolvedAt: e.ResolvedAt,
}, true, nil
}
func (m *Memory) SetDomainResolveCache(fqdn string, addrs []string) error {
key := strings.ToLower(strings.TrimSpace(fqdn))
if key == "" {
return ErrInvalidInput
}
m.mu.Lock()
defer m.mu.Unlock()
if m.domainResolveCache == nil {
m.domainResolveCache = make(map[string]*DomainResolveCacheEntry)
}
m.domainResolveCache[key] = &DomainResolveCacheEntry{
FQDN: key,
Addrs: append([]string(nil), addrs...),
ResolvedAt: time.Now().UTC(),
}
return nil
}