using System.Collections.Generic; namespace FSO.SimAntics.NetPlay.Model { /// /// Internal client repesentation for VMServerDriver. Keeps some state and thread safe message queuing. /// public class VMNetClient { public uint PersistID; public string RemoteIP; public VMNetAvatarPersistState AvatarState; //initial... obviously this can change while the lot is running. public bool HadAvatar; public int InactivityTicks; public object NetHandle; public string FatalDCMessage; private Queue Messages = new Queue(); internal Queue GetMessages() { lock (this) { var last = Messages; Messages = new Queue(); return last; } } internal void SubmitMessage(VMNetMessage msg) { lock (this) { Messages.Enqueue(msg); } } } }