Commit graph

18 commits

Author SHA1 Message Date
Joachim Bauch 82c20ba930
Align 64-bit members that are accessed atomically. 2021-01-05 08:37:09 +01:00
Joachim Bauch 64cccab641
Log all non-websocket close errors. 2020-12-16 15:29:22 +01:00
Joachim Bauch 559f1e28ae
Optionally disable certificate validation for proxy connections. 2020-12-16 15:17:44 +01:00
Joachim Bauch d2b7fafde5
Send ping to proxy regularly to detect broken connection. 2020-12-11 15:58:35 +01:00
Joachim Bauch 644d9a1737
Include load in stats response. 2020-10-15 13:27:08 +02:00
Joachim Bauch 67e66c0e5a
Log something when proxy publisher/subscriber is deleted. 2020-09-24 12:43:27 +02:00
Joachim Bauch 7e3a7af9a3
Use dedicated (shorter) timeout for proxy requests.
This will prevent the overall MCU timeout to expire on the first proxy
request if that takes too long. With the shorter proxy timeout, the other
proxy servers will be retried if the first request timed out.
2020-09-16 10:13:09 +02:00
Joachim Bauch 80194c4e1d
Don't perform request to proxy if context is already done. 2020-09-16 09:23:36 +02:00
Joachim Bauch 767d283600
Handle case where etcd cluster is not available during startup. 2020-09-09 14:42:18 +02:00
Joachim Bauch adce45162e
Default to proxy url type "static" if none is configured. 2020-09-07 17:07:48 +02:00
Joachim Bauch 5206490fef
Change log message if session was resumed. 2020-09-07 09:12:32 +02:00
Joachim Bauch 73903315a9
Handle "bye" proxy messages. 2020-09-07 08:56:17 +02:00
Joachim Bauch dcf533b8f1
Add support for fetching proxy URLs from etcd cluster. 2020-08-31 17:24:04 +02:00
Joachim Bauch 804e558e96
Switch to builtin "context" package now that we can assume Go 1.7 2020-08-31 13:58:28 +02:00
Joachim Bauch 116188c3e3
Reload list of proxy URLs on SIGHUP. 2020-08-31 13:07:03 +02:00
Joachim Bauch ea74a54d11
Select proxy based on country of publisher (if known).
The connections that have been sorted by load are also sorted by country
of publisher and continent of publisher, e.g. for worldwide proxies, the
ones closest to the publisher will be preferred.
2020-08-13 13:17:09 +02:00
Joachim Bauch d9d11b58e1
Shutdown a proxy gracefully on SIGUSR1.
No new publishers will be created by the proxy, existing publishers can
still be subscribed. After all clients have disconnected, the process
will terminate.
2020-08-13 13:17:09 +02:00
Joachim Bauch 4446b07951
Add MCU type "proxy" that delegates to one or multiple MCU proxies. 2020-08-13 13:17:06 +02:00