handle errors
diff --git a/core/vpn/in_memory_manager.go b/core/vpn/in_memory_manager.go
index 3f12635..a95bfd4 100644
--- a/core/vpn/in_memory_manager.go
+++ b/core/vpn/in_memory_manager.go
@@ -130,9 +130,9 @@
g.Peers = append(g.Peers, d)
groups = append(groups, g)
m.deviceToGroups[pubKey] = groups
- ret := m.genNetworkMap(d)
+ ret, err := m.genNetworkMap(d)
m.notifyPeers(d, g)
- return ret, nil
+ return ret, err
}
func (m *InMemoryManager) RemoveDeviceFromGroup(pubKey types.PublicKey, id types.GroupID) (*types.NetworkMap, error) {
@@ -176,7 +176,7 @@
panic("Should not reach")
}
m.notifyPeers(d, g)
- return m.genNetworkMap(d), nil
+ return m.genNetworkMap(d)
}
func (m *InMemoryManager) GetNetworkMap(pubKey types.PublicKey) (*types.NetworkMap, error) {
@@ -201,7 +201,10 @@
// TODO(giolekva): maybe run this in a goroutine?
for _, peer := range g.Peers {
if peer.PublicKey != d.PublicKey {
- netMap := m.genNetworkMap(peer)
+ netMap, err := m.genNetworkMap(peer)
+ if err != nil {
+ panic(err) // TODO(giolekva): handle properly
+ }
for _, cb := range m.callbacks[peer.PublicKey] {
cb(netMap)
}