[#5793] added subscriptions.Broker.TotalClients() method
This commit is contained in:
parent
f9a2d6c6ae
commit
755149c915
|
@ -9,6 +9,8 @@
|
||||||
- Change the behavior of the default generated collections snapshot migration to act as "extend" instead of "replace" to prevent accidental data deletion.
|
- Change the behavior of the default generated collections snapshot migration to act as "extend" instead of "replace" to prevent accidental data deletion.
|
||||||
_I think this would be rare but if you want the old behaviour you can edit the generated snapshot file and replace the second argument (`deleteMissing`) of `App.ImportCollection/App.ImportCollectionsByMarshaledJSON` from `false` to `true`._
|
_I think this would be rare but if you want the old behaviour you can edit the generated snapshot file and replace the second argument (`deleteMissing`) of `App.ImportCollection/App.ImportCollectionsByMarshaledJSON` from `false` to `true`._
|
||||||
|
|
||||||
|
- Added `app.SubscriptionsBroker().TotalClients()` helper method to return the total registered realtime clients ([#5793](https://github.com/pocketbase/pocketbase/issues/5793)).
|
||||||
|
|
||||||
|
|
||||||
## v0.23.0-rc9
|
## v0.23.0-rc9
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,11 @@ func (b *Broker) ChunkedClients(chunkSize int) [][]Client {
|
||||||
return list.ToChunks(b.store.Values(), chunkSize)
|
return list.ToChunks(b.store.Values(), chunkSize)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TotalClients returns the total number of registered clients.
|
||||||
|
func (b *Broker) TotalClients() int {
|
||||||
|
return b.store.Length()
|
||||||
|
}
|
||||||
|
|
||||||
// ClientById finds a registered client by its id.
|
// ClientById finds a registered client by its id.
|
||||||
//
|
//
|
||||||
// Returns non-nil error when client with clientId is not registered.
|
// Returns non-nil error when client with clientId is not registered.
|
||||||
|
|
|
@ -62,6 +62,21 @@ func TestChunkedClients(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestTotalClients(t *testing.T) {
|
||||||
|
b := subscriptions.NewBroker()
|
||||||
|
|
||||||
|
if total := b.TotalClients(); total != 0 {
|
||||||
|
t.Fatalf("Expected no clients, got %d", total)
|
||||||
|
}
|
||||||
|
|
||||||
|
b.Register(subscriptions.NewDefaultClient())
|
||||||
|
b.Register(subscriptions.NewDefaultClient())
|
||||||
|
|
||||||
|
if total := b.TotalClients(); total != 2 {
|
||||||
|
t.Fatalf("Expected %d clients, got %d", 2, total)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestClientById(t *testing.T) {
|
func TestClientById(t *testing.T) {
|
||||||
b := subscriptions.NewBroker()
|
b := subscriptions.NewBroker()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue