Пример #1
0
        private void GetProtocolInfoComplete(uint aAsyncHandle)
        {
            if (DateTime.Now >= iActionPollStopTime)
            {
                return;
            }
            iConnMgr.BeginGetProtocolInfo(GetProtocolInfoComplete);

            try
            {
                string source;
                string sink;
                iConnMgr.EndGetProtocolInfo(aAsyncHandle, out source, out sink);
                iActionCount++;
                if (sink == null && iExpectedSink != null)
                {
                    throw (new Exception());
                }
                else
                {
                    if (iExpectedSink == null)
                    {
                        iExpectedSink = sink;
                    }
                    else if (sink != iExpectedSink)
                    {
                        Console.Write("Expected " + iExpectedSink + "\n...got " + sink + "\n");
                    }
                }
            }
            catch (ProxyError) { }
        }
Пример #2
0
 private void PollInvoke()
 {
     iActionPollStop = new Semaphore(0, 1);
     System.Timers.Timer timer = new System.Timers.Timer();
     timer.Elapsed  += TimerElapsed;
     timer.AutoReset = false;
     for (int i = 0; i < iDeviceList.Count; i++)
     {
         CpDevice device      = iDeviceList[i];
         uint     countBefore = iActionCount;
         Console.Write("Device " + device.Udn());
         iConnMgr            = new CpProxyUpnpOrgConnectionManager1(device);
         iActionPollStopTime = DateTime.Now.AddMilliseconds(kDevicePollMs);
         timer.Interval      = kDevicePollMs;
         timer.Enabled       = false;
         timer.Enabled       = true;
         for (int j = 0; j < 4; j++)
         {
             iConnMgr.BeginGetProtocolInfo(GetProtocolInfoComplete);
         }
         iActionPollStop.WaitOne();
         Console.Write("    " + (iActionCount - countBefore) + "\n");
         iConnMgr.Dispose();
         iExpectedSink = null;
     }
 }