IsUpdateOrEqual() публичный Метод

public IsUpdateOrEqual ( Origin o ) : bool
o Origin
Результат bool
Пример #1
0
        internal void OnSessionDelete(NetworkInterfaceHandler interfaceHandler, Origin origin)
        {
            lock (_sessionData)
            {
                SdpSession          session             = new SdpSession(origin, interfaceHandler.NetworkInterface);
                SessionData         sessionData         = null;
                SessionAnnouncement sessionAnnouncement = null;
                if (_sessionData.TryGetValue(session, out sessionData))
                {
                    sessionAnnouncement = sessionData.Session;
                }

                if (sessionData != null)
                {
                    if (origin.IsUpdateOrEqual(sessionAnnouncement.SessionDescription.Origin))
                    {
                        sessionData.Timer.Dispose();
                        _sessionData.Remove(session);
                        _announcements.Remove(sessionData.Id);
                        SynchronizationContextPost(o =>
                        {
                            lock (Sessions)
                            {
                                Sessions.Remove(sessionData.Session);
                            }
                        });
                    }
                }
            }
        }
Пример #2
0
        internal void OnSessionDelete(NetworkInterfaceHandler interfaceHandler, Origin origin)
        {
            lock (_sessionData)
            {
                SdpSession session = new SdpSession(origin, interfaceHandler.NetworkInterface);
                SessionData sessionData = null;
                SessionAnnouncement sessionAnnouncement = null;
                if (_sessionData.TryGetValue(session, out sessionData))
                {
                    sessionAnnouncement = sessionData.Session;
                }

                if (sessionData != null)
                {
                    if (origin.IsUpdateOrEqual(sessionAnnouncement.SessionDescription.Origin))
                    {
                        sessionData.Timer.Dispose();
                        _sessionData.Remove(session);
                        _announcements.Remove(sessionData.Id);
                        SynchronizationContextPost(o =>
                        {
                            lock (Sessions)
                            {
                                Sessions.Remove(sessionData.Session);
                            }
                        });
                    }
                }
            }
        }