Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 15x 15x 44x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 15x 2x 15x 2x 15x 18x 15x 44x 44x 44x 44x 15x 1x | import { WebSocket } from './client'; import { WebSocketServer } from './server'; export const noop: () => void = (): void => { /** ignore */ }; export const OPCODE_TEXT: number = 1; export const OPCODE_PING: number = 9; export const OPCODE_BINARY: number = 2; export const APP_PING_CODE: Buffer = Buffer.from('9'); export const PERMESSAGE_DEFLATE: number = 1; export const SLIDING_DEFLATE_WINDOW: number = 16; export const DEFAULT_PAYLOAD_LIMIT: number = 16777216; export const native: any = ((): NodeRequire => { try { const [major, minor]: string[] = process.version.replace('v', '').split('.'); Iif (Number(major) === 13 && Number(minor) < 9) { // temporary fix for node 13.8 and lower return require(`../dist/bindings/cws_${process.platform}_${process.versions.modules}_8`); } return require(`../dist/bindings/cws_${process.platform}_${process.versions.modules}`); } catch (err) { err.message = err.message + ` check './node_modules/@clusterws/cws/build_log.txt' for post install build logs`; throw err; } })(); export function setupNative(group: any, type: string, wsServer?: WebSocketServer): void { native.setNoop(noop); native[type].group.onConnection(group, (external: any): void => { if (type === 'server' && wsServer) { const socket: WebSocket = new WebSocket(null, { external }); native.setUserData(external, socket); Iif (wsServer.upgradeCb) { wsServer.upgradeCb(socket); } else { wsServer.registeredEvents['connection'](socket, wsServer.upgradeReq); } wsServer.upgradeCb = null; wsServer.upgradeReq = null; return; } const webSocket: WebSocket = native.getUserData(external); (webSocket as any).external = external; webSocket.registeredEvents['open'](); }); native[type].group.onPing(group, (message: string | Buffer, webSocket: WebSocket): void => { webSocket.registeredEvents['ping'](message); }); native[type].group.onPong(group, (message: string | Buffer, webSocket: WebSocket): void => { webSocket.registeredEvents['pong'](message); }); native[type].group.onMessage(group, (message: string | Buffer, webSocket: WebSocket): void => { webSocket.registeredEvents['message'](message); }); native[type].group.onDisconnection(group, (newExternal: any, code: number, message: any, webSocket: WebSocket): void => { (webSocket as any).external = null; process.nextTick((): void => { webSocket.registeredEvents['close'](code || 1005, message || ''); }); native.clearUserData(newExternal); }); if (type === 'client') { native[type].group.onError(group, (webSocket: WebSocket): void => { process.nextTick((): void => { webSocket.registeredEvents['error']({ message: 'cWs client connection error', stack: 'cWs client connection error' }); }); }); } } |