public override void DisconnectClient(IClient cl, DisconnectReason reason, string message = "") { var msg = new SvDisconnect { Message = message, Reason = reason }; if (SendTo(cl.Id, msg)) // in case of failure, SendTo calls OnClientConnectionReset { var scl = clients[cl.Id]; DisconnectClient(scl); } }
public void SaveLoadSvDisconnect() { // arrange const string refMessage = "Server will be available again in 5 min"; const DisconnectReason refReason = DisconnectReason.Shutdown; var msg = new SvDisconnect { Message = refMessage, Reason = refReason, }; // act MultiprotocolSaveLoad(msg, () => { // assert Assert.AreEqual(msg.Message, refMessage); Assert.AreEqual(msg.Reason, refReason); }); }
private void OnDisconnect(SvDisconnect msg) { string info; switch (msg.Reason) { case DisconnectReason.Shutdown: info = "server shutdown"; break; case DisconnectReason.Banned: info = "banned"; break; default: info = "unknown"; break; } var infoEx = msg.Message == "" ? "" : String.Format(" <{0}>", msg.Message); Root.Log(LogLevel.Info, "Client: disconnect received: {0}{1}", info, infoEx); disconnectReceived = true; Disconnect(); }