1
0
mirror of https://github.com/lidgren/lidgren-network-gen3.git synced 2026-05-19 00:26:30 +09:00

Added NetPeer.NetworkThreadName setter

This commit is contained in:
lidgren
2010-08-15 10:30:36 +00:00
parent d340cc58ef
commit d9281b586a

View File

@@ -31,7 +31,7 @@ namespace Lidgren.Network
[DebuggerDisplay("Status={m_status}")] [DebuggerDisplay("Status={m_status}")]
public partial class NetPeer public partial class NetPeer
{ {
private static int s_threadCount = 0; private static int s_peerCount = 0;
internal const int kMinPacketHeaderSize = 2; internal const int kMinPacketHeaderSize = 2;
internal const int kMaxPacketHeaderSize = 5; internal const int kMaxPacketHeaderSize = 5;
@@ -44,6 +44,7 @@ namespace Lidgren.Network
internal readonly NetPeerStatistics m_statistics; internal readonly NetPeerStatistics m_statistics;
private Thread m_networkThread; private Thread m_networkThread;
private string m_shutdownReason; private string m_shutdownReason;
private string m_networkThreadName;
internal readonly List<NetConnection> m_connections; internal readonly List<NetConnection> m_connections;
private readonly Dictionary<IPEndPoint, NetConnection> m_connectionLookup; private readonly Dictionary<IPEndPoint, NetConnection> m_connectionLookup;
@@ -54,15 +55,19 @@ namespace Lidgren.Network
public NetPeerStatus Status { get { return m_status; } } public NetPeerStatus Status { get { return m_status; } }
/// <summary> /// <summary>
/// Name of the network thread (if NetPeer.Start has been called) /// Name of the network thread for this NetPeer
/// </summary> /// </summary>
public string NetworkThreadName public string NetworkThreadName
{ {
get { return (m_networkThread == null ? string.Empty : m_networkThread.Name); } get { return m_networkThreadName; }
set set
{ {
if (m_networkThreadName != value)
{
m_networkThreadName = value;
if (m_networkThread != null) if (m_networkThread != null)
m_networkThread.Name = value; m_networkThread.Name = m_networkThreadName;
}
} }
} }
@@ -120,6 +125,9 @@ namespace Lidgren.Network
m_connectionLookup = new Dictionary<IPEndPoint, NetConnection>(m_configuration.MaximumConnections); m_connectionLookup = new Dictionary<IPEndPoint, NetConnection>(m_configuration.MaximumConnections);
m_senderRemote = (EndPoint)new IPEndPoint(IPAddress.Any, 0); m_senderRemote = (EndPoint)new IPEndPoint(IPAddress.Any, 0);
m_statistics = new NetPeerStatistics(this); m_statistics = new NetPeerStatistics(this);
int pc = Interlocked.Increment(ref s_peerCount);
m_networkThreadName = "Lidgren network thread " + pc.ToString();
} }
/// <summary> /// <summary>
@@ -159,7 +167,7 @@ namespace Lidgren.Network
// start network thread // start network thread
m_networkThread = new Thread(new ThreadStart(NetworkLoop)); m_networkThread = new Thread(new ThreadStart(NetworkLoop));
m_networkThread.Name = "Lidgren network thread " + Interlocked.Increment(ref s_threadCount).ToString(); m_networkThread.Name = m_networkThreadName;
m_networkThread.IsBackground = true; m_networkThread.IsBackground = true;
m_networkThread.Start(); m_networkThread.Start();