SIPSorcery.Servers.SIPRegistrarBindingsManager.GetNextExpiredBinding C# (CSharp) 메소드

GetNextExpiredBinding() 개인적인 메소드

private GetNextExpiredBinding ( DateTimeOffset expiryTime ) : SIPRegistrarBinding
expiryTime DateTimeOffset
리턴 SIPSorcery.SIP.App.SIPRegistrarBinding
        private SIPRegistrarBinding GetNextExpiredBinding(DateTimeOffset expiryTime)
        {
            using (var trans = new TransactionScope())
            {
                SIPRegistrarBinding binding = m_bindingsPersistor.Get(b => b.ExpiryTime < expiryTime);

                if (binding != null)
                {
                    if (binding.ExpiryTime < DateTimeOffset.UtcNow.AddSeconds(BINDING_EXPIRY_GRACE_PERIOD * -1))
                    {
                        m_bindingsPersistor.Delete(binding);
                    }
                    else
                    {
                        logger.Warn("A binding returned from the database as expired wasn't. " + binding.SIPAccountName + " and " + binding.MangledContactURI + ", last register " +
                                binding.LastUpdate.ToString("HH:mm:ss") + ", expiry " + binding.Expiry + ", expiry time " + binding.ExpiryTime.ToString("HH:mm:ss") +
                                ", checkedtime " + expiryTime.ToString("HH:mm:ss") + ", now " + DateTimeOffset.UtcNow.ToString("HH:mm:ss") + ".");

                        binding = null;
                    }
                }

                trans.Complete();

                return binding;
            }
        }