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);
}
}
}
}