in FixAntenna/NetCore/FixEngine/Session/MessageHandler/Cme/SenderTargetIdConsistencyHandler.cs [57:108]
public virtual bool ValidateTargetCompID(string incomingTarget, string mySenderComId)
{
if (incomingTarget.Length < 3)
{
return false;
}
for (var i = 0; i < 3; i++)
{
if (mySenderComId[i] != incomingTarget[i])
{
return false;
}
}
foreach (var faultCode in _faultTolIds)
{
if (incomingTarget.EndsWith(faultCode, StringComparison.Ordinal) && mySenderComId.EndsWith(faultCode, StringComparison.Ordinal))
{
return true;
}
}
var ftiMySender = mySenderComId[mySenderComId.Length - 1];
var ftiIncTarget = incomingTarget[incomingTarget.Length - 1];
switch (ftiMySender)
{
case 'U':
{
switch (ftiIncTarget)
{
case 'P':
case 'B':
return true;
default:
break;
}
break;
}
case 'B':
{
switch (ftiIncTarget)
{
case 'P':
return true;
default:
break;
}
break;
}
default:
break;
}
return false;
}