Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const { Observable } = require('rxjs');
- var socketObservable;
- function socketErrorHandling(socket, proxy) {
- socketObservable = new Observable(observer => {
- socket.on('error', (err) => {
- console.log("[loadBalancer] Socket Error:", proxy.host, err);
- observer.next("socket_error");
- });
- socket.on('connect_timeout', () => {
- console.log("[loadBalancer] Socket connection timeout:", proxy.host);
- observer.next("socket_timeout");
- });
- socket.on('reconnect_error', (err) => {
- console.log("[loadBalancer] Socket reconnect error:", proxy.host, err);
- observer.next("socket_error");
- });
- socket.on('rate_limited', () => {
- console.log("[loadBalancer] Socket rate limited:", proxy.host);
- observer.next("rate_limited");
- });
- });
- }
- function emitToSocketAndAwaitResponse(socket, socketObservable, fullEndpoint, dataObj, watchedEvents) {
- return new Promise(function (resolve, reject) {
- let sub = socketObservable.subscribe(() => {});
- sub.unsubscribe()
- socket.emit(fullEndpoint, dataObj);
- socket.once(watchedEvents[0], (response) => { //Success;
- resolve(response);
- });
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement