public static string GetDescription(this SessionTerminationReason reason) { if ((int)reason > SessionTerminationReasonDescriptions.Length - 1) { return("<reason>"); } return(SessionTerminationReasonDescriptions[(int)reason]); }
internal void NotifySessionTermination(string initiatorName, ulong isid, SessionTerminationReason reason) { EventHandler <SessionTerminationArgs> handler = OnSessionTermination; if (handler != null) { SessionTerminationArgs args = new SessionTerminationArgs(initiatorName, isid, reason); handler(this, args); } }
public void RemoveSession(ISCSISession session, SessionTerminationReason reason) { lock (m_activeSessions) { int index = GetSessionIndex(session.InitiatorName, session.ISID, session.TSIH); if (index >= 0) { ISCSITarget target = m_activeSessions[index].Target; if (target != null) { target.NotifySessionTermination(session.InitiatorName, session.ISID, reason); } m_activeSessions.RemoveAt(index); } } }
public void Terminate(SessionTerminationReason reason, GameMessage message = null, ServerPacket packet = null, string extraReason = "") { // TODO: graceful SessionTerminationReason.AccountBooted handling if (packet != null) { Network.EnqueueSend(packet); } if (message != null) { Network.EnqueueSend(message); } PendingTermination = new SessionTerminationDetails() { ExtraReason = extraReason, Reason = reason }; }
public SessionTerminationArgs(string initiatorName, ulong isid, SessionTerminationReason reason) { InitiatorName = initiatorName; ISID = isid; Reason = reason; }