Skip to content

Commit

Permalink
Merge pull request #50 from icon-project/bgkwon-BDT-855
Browse files Browse the repository at this point in the history
Fix how to send initial messages
  • Loading branch information
kwon528 authored Dec 1, 2023
2 parents 8d715a3 + c83a2b8 commit e11041e
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions common/link/link.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ import (
type RelayState int

const (
RUNNING = iota
INIT = iota
RUNNING
PENDING
)

Expand Down Expand Up @@ -79,7 +80,7 @@ func NewLink(srcCfg ChainConfig, r Receiver, l log.Logger) types.Link {
size: 0,
},
blsChannel: make(chan *types.BMCLinkStatus),
relayState: RUNNING,
relayState: INIT,
}
link.rmi.rmis = append(link.rmi.rmis, make([]RelayMessageItem, 0))
return link
Expand Down Expand Up @@ -137,7 +138,6 @@ func (l *Link) startReceiverChannel(errCh chan error) error {
if err = l.handleRelayMessage(); err != nil {
errCh <- err
}
l.relayState = PENDING
})

if l.bls.Verifier.Height < rs.Height() {
Expand Down Expand Up @@ -283,13 +283,13 @@ func (l *Link) handleRelayMessage() error {
defer l.rmsMtx.Unlock()
l.l.Debugf("handleRelayMessage (relay status:%d)", l.relayState)

if l.relayState == RUNNING {
if l.relayState != PENDING {
if err := l.sendRelayMessage(); err != nil {
return err
}

for true {
if l.relayState == RUNNING &&
for {
if l.relayState != PENDING &&
len(l.rss) != 0 &&
l.bls.Verifier.Height < l.rss[len(l.rss)-1].Height() {
if err := l.buildRelayMessage(); err != nil {
Expand All @@ -300,6 +300,9 @@ func (l *Link) handleRelayMessage() error {
return err
}

if l.relayState == INIT {
l.relayState = PENDING
}
} else {
l.l.Debugf("Relay status : %d, ReceiveStatus size: %d", l.relayState, len(l.rss))
break
Expand Down

0 comments on commit e11041e

Please sign in to comment.