UNPKG

eureca.io

Version:

Nodejs transparent bidirectional remote procedure call (RPC) supporting multiple transports : WebRTC, Websocket, engine.io, faye ...etc

48 lines (41 loc) 1.4 kB
/// <reference path="ISocket.interface.ts" /> /// <reference path="IServer.interface.ts" /> /** @ignore */ module Eureca { // Class export class Transport { private static transports: any = {}; static register( name, clientScript:string, createClient: (uri: string, options?: any) => ISocket, createServer: (hook: any, options?: any) => IServer, defaultSerializer : (data:any) => any, defaultDeserializer : (data:any) => any ):boolean { if (this.transports[name] !== undefined) return false; this.transports[name] = { createClient: createClient, createServer: createServer, script:clientScript, serialize:defaultSerializer, deserialize:defaultDeserializer } } static get (name) { if (name != 'webrtc') { //console.log('* using primus:' + name); //settings.transport = 'primus'; return this.transports['primus']; } else { //console.log('* using ' + name); return this.transports[name]; } } } }