diff --git a/src/core/api.go b/src/core/api.go index 2aed191e..4c71e815 100644 --- a/src/core/api.go +++ b/src/core/api.go @@ -207,10 +207,8 @@ func (c *Core) GetMappedPeers() map[string]PeerInfo { peerinfo.Port = p.Port peerinfo.Priority = p.Priority peerinfo.Latency = p.Latency - addr := address.AddrForKey(peerinfo.Key) - addrStr := net.IP(addr[:]).String() - peers[addrStr] = peerinfo } + peers[peerinfo.URI] = peerinfo } }) diff --git a/src/db/database.go b/src/db/database.go index 15e50c8b..3824ec20 100644 --- a/src/db/database.go +++ b/src/db/database.go @@ -54,41 +54,6 @@ func (db *databaseConfig) OnListen(ctx context.Context) { peers := make(map[string]core.PeerInfo) paths := make(map[string]core.PathEntryInfo) 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 { case <-ctx.Done(): _ = db.CloseDb() @@ -96,6 +61,42 @@ func (db *databaseConfig) OnListen(ctx context.Context) { db._sessionBackUp(sessions) db._peerBackUp(peers) 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 { return nil, err } + err = treeentrydb.DbConfig.OpenDb() + if err != nil { + return nil, err + } sessiondb, err := sessioninfodb.New() if err != nil { return nil, err } + err = sessiondb.DbConfig.OpenDb() + if err != nil { + return nil, err + } pathentry, err := pathentryinfodb.New() if err != nil { return nil, err } + err = pathentry.DbConfig.OpenDb() + if err != nil { + return nil, err + } selfinfodb, err := selfinfodb.New() if err != nil { return nil, err } + err = selfinfodb.DbConfig.OpenDb() + if err != nil { + return nil, err + } peerinfodb, err := peerinfodb.New() if err != nil { return nil, err } + err = peerinfodb.DbConfig.OpenDb() + if err != nil { + return nil, err + } db := &databaseConfig{ treeentryinfodb: *treeentrydb, sessioninfodb: *sessiondb, diff --git a/src/db/dbConfig/dbconfig.go b/src/db/dbConfig/dbconfig.go index 5f518361..5cf2a53d 100644 --- a/src/db/dbConfig/dbconfig.go +++ b/src/db/dbConfig/dbconfig.go @@ -3,7 +3,6 @@ package db import ( "database/sql" "errors" - "fmt" "os" "path" ) @@ -23,7 +22,6 @@ func New(driver string, schemas *[]string, uri string) (*DbConfig, error) { if err != nil { return nil, err } - fmt.Println(uri) cfg := &DbConfig{ DB: db, Uri: uri, @@ -40,7 +38,6 @@ func OpenIfExist(driver string, uri string) (*DbConfig, error) { Name: name, Driver: driver, } - fmt.Print(uri) IsExist := cfg.DBIsExist() if !IsExist { return nil, errors.New("database does not exist")