コード例 #1
0
ファイル: NetTransformDriver.cs プロジェクト: cdy816/mars
 /// <summary>
 ///
 /// </summary>
 private void RemoteDataudpatePro()
 {
     while (!mIsClosed)
     {
         if (WorkMode == NetTransformWorkMode.Push)
         {
             resetEvent.WaitOne();
             if (mIsClosed)
             {
                 break;
             }
             resetEvent.Reset();
             if (mCachDatas != null)
             {
                 int icount = mCachDatas.Count;
                 while (mCachDatas.Count > 0)
                 {
                     // ProcessSingleBufferData(mCachDatas.Dequeue());
                     ProcessBufferData(mCachDatas.Dequeue());
                 }
                 ValueUpdateEvent?.Invoke(this, null);
             }
         }
         else
         {
             DateTime stime = DateTime.Now;
             Client.SyncRealMemory(mSyncMemoryCach);
             double span      = (DateTime.Now - stime).TotalMilliseconds;
             int    sleeptime = span > PollCircle ? 1 : (int)(PollCircle - span);
             ValueUpdateEvent?.Invoke(this, null);
             Thread.Sleep(sleeptime);
         }
     }
 }
コード例 #2
0
ファイル: DatabaseRunner.cs プロジェクト: cdy816/mars
 private void MDriver_ValueUpdateEvent(object sender, EventArgs e)
 {
     ValueUpdateEvent?.Invoke(this, e);
 }