public void CleanClose(string reason, bool reconnect) { if (State == TcpState.Connecting) { ByeMessage = reason; } if (State == TcpState.Connected) { ByeMessage = reason; Bye bye = new Bye(); bye.SenderID = Network.Local.UserID; bye.ContactList = Network.Routing.Find(UserID, 8); bye.Message = reason; bye.Reconnect = reconnect; SendPacket(bye); Network.UpdateLog("Tcp", "Closing connection to " + ToString() + " " + reason); } State = TcpState.Closed; }
public void PersonCame(Person person, DateTime time) { if (greet != null) { greet(person, time); } Hello greetByPerson = new Hello(person.Greatings); greet += greetByPerson; Bye byeByPerson = new Bye(person.Goodbye); bye += byeByPerson; Console.WriteLine($"{person.PersonName} came!"); }
public void ReadWriteManuallySerMsgs() { var a = new Bye { Priority = Priority.High }; var b = new Ping { Priority = Priority.High }; var c = new Pong { Priority = Priority.High }; var d = new Bye { Priority = Priority.Normal }; var e = new Ping { Priority = Priority.Normal }; var f = new Pong { Priority = Priority.Normal }; var ms = new MemoryStream(); _sh.ManuallySerialize(ms, a); _sh.ManuallySerialize(ms, b); _sh.ManuallySerialize(ms, c); _sh.ManuallySerialize(ms, d); _sh.ManuallySerialize(ms, e); _sh.ManuallySerialize(ms, f); ms.Seek(0, SeekOrigin.Begin); var ads = _sh.ManuallyDeserialize(ms); var bds = _sh.ManuallyDeserialize(ms); var cds = _sh.ManuallyDeserialize(ms); var dds = _sh.ManuallyDeserialize(ms); var eds = _sh.ManuallyDeserialize(ms); var fds = _sh.ManuallyDeserialize(ms); Assert.IsInstanceOfType(ads, typeof(Bye)); Assert.IsInstanceOfType(bds, typeof(Ping)); Assert.IsInstanceOfType(cds, typeof(Pong)); Assert.IsInstanceOfType(dds, typeof(Bye)); Assert.IsInstanceOfType(eds, typeof(Ping)); Assert.IsInstanceOfType(fds, typeof(Pong)); Assert.AreEqual(Priority.High, ((Message)ads).Priority); Assert.AreEqual(Priority.High, ((Message)bds).Priority); Assert.AreEqual(Priority.High, ((Message)cds).Priority); Assert.AreEqual(Priority.Normal, ((Message)dds).Priority); Assert.AreEqual(Priority.Normal, ((Message)eds).Priority); Assert.AreEqual(Priority.Normal, ((Message)fds).Priority); }
public void PersonGone(Person person) { Hello greetByPerson = new Hello(person.Greatings); greet = greetByPerson; person.Came -= PersonCame; Bye byeByPerson = new Bye(person.Goodbye); bye = byeByPerson; if (bye != null) { bye(person); } person.Gone -= PersonGone; Console.WriteLine($"{person.PersonName} gone!"); }
public static void Options() { mainMenu.size(); Console.Title = "Main menu"; makeASCII(); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(" Welcome " + Environment.UserName); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(""); Console.WriteLine("Choose one of the following options :"); Console.WriteLine(); Console.Write(" ["); Console.ForegroundColor = ConsoleColor.Red; Console.Write("1"); Console.ForegroundColor = ConsoleColor.White; Console.Write("] Word Guesser"); Console.WriteLine(""); Console.Write(" ["); Console.ForegroundColor = ConsoleColor.Red; Console.Write("2"); Console.ForegroundColor = ConsoleColor.White; Console.Write("] Exit"); Console.WriteLine(""); Console.WriteLine(""); Console.Write(" > "); int chooser = int.Parse(Console.ReadLine()); switch (chooser) { case 1: Console.Clear(); WordGuesser.guesserGame(); break; case 2: Console.Clear(); Bye.quit(); break; default: break; } }
public void DetermineApproprateSerialization() { var a = new Bye(); var b = new Ping(); var c = new Pong(); var d = new DummyMessage(); var e = new DummyProtoMessage(); var at = _sh.DetermineApproprateSerialization(a); var bt = _sh.DetermineApproprateSerialization(b); var ct = _sh.DetermineApproprateSerialization(c); var dt = _sh.DetermineApproprateSerialization(d); var et = _sh.DetermineApproprateSerialization(e); Assert.AreEqual(SerializationType.Manual, at); Assert.AreEqual(SerializationType.Manual, bt); Assert.AreEqual(SerializationType.Manual, ct); Assert.AreEqual(SerializationType.Binary, dt); Assert.AreEqual(SerializationType.Protobuf, et); }
public void Receive_Bye(G2ReceivedPacket packet) { Bye bye = Bye.Decode(packet); foreach (DhtContact contact in bye.ContactList) { Network.Routing.Add(contact); } string message = (bye.Message != null) ? bye.Message : ""; packet.Tcp.ByeMessage = "Remote: " + message; Network.UpdateLog("Tcp", "Bye Received from " + packet.Tcp.ToString() + " " + message); // close connection packet.Tcp.Disconnect(); // reconnect if (bye.Reconnect && NeedProxies(ProxyType.Server)) { MakeOutbound(packet.Source, packet.Tcp.TcpPort, "Reconnecting"); } }
public void CleanClose(string reason, bool reconnect) { if (State == TcpState.Connecting) ByeMessage = reason; if (State == TcpState.Connected) { ByeMessage = reason; Bye bye = new Bye(); bye.SenderID = Network.Local.UserID; bye.ContactList = Network.Routing.Find(UserID, 8); bye.Message = reason; bye.Reconnect = reconnect; SendPacket(bye); Network.UpdateLog("Tcp", "Closing connection to " + ToString() + " " + reason); } State = TcpState.Closed; }