private void ProccessAcknoledge(MsMessage rMsg) {
MsMessage msg=null;
lock(_sendQueue) {
MsMessage reqMsg;
if(_sendQueue.Count>0 && (reqMsg=_sendQueue.Peek()).MsgTyp==rMsg.ReqTyp && reqMsg.MessageId==rMsg.MessageId) {
_sendQueue.Dequeue();
_waitAck=false;
if(_sendQueue.Count>0 && !(msg=_sendQueue.Peek()).IsRequest) {
_sendQueue.Dequeue();
}
}
}
if(msg==null && !_waitAck && state==State.AWake) {
ReisePool(null);
if(_waitAck) {
return; // sended from pool
}
}
if(msg!=null || state==State.AWake) {
if(msg!=null && msg.IsRequest) {
_tryCounter=2;
}
SendIntern(msg);
} else if(!_waitAck) {
ResetTimer();
}
}
private void Send(MsMessage msg) {