Esempio n. 1
0
        public SynGetted Get(long lastIndex)
        {
            SynGetted getted = new SynGetted();

            getted.Index = lastIndex;

            LockDicObj.EnterReadLock();

            try
            {
                if (Data.Count != 0)
                {
                    getted.Index   = Data.Keys.Max();
                    getted.SynData = (from d in Data where d.Key > lastIndex select d.Value.SynData).ToArray();
                }
            }
            catch (Exception ex)
            {
                LogProxy.Error(ex, false);
            }
            finally
            {
                LockDicObj.ExitReadLock();
            }

            return(getted);
        }
Esempio n. 2
0
        private static void GetCallbackMethod(object obj)
        {
            if (IsGetting)
            {
                return;
            }

            lock (LockGetObj)
            {
                if (IsGetting)
                {
                    return;
                }

                IsGetting = true;
            }

            ISynData[] synData;
            try
            {
                SynGetted getted = SynServerService.Get(CurrentIndex);
                if (getted == null)
                {
                    return;
                }

                CurrentIndex = getted.Index;
                synData      = getted.SynData;
                if (synData == null || synData.Length == 0)
                {
                    string appId = SynServerService.CurrentAppId;
                    if (!string.Equals(appId, SynServerAppId, StringComparison.OrdinalIgnoreCase))
                    {
                        CurrentIndex   = -1;
                        SynServerAppId = appId;
                    }

                    return;
                }
            }
            catch (Exception ex)
            {
                LogProxy.Error(ex, false);
                return;
            }
            finally
            {
                IsGetting = false;
            }

            Getted(synData);
        }