diff options
author | Wim <wim@42.be> | 2017-07-30 16:09:05 +0200 |
---|---|---|
committer | Wim <wim@42.be> | 2017-07-30 16:09:05 +0200 |
commit | 12989bbd99768facafe5d77dec98ff2908502499 (patch) | |
tree | 240bd84161474d023e7ff414de4b765e9ca180ca /gateway/router.go | |
parent | 38d09dba2e02a3136ea202cea8b6df58dea19d1d (diff) | |
download | matterbridge-msglm-12989bbd99768facafe5d77dec98ff2908502499.tar.gz matterbridge-msglm-12989bbd99768facafe5d77dec98ff2908502499.tar.bz2 matterbridge-msglm-12989bbd99768facafe5d77dec98ff2908502499.zip |
Handle same account in multiple gateways better
Diffstat (limited to 'gateway/router.go')
-rw-r--r-- | gateway/router.go | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/gateway/router.go b/gateway/router.go index 26c09968..eb8251ed 100644 --- a/gateway/router.go +++ b/gateway/router.go @@ -70,13 +70,14 @@ func (r *Router) getBridge(account string) *bridge.Bridge { return nil } -func (r *Router) getGatewayName(channelID string) string { +func (r *Router) getGatewayName(channelID string) []string { + var names []string for _, gw := range r.Gateways { if _, ok := gw.Channels[channelID]; ok { - return gw.Name + names = append(names, gw.Name) } } - return "" + return names } func (r *Router) handleReceive() { @@ -103,13 +104,11 @@ func (r *Router) handleReceive() { } } for _, gw := range r.Gateways { - if gw.Name == r.getGatewayName(getChannelID(msg)) { - if !gw.ignoreMessage(&msg) { - msg.Timestamp = time.Now() - gw.modifyMessage(&msg) - for _, br := range gw.Bridges { - gw.handleMessage(msg, br) - } + if !gw.ignoreMessage(&msg) { + msg.Timestamp = time.Now() + gw.modifyMessage(&msg) + for _, br := range gw.Bridges { + gw.handleMessage(msg, br) } } } |