public override Response processMessage(Message send)
{
if(send != null)
{
if(TrackTransactions && send.TransactionId != null)
{
ConnectionId connectionId = send.ProducerId.ParentId.ParentId;
if(connectionId != null)
{
ConnectionState cs = connectionStates[connectionId];
if(cs != null)
{
TransactionState transactionState = cs[send.TransactionId];
if(transactionState != null)
{
transactionState.addCommand(send);
}
}
}
return TRACKED_RESPONSE_MARKER;
}
else if(TrackMessages)
{
messageCache.Add(send.MessageId, (Message) send.Clone());
RemoveEldestInCache();
}
}
return null;
}