DiggidyDave commented on issue #9190: [SIP-39] Global Async Query Support
URL: 
https://github.com/apache/incubator-superset/issues/9190#issuecomment-596877134
 
 
   Interesting, I'm not actually sure about that, I'd have to dig into it. :-/ 
The main thing I think we care about is _any_ client-side interface between the 
business logic and raw native websockets, to reserve that option to swap out 
the impl with a short-polling approach.  (socket.io is just a super popular 
wrapper that happens to have the transport abstraction built-in, as is 
https://github.com/sockjs/sockjs-client and others)
   
   There are other options that are not coupled with a server architecture, 
like this one that is a small client-side wrapper: 
https://github.com/lukeed/sockette
   
   Or this one that is a promise-based wrapper (obvs, a polling impl could 
fulfill promises just as easily as far as client code is concerned): 
https://github.com/vitalets/websocket-as-promised
   
   Or anything else. As long as websockets are behind an interface of some kind 
there will be a path to unblock environments that can't use ws.
   
   Something as simple as this wrapping ws would be perfectly fine:
   ```
   abstract class ServerClientEventBus {
       abstract postMessage(...): void;
       abstract receiveMessage(...): void;
   }
   
   class WSSEventBus : extends ServerClientEventBus {
      // etc...
   }
   ```
   Anyway, I appreciate you looking at that.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to