mirror of
https://gitee.com/willfree/mlsr.git
synced 2026-10-04 19:42:02 +08:00
修复lsdb中信号报错,信号的声明需要在初始化语句的最前面
This commit is contained in:
1 parent
96c60a5cae
commit
261cbd72ec
1 file changed
+7
-5
+7
-5
@@ -68,6 +68,9 @@ type Lsdb struct {
|
||||
|
||||
func (l *Lsdb) Init(mc *common.MlsrConfig, ms *MlsrScheduler,
|
||||
_face *logicface.LogicFace) {
|
||||
// 信号初始化
|
||||
l.OnLsdbModified = utils.NewSignal()
|
||||
|
||||
// 配置项
|
||||
l.mlsrConfig = mc
|
||||
// 调度器
|
||||
@@ -106,9 +109,6 @@ func (l *Lsdb) Init(mc *common.MlsrConfig, ms *MlsrScheduler,
|
||||
|
||||
// 构建并安装自己的名称LSA
|
||||
l.BuildAndInstallOwnNameLsa()
|
||||
|
||||
// 信号初始化
|
||||
l.OnLsdbModified = utils.NewSignal()
|
||||
}
|
||||
|
||||
//
|
||||
@@ -311,7 +311,9 @@ func (l *Lsdb) InstallLsa(lsa lsa.ILsa) {
|
||||
return
|
||||
}
|
||||
// 2. 触发LSDB安装LSA的动作信号 OnLsdbModified(lsa, LsdbUpdate::INSTALLED, {}, {});
|
||||
l.OnLsdbModified.Emit(lsa, INSTALLED)
|
||||
if !l.OnLsdbModified.IsEmpty() {
|
||||
l.OnLsdbModified.Emit(lsa, INSTALLED)
|
||||
}
|
||||
// 3. 设置LSA超期时间事件
|
||||
l.ScheduleLsaExpiration(lsa, timeToExpire)
|
||||
} else if lsaInDb.GetSeqNo() < lsa.GetSeqNo() {
|
||||
@@ -326,7 +328,7 @@ func (l *Lsdb) InstallLsa(lsa lsa.ILsa) {
|
||||
// 2. 触发LSDB更新LSA的动作信号 OnLsdbModified(lsa, LsdbUpdate::UPDATED, namesToAdd, namesToRemove);
|
||||
// todo 实现该方法:对比两个lsa,将其不同的部分取出来
|
||||
updated, namesToAdd, namesToRemove := l.compareTwoLsa(lsaInDb, lsa)
|
||||
if updated {
|
||||
if updated && !l.OnLsdbModified.IsEmpty() {
|
||||
l.OnLsdbModified.Emit(lsa, UPDATED, namesToAdd, namesToRemove)
|
||||
}
|
||||
// 3. 设置LSA超期时间事件
|
||||
|
||||
Reference in new issue
Block a user