mirror of
https://github.com/yggdrasil-network/yggdrasil-go.git
synced 2025-04-27 21:55:07 +03:00
some fixes
This commit is contained in:
parent
2417249eca
commit
f6d5e992d4
3 changed files with 57 additions and 41 deletions
|
@ -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
|
||||
}
|
||||
})
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue