Joachim Bauch
602452fa25
Support resuming sessions that exist on a different Hub in the cluster.
2024-04-23 11:52:43 +02:00
Joachim Bauch
9adb762ccf
Close file watcher on shutdown to prevent goroutine leaks.
2024-04-23 10:53:28 +02:00
Joachim Bauch
bf68a15943
Make sure "clientsMap" is updated so all clients are closed on shutdown.
2024-04-23 10:37:15 +02:00
Joachim Bauch
d0d68f0d21
Include previous value with etcd watch events.
2024-04-15 11:57:52 +02:00
Joachim Bauch
26102e7acb
Backoff when retrying watch.
2024-04-15 08:37:52 +02:00
Joachim Bauch
88a575c36c
Cancel GRPC self-check if client is closed.
2024-04-15 08:37:52 +02:00
Joachim Bauch
fdab3db819
Update etcd watch handling.
...
- Properly cancel watch if object is closed.
- Retry watch if interupted.
- Pass revision to watch to not miss changes.
2024-04-15 08:37:52 +02:00
Joachim Bauch
9ba5b4330a
Switch to "grpc.NewClient" from deprecated "grpc.Dial".
2024-04-08 11:50:15 +02:00
Joachim Bauch
bde0b08eb1
Reuse backoff waiting code in etcd clients.
2024-02-27 16:27:17 +01:00
Joachim Bauch
7d09c71ab9
Strongly type "StreamType".
2024-02-27 15:20:14 +01:00
Joachim Bauch
b1c78f6e9d
Use DNS monitor from static GRPC clients configuration.
2024-01-30 17:03:45 +01:00
Joachim Bauch
c134883138
Switch to atomic types from Go 1.19
2023-10-30 09:32:46 +01:00
Joachim Bauch
fd29f83454
Use "struct{}" channel if only used as signaling mechanism.
2023-06-15 11:30:28 +02:00
Joachim Bauch
deaa17acc5
Implement per-backend session limit for clusters.
2022-07-13 11:52:20 +02:00
Joachim Bauch
95d5e50705
Disconnect sessions with the same room session id synchronously.
...
Previously there was a difference in the events being received by other
sessions for the clustered case compared to the single-server case.
Now the events / ordering are the same for both cases.
2022-07-11 10:39:06 +02:00
Joachim Bauch
40e1b208c0
etcd: Fix race in initialized event.
...
It could happen that the initialized event was triggered even though the
watch was not fully created yet.
2022-07-08 10:56:36 +02:00
Joachim Bauch
b2da4002a4
grpc: Reload certificate if file has changed and support mutual authentication.
2022-07-04 11:05:21 +02:00
Joachim Bauch
44bf8b74c2
grpc: Make sure DNS discovery of clients continues if initial lookup failed.
2022-07-01 11:42:49 +02:00
Joachim Bauch
15dabeee1e
grpc: Check clients for own server id asychronously.
...
The external address of the (own) GRPC server might only be reachable after
some time, so performing the check only initially could fail but will
succeed later.
2022-07-01 10:22:16 +02:00
Joachim Bauch
01858a89f4
grpc: Enable DNS discovery for GRPC clients.
2022-06-30 11:35:35 +02:00
Joachim Bauch
20cc51c2fe
grpc: Automatically detect if a target is the current server itself.
...
This allows configuring the same list of targets for all instances without
having to setup the "own" address differently for each server.
2022-06-30 11:35:35 +02:00
Joachim Bauch
25dabf910d
Allow configuring GRPC targets through etcd.
2022-06-30 11:35:32 +02:00
Joachim Bauch
b6e419f18a
Add metrics for GRPC calls.
2022-06-30 11:35:31 +02:00
Joachim Bauch
b315c09a3b
Allow configuring GRPC transport credentials.
2022-06-30 11:35:30 +02:00
Joachim Bauch
a0d3af14e0
Add initial clustering support.
2022-06-30 11:35:28 +02:00