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
Branches
Tags
2 merge requests!510Release,!328Fix ud.NewOrLoad always registering
...@@ -66,18 +66,34 @@ func NewOrLoad(user udE2e, comms Comms, follower udNetworkStatus, ...@@ -66,18 +66,34 @@ func NewOrLoad(user udE2e, comms Comms, follower udNetworkStatus,
jww.INFO.Println("ud.NewOrLoad()") jww.INFO.Println("ud.NewOrLoad()")
// Construct manager if follower() != xxdk.Running {
m, err := loadOrNewManager(user, comms, follower) return nil, errors.New(
if err != nil { "cannot start UD Manager when network follower is not running.")
return nil, err }
// Initialize manager
m := &Manager{
user: user,
comms: comms,
} }
// Set user discovery // Set user discovery
err = m.setUserDiscovery(cert, contactFile, address) err := m.setUserDiscovery(cert, contactFile, address)
if err != nil { if err != nil {
return nil, err 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 // Register manager
rng := m.getRng().GetStream() rng := m.getRng().GetStream()
defer rng.Close() defer rng.Close()
...@@ -197,41 +213,6 @@ func (m *Manager) GetContact() contact.Contact { ...@@ -197,41 +213,6 @@ func (m *Manager) GetContact() contact.Contact {
return m.ud.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 // // Internal Getters //
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment