mirror of
https://github.com/netbirdio/netbird.git
synced 2026-10-24 14:29:07 +02:00
cache read without account get from db
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
package server
|
package server
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
"github.com/netbirdio/netbird/management/server/types"
|
"github.com/netbirdio/netbird/management/server/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -18,6 +20,19 @@ func (am *DefaultAccountManager) enrichAccountFromHolder(account *types.Account)
|
|||||||
am.holder.AddAccount(account)
|
am.holder.AddAccount(account)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (am *DefaultAccountManager) getAccountFromHolder(accountID string) *types.Account {
|
||||||
|
a := am.holder.GetAccount(accountID)
|
||||||
|
if a != nil {
|
||||||
|
return a
|
||||||
|
}
|
||||||
|
account, err := am.Store.GetAccount(context.Background(), accountID)
|
||||||
|
if err != nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
am.holder.AddAccount(account)
|
||||||
|
return account
|
||||||
|
}
|
||||||
|
|
||||||
func (am *DefaultAccountManager) updateAccountInHolder(account *types.Account) {
|
func (am *DefaultAccountManager) updateAccountInHolder(account *types.Account) {
|
||||||
am.holder.AddAccount(account)
|
am.holder.AddAccount(account)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,13 +19,13 @@ func (am *DefaultAccountManager) initNetworkMapBuilderIfNeeded(account *types.Ac
|
|||||||
|
|
||||||
func (am *DefaultAccountManager) getPeerNetworkMapExp(
|
func (am *DefaultAccountManager) getPeerNetworkMapExp(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
account *types.Account,
|
accountId string,
|
||||||
peerId string,
|
peerId string,
|
||||||
validatedPeers map[string]struct{},
|
validatedPeers map[string]struct{},
|
||||||
customZone nbdns.CustomZone,
|
customZone nbdns.CustomZone,
|
||||||
metrics *telemetry.AccountManagerMetrics,
|
metrics *telemetry.AccountManagerMetrics,
|
||||||
) *types.NetworkMap {
|
) *types.NetworkMap {
|
||||||
am.enrichAccountFromHolder(account)
|
account := am.getAccountFromHolder(accountId)
|
||||||
return account.GetPeerNetworkMapExp(ctx, peerId, customZone, validatedPeers, metrics)
|
return account.GetPeerNetworkMapExp(ctx, peerId, customZone, validatedPeers, metrics)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -453,7 +453,7 @@ func (am *DefaultAccountManager) GetNetworkMap(ctx context.Context, peerID strin
|
|||||||
var networkMap *types.NetworkMap
|
var networkMap *types.NetworkMap
|
||||||
|
|
||||||
if am.expNewNetworkMap {
|
if am.expNewNetworkMap {
|
||||||
networkMap = am.getPeerNetworkMapExp(ctx, account, peerID, validatedPeers, customZone, nil)
|
networkMap = am.getPeerNetworkMapExp(ctx, peer.AccountID, peerID, validatedPeers, customZone, nil)
|
||||||
} else {
|
} else {
|
||||||
networkMap = account.GetPeerNetworkMap(ctx, peer.ID, customZone, validatedPeers, account.GetResourcePoliciesMap(), account.GetResourceRoutersMap(), nil)
|
networkMap = account.GetPeerNetworkMap(ctx, peer.ID, customZone, validatedPeers, account.GetResourcePoliciesMap(), account.GetResourceRoutersMap(), nil)
|
||||||
}
|
}
|
||||||
@@ -1093,7 +1093,7 @@ func (am *DefaultAccountManager) getValidatedPeerWithMap(ctx context.Context, is
|
|||||||
var networkMap *types.NetworkMap
|
var networkMap *types.NetworkMap
|
||||||
|
|
||||||
if am.expNewNetworkMap {
|
if am.expNewNetworkMap {
|
||||||
networkMap = am.getPeerNetworkMapExp(ctx, account, peer.ID, approvedPeersMap, customZone, am.metrics.AccountManagerMetrics())
|
networkMap = am.getPeerNetworkMapExp(ctx, peer.AccountID, peer.ID, approvedPeersMap, customZone, am.metrics.AccountManagerMetrics())
|
||||||
} else {
|
} else {
|
||||||
networkMap = account.GetPeerNetworkMap(ctx, peer.ID, customZone, approvedPeersMap, account.GetResourcePoliciesMap(), account.GetResourceRoutersMap(), am.metrics.AccountManagerMetrics())
|
networkMap = account.GetPeerNetworkMap(ctx, peer.ID, customZone, approvedPeersMap, account.GetResourcePoliciesMap(), account.GetResourceRoutersMap(), am.metrics.AccountManagerMetrics())
|
||||||
}
|
}
|
||||||
@@ -1305,7 +1305,7 @@ func (am *DefaultAccountManager) UpdateAccountPeers(ctx context.Context, account
|
|||||||
var remotePeerNetworkMap *types.NetworkMap
|
var remotePeerNetworkMap *types.NetworkMap
|
||||||
|
|
||||||
if am.expNewNetworkMap {
|
if am.expNewNetworkMap {
|
||||||
remotePeerNetworkMap = am.getPeerNetworkMapExp(ctx, account, peer.ID, approvedPeersMap, customZone, am.metrics.AccountManagerMetrics())
|
remotePeerNetworkMap = am.getPeerNetworkMapExp(ctx, p.AccountID, p.ID, approvedPeersMap, customZone, am.metrics.AccountManagerMetrics())
|
||||||
} else {
|
} else {
|
||||||
remotePeerNetworkMap = account.GetPeerNetworkMap(ctx, p.ID, customZone, approvedPeersMap, resourcePolicies, routers, am.metrics.AccountManagerMetrics())
|
remotePeerNetworkMap = account.GetPeerNetworkMap(ctx, p.ID, customZone, approvedPeersMap, resourcePolicies, routers, am.metrics.AccountManagerMetrics())
|
||||||
}
|
}
|
||||||
@@ -1421,7 +1421,7 @@ func (am *DefaultAccountManager) UpdateAccountPeer(ctx context.Context, accountI
|
|||||||
var remotePeerNetworkMap *types.NetworkMap
|
var remotePeerNetworkMap *types.NetworkMap
|
||||||
|
|
||||||
if am.expNewNetworkMap {
|
if am.expNewNetworkMap {
|
||||||
remotePeerNetworkMap = am.getPeerNetworkMapExp(ctx, account, peer.ID, approvedPeersMap, customZone, am.metrics.AccountManagerMetrics())
|
remotePeerNetworkMap = am.getPeerNetworkMapExp(ctx, peer.AccountID, peer.ID, approvedPeersMap, customZone, am.metrics.AccountManagerMetrics())
|
||||||
} else {
|
} else {
|
||||||
remotePeerNetworkMap = account.GetPeerNetworkMap(ctx, peerId, customZone, approvedPeersMap, resourcePolicies, routers, am.metrics.AccountManagerMetrics())
|
remotePeerNetworkMap = account.GetPeerNetworkMap(ctx, peerId, customZone, approvedPeersMap, resourcePolicies, routers, am.metrics.AccountManagerMetrics())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user