public NetworkManager(Socket socket, string s, NetHandler nethandler)
{
sendQueueLock = new object();
m_isRunning = true;
readPackets = Collections.synchronizedList(new ArrayList());
dataPackets = Collections.synchronizedList(new ArrayList());
chunkDataPackets = Collections.synchronizedList(new ArrayList());
m_isServerTerminating = false;
isTerminating = false;
terminationReason = "";
timeSinceLastRead = 0;
sendQueueByteLength = 0;
chunkDataSendCounter = 0;
field_20175_w = 50;
networkSocket = socket;
remoteSocketAddress = socket.getRemoteSocketAddress();
netHandler = nethandler;
socket.setTrafficClass(24);
socketInputStream = new DataInputStream(socket.getInputStream());
socketOutputStream = new DataOutputStream(socket.getOutputStream());
readThread = new NetworkReaderThread(this, (new StringBuilder()).append(s).append(" read thread").toString());
writeThread = new NetworkWriterThread(this,
(new StringBuilder()).append(s).append(" write thread").toString());
readThread.start();
writeThread.start();
}