UNPKG

3.49 kBSource Map (JSON)View Raw
1{"version":3,"file":"ccp.js","sourceRoot":"","sources":["ccp.ts"],"names":[],"mappings":";;AAAA,uCAAsD;AACtD,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;AAC/B,qEAA4D;AAG5D,uDAMyB;AAEzB,MAAqB,aAAa;IAGhC,YAAa,IAAqB;QAChC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,2BAAgB,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,MAAM,CACV,IAAY,EACZ,aAAqB,EACrB,EAAE,YAAY,EAAgC;QAE9C,QAAQ,YAAY,CAAC,WAAW,EAAE;YAChC,KAAK,0CAAuB;gBAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;YACrD,KAAK,yCAAsB;gBACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;YACpD;gBACE,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA;SACvF;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAE,IAAY,EAAE,aAAqB;QAC3D,MAAM,YAAY,GAAG,oDAAiC,CAAC,IAAI,CAAC,CAAA;QAC5D,GAAG,CAAC,KAAK,CAAC,4EAA4E,EAAE,aAAa,EAAE,YAAY,CAAC,uBAAuB,EAAE,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAE1M,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;QAErE,OAAO,uCAAoB,EAAE,CAAA;IAC/B,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAE,IAAY,EAAE,aAAqB;QAC1D,MAAM,WAAW,GAAG,mDAAgC,CAAC,IAAI,CAAC,CAAA;QAC1D,GAAG,CAAC,KAAK,CAAC,+GAA+G,EAAE,aAAa,EAAE,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,iBAAiB,EAAE,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;QAErT,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;QAEnE,OAAO,uCAAoB,EAAE,CAAA;IAC/B,CAAC;CACF;AAvCD,gCAuCC","sourcesContent":["import { create as createLogger } from '../common/log'\nconst log = createLogger('ccp')\nimport RouteBroadcaster from '../services/route-broadcaster'\nimport reduct = require('reduct')\nimport { IlpPrepare } from 'ilp-packet'\nimport {\n CCP_CONTROL_DESTINATION,\n CCP_UPDATE_DESTINATION,\n deserializeCcpRouteUpdateRequest,\n deserializeCcpRouteControlRequest,\n serializeCcpResponse\n} from 'ilp-protocol-ccp'\n\nexport default class CcpController {\n protected routeBroadcaster: RouteBroadcaster\n\n constructor (deps: reduct.Injector) {\n this.routeBroadcaster = deps(RouteBroadcaster)\n }\n\n async handle (\n data: Buffer,\n sourceAccount: string,\n { parsedPacket }: { parsedPacket: IlpPrepare }\n ) {\n switch (parsedPacket.destination) {\n case CCP_CONTROL_DESTINATION:\n return this.handleRouteControl(data, sourceAccount)\n case CCP_UPDATE_DESTINATION:\n return this.handleRouteUpdate(data, sourceAccount)\n default:\n throw new Error('unrecognized ccp message. destination=' + parsedPacket.destination)\n }\n }\n\n async handleRouteControl (data: Buffer, sourceAccount: string) {\n const routeControl = deserializeCcpRouteControlRequest(data)\n log.trace('received route control message. sender=%s, tableId=%s epoch=%s features=%s', sourceAccount, routeControl.lastKnownRoutingTableId, routeControl.lastKnownEpoch, routeControl.features.join(','))\n\n this.routeBroadcaster.handleRouteControl(sourceAccount, routeControl)\n\n return serializeCcpResponse()\n }\n\n async handleRouteUpdate (data: Buffer, sourceAccount: string) {\n const routeUpdate = deserializeCcpRouteUpdateRequest(data)\n log.trace('received routes. sender=%s speaker=%s currentEpoch=%s fromEpoch=%s toEpoch=%s newRoutes=%s withdrawnRoutes=%s', sourceAccount, routeUpdate.speaker, routeUpdate.currentEpochIndex, routeUpdate.fromEpochIndex, routeUpdate.toEpochIndex, routeUpdate.newRoutes.length, routeUpdate.withdrawnRoutes.length)\n\n this.routeBroadcaster.handleRouteUpdate(sourceAccount, routeUpdate)\n\n return serializeCcpResponse()\n }\n}\n"]}
\No newline at end of file