add method

dynamic add(
  1. ChalonaSocketIO ws
)

Implementation

add(ChalonaSocketIO ws) {
  // cuando se recibe la subscripcion se agrega el cliente al pool
  // deacuerdo al canal al que se subscribe
  ws.on(ChalonaSocketIOChannel.channelSubscription.value, (x) {
    var channel = x['channel'];

    // configura el canal de subscripcion en la conexion
    ws._channels[channel] ??= ChalonaEvent(name: channel);
    ws._channels[channel]?.add((m) {
      ws.emit(channel, m);
    });

    // agrega el cliente al pool de acuerdo al canal al que se subscribe
    _pool[channel] ??= {};
    _pool[channel]![ws.hashCode] = ws;
  });

  ws.onClose((x) {
    remove(ws);
    console.info('Cliente WebSocket desconectado');
  });
}