So I have a client that passes auth and other info via the withPayload: parameter of SocketIOClient.connect. When I get a .reconnectAttempt client event, I want to update this payload to a new value. I see SocketIOClient stores this payload as connectPayload and passes it again, but the property is internal.
Calling SocketIOClient.connect within the event handler seems possible but like it has side effects. Same with SocketIOClient.joinNamespace. As I'm already reconnecting, I worry that calling one of these can cause a race condition in SocketManager._tryReconnect since they will call SocketManager.connect() internally before it is called in SocketManager._tryReconnect. Maybe unfounded, but nonetheless shouldn't there be a public way to update this value?
I think I can get around it by subclassing but that seems heavy handed...
So I have a client that passes auth and other info via the
withPayload:parameter ofSocketIOClient.connect. When I get a.reconnectAttemptclient event, I want to update this payload to a new value. I seeSocketIOClientstores this payload asconnectPayloadand passes it again, but the property is internal.Calling
SocketIOClient.connectwithin the event handler seems possible but like it has side effects. Same withSocketIOClient.joinNamespace. As I'm already reconnecting, I worry that calling one of these can cause a race condition inSocketManager._tryReconnectsince they will callSocketManager.connect()internally before it is called inSocketManager._tryReconnect. Maybe unfounded, but nonetheless shouldn't there be a public way to update this value?I think I can get around it by subclassing but that seems heavy handed...