diff options
Diffstat (limited to 'gateway/router.go')
-rw-r--r-- | gateway/router.go | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/gateway/router.go b/gateway/router.go index a0d5f402..d7df1225 100644 --- a/gateway/router.go +++ b/gateway/router.go @@ -75,7 +75,7 @@ func (r *Router) Start() error { r.logger.Infof("Starting bridge: %s ", br.Account) err := br.Connect() if err != nil { - e := fmt.Errorf("Bridge %s failed to start: %v", br.Account, err) + e := fmt.Errorf("bridge %s failed to initialize: %v", br.Account, err) if r.disableBridge(br, e) { continue } @@ -83,12 +83,23 @@ func (r *Router) Start() error { } err = br.JoinChannels() if err != nil { - e := fmt.Errorf("Bridge %s failed to join channel: %v", br.Account, err) + e := fmt.Errorf("bridge %s failed to join channel: %v", br.Account, err) if r.disableBridge(br, e) { continue } return e } + + if starter, ok := br.Bridger.(bridge.BridgerWithChannelDependency); ok { + err = starter.Start() + if err != nil { + e := fmt.Errorf("bridge %s failed to start: %v", br.Account, err) + if r.disableBridge(br, e) { + continue + } + return e + } + } } // remove unused bridges for _, gw := range r.Gateways { |