blob: 14904026286833b4eaef243d2b759bb5eaec0328 [file] [log] [blame]
dojo.provide("dojox.cometd.timesync");
dojo.require("dojox.cometd");
dojox.cometd.timesync= new function(){
this._lastOut=new Date().getTime();
this._lastIn=this._lastOut;
this._lastInterval=-1;
this._lastPoll=-1;
this._in=function(msg){
var channel=msg.channel;
if (channel=="/meta/handshake" || channel=="/meta/connect"){
this._lastIn=new Date().getTime();
this._lastPoll=this._lastIn-this._lastOut;
}
return msg;
}
this._out=function(msg){
var channel=msg.channel;
if (channel=="/meta/handshake" || channel=="/meta/connect"){
this._lastOut=new Date().getTime();
this._lastInterval=(this._lastOut-this._lastIn);
if (!msg.ext)
msg.ext={};
msg.ext.timesync={
ts: this._lastOut,
i: this._lastInterval
};
}
return msg;
}
};
dojox.cometd._extendInList.push(dojo.hitch(dojox.cometd.timesync,"_in"));
dojox.cometd._extendOutList.push(dojo.hitch(dojox.cometd.timesync,"_out"));