SubscriptionManager
class SubscriptionManager<S extends SubscriptionConstructable> implements Manager
Orquestra todas as subscriptions, garantindo dados atualizados sem buscas excessivas.
SubscriptionManager implementa Manager
constructor(Subscription: S)
Subscription é a classe usada para gerenciar as subscriptions de cada endpoint. Cada instância representa uma subscription a um endpoint único específico.
Actions consumidas
- 'rdc/subscribe'
- 'rdc/unsubscribe'
Subscription
Subscription é uma classe que implementa SubscriptionConstructable. As instâncias de Subscription
gerenciam as subscriptions de fato.
/** Interface handling a single resource subscription */
interface Subscription {
add(frequency?: number): void;
remove(frequency?: number): boolean;
cleanup(): void;
}
/** The static class that constructs Subscription */
export interface SubscriptionConstructable {
new (
action: Omit<SubscribeAction, 'type'>,
controller: Controller,
): Subscription;
}
add(frequency?: number): void
Adiciona uma nova subscription ao recurso na frequência informada.
remove(frequency?: number): boolean
Remove uma subscription para a frequência informada. Retorna true se não restarem
mais subscriptions depois disso. Isso é usado para limpar Subscriptions sem uso.
cleanup(): void
Realiza a limpeza de quaisquer recursos pendentes depois que a Subscription deixa de ser usada.
Implementação incluída
Você pode implementar sua própria Subscription para lidar com websockets
despachando actions rdc/set com os dados que ela recebe para atualizar.
Certifique-se de abrir a conexão no constructor e fechá-la
em cleanup()