in src/State/ConnectionStateTracker.cs [511:547]
public override Response ProcessMessage(Message send)
{
if(send != null)
{
if(TrackTransactions && send.TransactionId != null)
{
ProducerId producerId = send.ProducerId;
ConnectionId connectionId = producerId.ParentId.ParentId;
if(connectionId != null)
{
ConnectionState cs = null;
if(connectionStates.TryGetValue(connectionId, out cs))
{
TransactionState transactionState = cs[send.TransactionId];
if(transactionState != null)
{
transactionState.AddCommand(send);
if (isTrackTransactionProducers)
{
SessionState ss = cs[producerId.ParentId];
ProducerState producerState = ss[producerId];
producerState.TransactionState = transactionState;
}
}
}
}
return TRACKED_RESPONSE_MARKER;
}
else if(TrackMessages)
{
messageCache.Add(send.MessageId, (Message) send.Clone());
}
}
return null;
}