summaryrefslogtreecommitdiffstats
path: root/gateway/router.go
diff options
context:
space:
mode:
Diffstat (limited to 'gateway/router.go')
-rw-r--r--gateway/router.go15
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 {