some fixes

This commit is contained in:
HappyHakunaMatata 2024-10-13 12:54:20 +02:00
parent 2417249eca
commit f6d5e992d4
3 changed files with 57 additions and 41 deletions

View file

@ -207,10 +207,8 @@ func (c *Core) GetMappedPeers() map[string]PeerInfo {
peerinfo.Port = p.Port peerinfo.Port = p.Port
peerinfo.Priority = p.Priority peerinfo.Priority = p.Priority
peerinfo.Latency = p.Latency peerinfo.Latency = p.Latency
addr := address.AddrForKey(peerinfo.Key)
addrStr := net.IP(addr[:]).String()
peers[addrStr] = peerinfo
} }
peers[peerinfo.URI] = peerinfo
} }
}) })

View file

@ -54,41 +54,6 @@ func (db *databaseConfig) OnListen(ctx context.Context) {
peers := make(map[string]core.PeerInfo) peers := make(map[string]core.PeerInfo)
paths := make(map[string]core.PathEntryInfo) paths := make(map[string]core.PathEntryInfo)
for { for {
{
APIsessions := db.Api.GetMappedSessions()
APIpaths := db.Api.GetMappedPaths()
for key, session := range APIsessions {
if _, exist := sessions[key]; !exist {
db._pathCallBack(APIpaths[key])
db._sessionCallBack(session)
}
paths[key] = APIpaths[key]
sessions[key] = session
}
for key := range sessions {
if _, exist := APIsessions[key]; !exist {
db._pathCallBack(APIpaths[key])
db._sessionCallBack(sessions[key])
delete(sessions, key)
delete(paths, key)
}
}
}
{
APIpeers := db.Api.GetMappedPeers()
for key, peer := range APIpeers {
if _, exist := peers[key]; !exist {
db._peerCallBack(peer)
}
peers[key] = peer
}
for key := range peers {
if _, exist := APIpeers[key]; !exist {
db._peerCallBack(peers[key])
delete(peers, key)
}
}
}
select { select {
case <-ctx.Done(): case <-ctx.Done():
_ = db.CloseDb() _ = db.CloseDb()
@ -96,6 +61,42 @@ func (db *databaseConfig) OnListen(ctx context.Context) {
db._sessionBackUp(sessions) db._sessionBackUp(sessions)
db._peerBackUp(peers) db._peerBackUp(peers)
db._papthBackUp(paths) db._papthBackUp(paths)
default:
{
APIsessions := db.Api.GetMappedSessions()
APIpaths := db.Api.GetMappedPaths()
for key, session := range APIsessions {
if _, exist := sessions[key]; !exist {
db._pathCallBack(APIpaths[key])
db._sessionCallBack(session)
}
paths[key] = APIpaths[key]
sessions[key] = session
}
for key := range sessions {
if _, exist := APIsessions[key]; !exist {
db._pathCallBack(APIpaths[key])
db._sessionCallBack(sessions[key])
delete(sessions, key)
delete(paths, key)
}
}
}
{
APIpeers := db.Api.GetMappedPeers()
for key, peer := range APIpeers {
if _, exist := peers[key]; !exist {
db._peerCallBack(peer)
}
peers[key] = peer
}
for key := range peers {
if _, exist := APIpeers[key]; !exist {
db._peerCallBack(peers[key])
delete(peers, key)
}
}
}
} }
} }
}() }()
@ -286,22 +287,42 @@ func CreateDb(log core.Logger, core *core.Core) (_ *databaseConfig, err error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
err = treeentrydb.DbConfig.OpenDb()
if err != nil {
return nil, err
}
sessiondb, err := sessioninfodb.New() sessiondb, err := sessioninfodb.New()
if err != nil { if err != nil {
return nil, err return nil, err
} }
err = sessiondb.DbConfig.OpenDb()
if err != nil {
return nil, err
}
pathentry, err := pathentryinfodb.New() pathentry, err := pathentryinfodb.New()
if err != nil { if err != nil {
return nil, err return nil, err
} }
err = pathentry.DbConfig.OpenDb()
if err != nil {
return nil, err
}
selfinfodb, err := selfinfodb.New() selfinfodb, err := selfinfodb.New()
if err != nil { if err != nil {
return nil, err return nil, err
} }
err = selfinfodb.DbConfig.OpenDb()
if err != nil {
return nil, err
}
peerinfodb, err := peerinfodb.New() peerinfodb, err := peerinfodb.New()
if err != nil { if err != nil {
return nil, err return nil, err
} }
err = peerinfodb.DbConfig.OpenDb()
if err != nil {
return nil, err
}
db := &databaseConfig{ db := &databaseConfig{
treeentryinfodb: *treeentrydb, treeentryinfodb: *treeentrydb,
sessioninfodb: *sessiondb, sessioninfodb: *sessiondb,

View file

@ -3,7 +3,6 @@ package db
import ( import (
"database/sql" "database/sql"
"errors" "errors"
"fmt"
"os" "os"
"path" "path"
) )
@ -23,7 +22,6 @@ func New(driver string, schemas *[]string, uri string) (*DbConfig, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
fmt.Println(uri)
cfg := &DbConfig{ cfg := &DbConfig{
DB: db, DB: db,
Uri: uri, Uri: uri,
@ -40,7 +38,6 @@ func OpenIfExist(driver string, uri string) (*DbConfig, error) {
Name: name, Name: name,
Driver: driver, Driver: driver,
} }
fmt.Print(uri)
IsExist := cfg.DBIsExist() IsExist := cfg.DBIsExist()
if !IsExist { if !IsExist {
return nil, errors.New("database does not exist") return nil, errors.New("database does not exist")