private void PlayerDropped([FromSource] Player player, string reason) { IRedisClient <string> client = pool.GetClient(); string[] handles = client.SMembers($"entities_{player.Handle}"); client.Pipeline(c => { foreach (string handle in handles) { client.SRem("entities", $"{player.Handle}_{handle}"); client.Del($"meta_{player.Handle}_{handle}"); } }); client.Del($"entities_{player.Handle}"); }
/// <summary> /// Unregister is an event sent from a client to let the server cleanup a tracked entity. /// </summary> /// <param name="player">the player</param> /// <param name="handle">the entity's handle</param> private void Unregister([FromSource] Player player, int handle) { IRedisClient <string> client = pool.GetClient(); client.Del($"meta_{player.Handle}_{handle}"); client.SRem($"entities_{player.Handle}", handle.ToString()); client.SRem($"entities", $"{player.Handle}_{handle}"); }
public Form1() { string json = ReadAllText("station.conf"); Program.myConf = JsonConvert.DeserializeObject <Conf>(json); if (Program.myConf != null) { csredis = new RedisClient(Program.myConf.serverMsg); if (csredis == null) { toolStripStatusLabel3.Text = "Cache No Connected"; } } string partesTemp = ReadAllText("lista.temp"); if (partesTemp != "{}\r\n") { partes = JsonConvert.DeserializeObject <List <string> >(partesTemp); } else { WriteAllText("", "lista.temp"); } if (partes != null) { foreach (string p in partes) { if (csredis != null) { csredis.Del(p); } } WriteAllText("", "lista.temp"); partes.Clear(); } else { partes = new List <string>(); } if (Program.myConf != null) { consumerFanOut = new ConsumerFanOut(Program.myConf.serverMsg, "stations", "s" + Program.myConf.nostattion); consumerFanOut.onMessageReceived += handleMessage; consumerFanOut.StartConsuming(); } InitializeComponent(); DBConnect.server = Program.myConf.serverMySQL; DBConnect.uid = Program.myConf.userMySQL; DBConnect.password = Program.myConf.passMySQL; DBConnect.database = Program.myConf.db; dBConnect = DBConnect.getInstance(); String sSQL = "SELECT * FROM " + Program.myConf.db + "." + Program.myConf.table + ";"; ll = dBConnect.SelectParte("SELECT * FROM " + Program.myConf.db + "." + Program.myConf.table + ";"); MaximizeBox = false; MinimizeBox = false; try { producer = new Producer(); } catch (Exception e) { toolStripStatusLabel1.Text = "Msg No Connected"; producer = null; } Program.myConf.mapSAP1.Clear(); foreach (Parte p in ll) { Program.myConf.mapSAP1.Add(p.nSAP, p); } mapSAP1 = Program.myConf.mapSAP1; this.myDelegate = new AddDataDelegate(setText); ThreadStart delegado = new ThreadStart(CorrerProceso); Thread hiloSession = new Thread(delegado); }