Skip to content

Commit

Permalink
les: remove delayed les server starting
Browse files Browse the repository at this point in the history
  • Loading branch information
zsfelfoldi committed Jan 26, 2017
1 parent f5348e1 commit 12379c6
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 37 deletions.
1 change: 0 additions & 1 deletion eth/backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,6 @@ type Config struct {

type LesServer interface {
Start(srvr *p2p.Server)
Synced()
Stop()
Protocols() []p2p.Protocol
}
Expand Down
2 changes: 1 addition & 1 deletion eth/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ func NewProtocolManager(config *params.ChainConfig, fastSync bool, networkId int
return blockchain.CurrentBlock().NumberU64()
}
inserter := func(blocks types.Blocks) (int, error) {
manager.setSynced() // Mark initial sync done on any fetcher import
atomic.StoreUint32(&manager.synced, 1) // Mark initial sync done on any fetcher import
return manager.insertChain(blocks)
}
manager.fetcher = fetcher.New(blockchain.GetBlockByHash, validator, manager.BroadcastBlock, heighter, inserter, manager.removePeer)
Expand Down
9 changes: 1 addition & 8 deletions eth/sync.go
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ func (pm *ProtocolManager) synchronise(peer *peer) {
if err := pm.downloader.Synchronise(peer.id, pHead, pTd, mode); err != nil {
return
}
pm.setSynced() // Mark initial sync done
atomic.StoreUint32(&pm.synced, 1) // Mark initial sync done

// If fast sync was enabled, and we synced up, disable it
if atomic.LoadUint32(&pm.fastSync) == 1 {
Expand All @@ -192,10 +192,3 @@ func (pm *ProtocolManager) synchronise(peer *peer) {
}
}
}

// setSynced sets the synced flag and notifies the light server if present
func (pm *ProtocolManager) setSynced() {
if atomic.SwapUint32(&pm.synced, 1) == 0 && pm.lesServer != nil {
pm.lesServer.Synced()
}
}
30 changes: 3 additions & 27 deletions les/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,7 @@ type LesServer struct {
fcManager *flowcontrol.ClientManager // nil if our node is client only
fcCostStats *requestCostStats
defParams *flowcontrol.ServerParams
srvr *p2p.Server
synced, stopped bool
lock sync.Mutex
stopped bool
}

func NewLesServer(eth *eth.Ethereum, config *eth.Config) (*LesServer, error) {
Expand All @@ -70,35 +68,13 @@ func (s *LesServer) Protocols() []p2p.Protocol {
return s.protocolManager.SubProtocols
}

// Start only starts the actual service if the ETH protocol has already been synced,
// otherwise it will be started by Synced()
// Start starts the LES server
func (s *LesServer) Start(srvr *p2p.Server) {
s.lock.Lock()
defer s.lock.Unlock()

s.srvr = srvr
if s.synced {
s.protocolManager.Start(s.srvr)
}
}

// Synced notifies the server that the ETH protocol has been synced and LES service can be started
func (s *LesServer) Synced() {
s.lock.Lock()
defer s.lock.Unlock()

s.synced = true
if s.srvr != nil && !s.stopped {
s.protocolManager.Start(s.srvr)
}
s.protocolManager.Start(srvr)
}

// Stop stops the LES service
func (s *LesServer) Stop() {
s.lock.Lock()
defer s.lock.Unlock()

s.stopped = true
s.fcCostStats.store()
s.fcManager.Stop()
go func() {
Expand Down

0 comments on commit 12379c6

Please sign in to comment.