private void SendToClient()
{
try
{
while (_running)
{
try
{
QuickFix.Message msg = null;
#if _CQUEUE
if (!_queueMsg.TryDequeue(out msg))
{
lock (_queueMsg)
Monitor.Wait(_queueMsg, 50);
}
#else
lock (_queueMsg)
{
if (_queueMsg.Count > 0)
{
msg = _queueMsg.Dequeue();
}
else
{
Monitor.Wait(_queueMsg, 5);
continue;
}
}
#endif
if (null != msg)
{
this._processMessage(msg);
msg.Clear();
}
msg = null;
}
catch (Exception ex)
{
logger.Error("erro no envio pro acceptor:" + ex.Message, ex);
}
}
}
catch (Exception ex)
{
logger.Error("SendToClient() - Erro no envio para client: " + ex.Message, ex);
}
}