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

@ -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,