From 19ce1ea7d795abb128373ff93aeb5723e54ac631 Mon Sep 17 00:00:00 2001 From: josh <josh@elixxir.io> Date: Mon, 2 May 2022 12:28:56 -0700 Subject: [PATCH] Small fixes --- cmd/ud.go | 16 +++++++++++----- ud/manager.go | 9 +++++++-- ud/search.go | 3 ++- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/cmd/ud.go b/cmd/ud.go index 67fa9d933..431f774f3 100644 --- a/cmd/ud.go +++ b/cmd/ud.go @@ -15,6 +15,7 @@ import ( "gitlab.com/elixxir/client/xxmutils" "gitlab.com/elixxir/primitives/fact" "gitlab.com/xx_network/primitives/utils" + "strings" "time" "github.com/spf13/cobra" @@ -87,12 +88,17 @@ var udCmd = &cobra.Command{ stream, userToRegister, client.GetStorage().GetKV()) if err != nil { - userDiscoveryMgr, err = ud.LoadManager(client.GetNetworkInterface(), - client.GetE2EHandler(), client.GetEventReporter(), - client.GetComms(), - client.GetStorage(), client.GetStorage().GetKV()) - if err != nil { + if strings.Contains(err.Error(), ud.IsRegisteredErr) { + userDiscoveryMgr, err = ud.LoadManager(client.GetNetworkInterface(), + client.GetE2EHandler(), client.GetEventReporter(), + client.GetComms(), + client.GetStorage(), client.GetStorage().GetKV()) + if err != nil { + jww.FATAL.Panicf("Failed to load UD manager: %+v", err) + } + } else { jww.FATAL.Panicf("Failed to create new UD manager: %+v", err) + } } diff --git a/ud/manager.go b/ud/manager.go index 32e2cb25d..9d60515e5 100644 --- a/ud/manager.go +++ b/ud/manager.go @@ -17,6 +17,12 @@ import ( "time" ) +const ( + IsRegisteredErr = "NewManager is already registered. " + + "NewManager is meant for the first instantiation. Use LoadManager " + + "for all other calls" +) + // Manager is the control structure for the contacting the user discovery service. type Manager struct { // Network is a sub-interface of the cmix.Client interface. It @@ -86,8 +92,7 @@ func NewManager(services CMix, e2e E2E, } if m.isRegistered() { - return nil, errors.Errorf("NewManager is already registered. " + - "NewManager is meant for the first instantiation. Use LoadManager for all other calls") + return nil, errors.Errorf(IsRegisteredErr) } // Initialize store diff --git a/ud/search.go b/ud/search.go index d432f4756..7061f4cc3 100644 --- a/ud/search.go +++ b/ud/search.go @@ -54,7 +54,8 @@ func Search(services CMix, events event.Reporter, factMap: factMap, } - rndId, ephId, err := single.TransmitRequest(udContact, SearchTag, requestMarshaled, + rndId, ephId, err := single.TransmitRequest(udContact, SearchTag, + requestMarshaled, response, params, services, rng, grp) if err != nil { return []id.Round{}, receptionID.EphemeralIdentity{}, -- GitLab