diff --git a/ud/search.go b/ud/search.go index 1f3ea1434298bdd6e9a0b3bbfbdcddc544a555ea..ad180a64d1ed8c2b17dab80a108e3dbc5d230c04 100644 --- a/ud/search.go +++ b/ud/search.go @@ -18,7 +18,6 @@ import ( type searchCallback func([]contact.Contact, error) - func (m *Manager) searchProcess(c chan message.Receive, quitCh <-chan struct{}) { for true { select { @@ -55,10 +54,9 @@ func (m *Manager) searchProcess(c chan message.Receive, quitCh <-chan struct{}) } } - // Search... func (m *Manager) Search(list fact.FactList, callback searchCallback, timeout time.Duration) error { - if !m.IsRegistered(){ + if !m.IsRegistered() { return errors.New("Failed to search: " + "client is not registered") } @@ -79,6 +77,8 @@ func (m *Manager) Search(list fact.FactList, callback searchCallback, timeout ti return errors.WithMessage(err, "Failed to form outgoing search request") } + //cUID := m.client.GetUser().ID + msg := message.Send{ Recipient: m.udID, Payload: requestMarshaled, @@ -116,18 +116,18 @@ func (m *Manager) Search(list fact.FactList, callback searchCallback, timeout ti var c []contact.Contact done := false - for !done{ + for !done { select { // Return an error if the round fails case fail := <-roundFailChan: - if states.Round(fail.RoundInfo.State)==states.FAILED || fail.TimedOut{ + if states.Round(fail.RoundInfo.State) == states.FAILED || fail.TimedOut { fType := "" - if fail.TimedOut{ + if fail.TimedOut { fType = "timeout" - }else{ + } else { fType = fmt.Sprintf("round failure: %v", fail.RoundInfo.ID) } - err = errors.Errorf("One or more rounds (%v) failed to " + + err = errors.Errorf("One or more rounds (%v) failed to "+ "resolve due to: %s; search not delivered", rounds, fType) done = true } @@ -150,7 +150,6 @@ func (m *Manager) Search(list fact.FactList, callback searchCallback, timeout ti } } - // Delete the response channel from the map m.inProgressSearchMux.Lock() delete(m.inProgressSearch, commID)