1 |
- define(["./createTaskProcessorWorker","./when-515d5295","./RuntimeError-350acae3","./getStringFromTypedArray-53c2705d","./Event-9821f5d9","./Check-3aa71481"],(function(e,t,r,i,s,n){"use strict";var a,o=1,c=3;function f(e,r,i){this._url=e,this._maximumActiveTasks=t.e(i.maximumActiveTasks,100),this._activeTasks=0,this._deferreds={},this._nextID=0,this._event=r,this._enableHeartCheck=t.e(i.enableHeartCheck,!1),this._heartTimeOut=t.e(i.heartTimeOut,1e4),this._createWS(r)}function h(e,r,i,s){var n;return-1!==r.indexOf("extratiles=")?(s.extratiles=!0,n={id:e,binaryType:t.e(i,"blob"),tileName:r.substring(0,r.indexOf("?")),extraTiles:r.substring(r.indexOf("extratiles=")+11)}):(s.extratiles=!1,n={id:e,binaryType:t.e(i,"blob"),tileName:r}),JSON.stringify(n)}return f.prototype.scheduleTask=function(e,r){var i=this;if(!this.isOpened()){var s=t.c.defer();return this._event.addEventListener((function(t){if(t===o){++i._activeTasks;var n=i,a=n._nextID++;n._deferreds[a]=s,s.binaryType=r;var c=h(a,e,r,s);n._ws.send(c)}})),s.promise}if(!(this._activeTasks>=this._maximumActiveTasks)){++this._activeTasks;var n=this,a=n._nextID++;s=t.c.defer();n._deferreds[a]=s,s.binaryType=r;var c=h(a,e,r,s);return n._ws.send(c),s.promise}},f.prototype._createWS=function(e){this._ws=new WebSocket(this._url),this._ws.binaryType="arraybuffer";var s=this;this._ws.onopen=function(){e.raiseEvent(o)},this._ws.onclose=function(){e.raiseEvent(c)},this._ws.onerror=function(){error=new r.t("open failure"),e.raiseEvent(error)},this._ws.onmessage=function(e){!function(e,r){if(r instanceof ArrayBuffer){--e._activeTasks;var s=new DataView(r).getInt32(0,!0);if(!t.t(s))return;var n=e._deferreds,a=n[s];if(t.t(a)){if("blob"===a.binaryType)4===r.byteLength?a.reject(404):a.resolve(new Blob([r.slice(4,r.byteLength)]));else if("arraybuffer"===a.binaryType)if(4===r.byteLength)a.reject(404);else{var o=r.slice(4,r.byteLength);a.extratiles?a.progress(o):a.resolve(o)}else{r=r.slice(4,r.byteLength);var c=new Uint8Array(r),f=i.c(c);if("json"===a.binaryType){var h=JSON.parse(f);a.resolve(h)}else a.resolve(f)}!0!==a.extratiles&&delete n[s]}}}(s,e.data)}},f.prototype.isOpened=function(){return this._ws&&this._ws.readyState===o},f.prototype.close=function(){this._ws.close()},e((function(e,r){var i=e.data;if("init"==i)return a=new f(e.scpUrl,new s.o,{}),!0;var n=t.c.defer(),o=e.dataType;if(t.t(a)){var c=a.scheduleTask(i,o);if(!t.t(c))return c;c.then((function(e){n.resolve(e)})).otherwise((function(e){n.reject(e)}))}return n.promise}))}));
|