initSocket method

void initSocket({
  1. required SocketData socketData,
  2. required TokenData tokenData,
  3. required User user,
  4. required Config config,
  5. required dynamic eventCallback(
    1. Map<String, dynamic>
    ),
})

Implementation

void initSocket(
    {required SocketData socketData,
    required TokenData tokenData,
    required User user,
    required Config config,
    required Function(Map<String, dynamic>) eventCallback}) {
  Logs.debug("//////////////////// initSocket //////////////////");
  this.tokenData = tokenData;
  this.user = user;
  this.config = config;
  socket = io(
      socketData.server,
      OptionBuilder()
          .setTransports(['websocket', 'pooling'])
          .disableAutoConnect()
          .setPath(socketData.socketPath!)
          .setQuery({
            "id": user.participantId,
            "queue": tokenData.queue,
            "role": 'customer',
            "appId": tokenData.id,
            "token": tokenData.socketToken,
            "page": tokenData.page,
            "title": tokenData.title
          })
          .build());
  socket.connect();
  socket.onConnect((_) {
    Logs.debug('Connection established');
    eventListener(callback: eventCallback);
  });
  socket.onDisconnect((_) => Logs.debug('Connection Disconnection'));
  socket.onConnectError((err) => Logs.debug(err));
  socket.onError((err) => Logs.debug(err));
}