private void _Worker()
{
#if LOG4NET
Logger.Socket.Debug("ReadThread started");
#endif
try {
string data = "";
try {
while (_Connection.IsConnected &&
((data = _Connection._Reader.ReadLine()) != null)) {
_Queue.Enqueue(data);
#if LOG4NET
Logger.Socket.Debug("received: \""+data+"\"");
#endif
}
#if LOG4NET
} catch (IOException e) {
Logger.Socket.Warn("IOException: "+e.Message);
#else
} catch (IOException) {
#endif
} finally {
#if LOG4NET
Logger.Socket.Warn("connection lost");
#endif
_Connection.IsConnectionError = true;
}
} catch (ThreadAbortException) {
Thread.ResetAbort();
#if LOG4NET
Logger.Socket.Debug("ReadThread aborted");
#endif
}
}