Remove Solicitation from the network

Instead, when a new peer is discovered it is sent a sync message i.e. we
do the full sync when discovering peers
This commit is contained in:
Milos Gajdos
2020-01-16 19:43:10 +00:00
parent ba12513199
commit 7f9b3b5556
7 changed files with 130 additions and 374 deletions

View File

@@ -220,42 +220,6 @@ func (s *svc) Process(advert *router.Advert) error {
return nil
}
// Solicit advertise all routes
func (s *svc) Solicit() error {
// list all the routes
routes, err := s.table.List()
if err != nil {
return err
}
// build events to advertise
events := make([]*router.Event, len(routes))
for i := range events {
events[i] = &router.Event{
Type: router.Update,
Timestamp: time.Now(),
Route: routes[i],
}
}
advert := &router.Advert{
Id: s.opts.Id,
Type: router.RouteUpdate,
Timestamp: time.Now(),
TTL: time.Duration(router.DefaultAdvertTTL),
Events: events,
}
select {
case s.advertChan <- advert:
case <-s.exit:
close(s.advertChan)
return nil
}
return nil
}
// Status returns router status
func (s *svc) Status() router.Status {
s.Lock()