internal static ISession GetSession(ISessionIdMetaData sessionId) { if (_tcpServer == null || _tcpServer.SessionAcceptor == null || !_tcpServer.SessionAcceptor.Started) { return(null); } return(_tcpServer.SessionAcceptor.GetConnectedSession(sessionId)); }
public ISession GetConnectedSession(ISessionIdMetaData sessionId) { if (sessionId == null) { return(null); } _connectedSessionLock.EnterReadLock(); try { return(_connectedSessions.Values.FirstOrDefault(session => { return sessionId.Equals(session.SessionId); })); } finally { _connectedSessionLock.ExitReadLock(); } }
public bool Equals(ISessionIdMetaData other) { var otherUser = other as UserSessionIdMetaData; if (otherUser == null) { return(false); } if (object.ReferenceEquals(this, other)) { return(true); } if ((otherUser.Id == this.Id || string.Equals(otherUser.Account, this.Account, StringComparison.CurrentCultureIgnoreCase)) && otherUser.IsClient == this.IsClient) { return(true); } return(false); }