Пример #1
0
        public bool sendMeta(IClientSession session, IMutableMessage message)
        {
            if (Channel_Fields.META_HANDSHAKE.Equals(message.Channel))
            {
                message.getExt(true)[EXT_FIELD] = true;
                _ackId = -1;
            }
            else if (_serverSupportsAcks && Channel_Fields.META_CONNECT.Equals(message.Channel))
            {
                message.getExt(true)[EXT_FIELD] = _ackId;
            }

            return(true);
        }
Пример #2
0
        public bool sendMeta(IClientSession session, IMutableMessage message)
        {
            if (Channel_Fields.META_HANDSHAKE.Equals(message.Channel))
            {
                message.getExt(true)[EXT_FIELD] = true;
                _ackId = -1;
            }
            else if (_serverSupportsAcks && Channel_Fields.META_CONNECT.Equals(message.Channel))
            {
                message.getExt(true)[EXT_FIELD] = _ackId;
            }

            return true;
        }
        public bool rcvMeta(IClientSession session, IMutableMessage message)
        {
            Dictionary<String, Object> ext = (Dictionary<String, Object>)message.getExt(false);
            if (ext != null)
            {
                Dictionary<String, Object> sync = (Dictionary<String, Object>)ext["timesync"];
                if (sync != null)
                {
                    long now = (System.DateTime.Now.Ticks - 621355968000000000) / 10000;

                    long tc = ObjectConverter.ToInt64(sync["tc"], 0);
                    long ts = ObjectConverter.ToInt64(sync["ts"], 0);
                    int p = ObjectConverter.ToInt32(sync["p"], 0);
                    // final int a=((Number)sync.get("a")).intValue();

                    int l2 = (int)((now - tc - p) / 2);
                    int o2 = (int)(ts - tc - l2);

                    _lag = _lag == 0 ? l2 : (_lag + l2) / 2;
                    _offset = _offset == 0 ? o2 : (_offset + o2) / 2;
                }
            }

            return true;
        }
Пример #4
0
        public bool rcvMeta(IClientSession session, IMutableMessage message)
        {
            Dictionary <String, Object> ext = (Dictionary <String, Object>)message.getExt(false);

            if (ext != null)
            {
                Dictionary <String, Object> sync = (Dictionary <String, Object>)ext["timesync"];
                if (sync != null)
                {
                    long now = (System.DateTime.Now.Ticks - 621355968000000000) / 10000;

                    long tc = ObjectConverter.ToInt64(sync["tc"], 0);
                    long ts = ObjectConverter.ToInt64(sync["ts"], 0);
                    int  p  = ObjectConverter.ToInt32(sync["p"], 0);
                    // final int a=((Number)sync.get("a")).intValue();

                    int l2 = (int)((now - tc - p) / 2);
                    int o2 = (int)(ts - tc - l2);

                    _lag    = _lag == 0 ? l2 : (_lag + l2) / 2;
                    _offset = _offset == 0 ? o2 : (_offset + o2) / 2;
                }
            }

            return(true);
        }
 public bool sendMeta(IClientSession session, IMutableMessage message)
 {
     Dictionary<String, Object> ext = (Dictionary<String, Object>)message.getExt(true);
     long now = (System.DateTime.Now.Ticks - 621355968000000000) / 10000;
     // Changed JSON.Literal to String
     String timesync = "{\"tc\":" + now + ",\"l\":" + _lag + ",\"o\":" + _offset + "}";
     ext["timesync"] = timesync;
     return true;
 }
Пример #6
0
        public bool sendMeta(IClientSession session, IMutableMessage message)
        {
            Dictionary <String, Object> ext = (Dictionary <String, Object>)message.getExt(true);
            long now = (System.DateTime.Now.Ticks - 621355968000000000) / 10000;
            // Changed JSON.Literal to String
            String timesync = "{\"tc\":" + now + ",\"l\":" + _lag + ",\"o\":" + _offset + "}";

            ext["timesync"] = timesync;
            return(true);
        }
Пример #7
0
        public bool rcvMeta(IClientSession session, IMutableMessage message)
        {
            if (Channel_Fields.META_HANDSHAKE.Equals(message.Channel))
            {
                Dictionary <String, Object> ext = (Dictionary <String, Object>)message.getExt(false);
                _serverSupportsAcks = ext != null && true.Equals(ext[EXT_FIELD]);
            }
            else if (_serverSupportsAcks && true.Equals(message[Message_Fields.SUCCESSFUL_FIELD]) && Channel_Fields.META_CONNECT.Equals(message.Channel))
            {
                Dictionary <String, Object> ext = (Dictionary <String, Object>)message.getExt(false);
                if (ext != null)
                {
                    Object ack;
                    ext.TryGetValue(EXT_FIELD, out ack);
                    _ackId = ObjectConverter.ToInt32(ack, _ackId);
                }
            }

            return(true);
        }
Пример #8
0
        public bool rcvMeta(IClientSession session, IMutableMessage message)
        {
            if (Channel_Fields.META_HANDSHAKE.Equals(message.Channel))
            {
                Dictionary<String, Object> ext = (Dictionary<String, Object>)message.getExt(false);
                _serverSupportsAcks = ext != null && true.Equals(ext[EXT_FIELD]);
            }
            else if (_serverSupportsAcks && true.Equals(message[Message_Fields.SUCCESSFUL_FIELD]) && Channel_Fields.META_CONNECT.Equals(message.Channel))
            {
                Dictionary<String, Object> ext = (Dictionary<String, Object>)message.getExt(false);
                if (ext != null)
                {
                    Object ack;
                    ext.TryGetValue(EXT_FIELD, out ack);
                    _ackId = ObjectConverter.ToInt32(ack, _ackId);
                }
            }

            return true;
        }