Skip to content
Snippets Groups Projects
Commit c026d27b authored by Jake Taylor's avatar Jake Taylor :lips:
Browse files

Merge branch 'hotfix/NewOrLoadAlwaysRegisters' into 'release'

Fix ud.NewOrLoad always registering

See merge request !328
parents d01af01c 92c4a6c8
No related branches found
No related tags found
2 merge requests!510Release,!328Fix ud.NewOrLoad always registering
......@@ -66,18 +66,34 @@ func NewOrLoad(user udE2e, comms Comms, follower udNetworkStatus,
jww.INFO.Println("ud.NewOrLoad()")
// Construct manager
m, err := loadOrNewManager(user, comms, follower)
if err != nil {
return nil, err
if follower() != xxdk.Running {
return nil, errors.New(
"cannot start UD Manager when network follower is not running.")
}
// Initialize manager
m := &Manager{
user: user,
comms: comms,
}
// Set user discovery
err = m.setUserDiscovery(cert, contactFile, address)
err := m.setUserDiscovery(cert, contactFile, address)
if err != nil {
return nil, err
}
// Initialize store
m.store, err = store.NewOrLoadStore(m.getKv())
if err != nil {
return nil, errors.Errorf("Failed to initialize store: %v", err)
}
// If already registered, return
if m.isRegistered() {
return m, nil
}
// Register manager
rng := m.getRng().GetStream()
defer rng.Close()
......@@ -197,41 +213,6 @@ func (m *Manager) GetContact() contact.Contact {
return m.ud.contact
}
// loadOrNewManager is a helper function which loads from storage or
// creates a new Manager object.
func loadOrNewManager(user udE2e, comms Comms,
follower udNetworkStatus) (*Manager, error) {
if follower() != xxdk.Running {
return nil, errors.New(
"cannot start UD Manager when network follower is not running.")
}
// Initialize manager
m := &Manager{
user: user,
comms: comms,
}
if m.isRegistered() {
// Load manager if already registered
var err error
m.store, err = store.NewOrLoadStore(m.getKv())
if err != nil {
return nil, errors.Errorf("Failed to initialize store: %v", err)
}
return m, nil
}
// Initialize store
var err error
m.store, err = store.NewOrLoadStore(m.getKv())
if err != nil {
return nil, errors.Errorf("Failed to initialize store: %v", err)
}
return m, nil
}
////////////////////////////////////////////////////////////////////////////////
// Internal Getters //
////////////////////////////////////////////////////////////////////////////////
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment