コード例 #1
0
ファイル: Nfc.cs プロジェクト: melihercan/Xamarinme
        public override async void DidInvalidate(NFCNdefReaderSession session, NSError error)
        {
            System.Diagnostics.Debug.WriteLine($"========> DidInvalidate {error}");
            await DisableSessionAsync();

            if ((NFCReaderError)(long)error.Code == NFCReaderError.ReaderSessionInvalidationErrorSessionTimeout)
            {
                SessionTimeout?.Invoke(this, EventArgs.Empty);
            }
        }
コード例 #2
0
        protected void OnSessionTimeout(object ticks)
        {
            _watchdogTimer?.Change(-1, -1);

            lock (this)
            {
                var      startTicks  = ticks;
                TimeSpan elapsedTime = (startTicks != null) ? TimeSpan.FromTicks(DateTime.Now.Ticks - (long)startTicks) : TimeSpan.Zero;

                SessionTimeout?.Invoke(this, new SessionTimeoutEventArgs(elapsedTime));

                if (Phase != SessionPhase.Terminate)
                {
                    //OnSessionClosed("Sesión cerrada para restablecer sesión automáticamente.");
                    OnSessionStarted();
                    BeginHandshake();
                }
                else if (IsPortReady)
                {
                    ClosePort();
                    OnSessionClosed($"No se puedo enviar la petición de cierre de sesión a causa de Timeout. Tiempo sin comunicación {elapsedTime.TotalSeconds} segundos");
                }
            }
        }
コード例 #3
0
ファイル: Call.cs プロジェクト: pranaydevops28/clarizen
 protected virtual void OnSessionTimeout(EventArgs e)
 {
     SessionTimeout?.Invoke(this, e);
 }