in src/Proton/Codec/Encoders/Messaging/SourceTypeEncoder.cs [36:86]
protected override int GetElementCount(Source source)
{
if (source.Capabilities != null)
{
return 11;
}
else if (source.Outcomes != null)
{
return 10;
}
else if (source.DefaultOutcome != null)
{
return 9;
}
else if (source.Filter != null)
{
return 8;
}
else if (source.DistributionMode != null)
{
return 7;
}
else if (source.DynamicNodeProperties != null)
{
return 6;
}
else if (source.Dynamic)
{
return 5;
}
else if (source.Timeout != 0)
{
return 4;
}
else if (source.ExpiryPolicy != TerminusExpiryPolicy.SessionEnd)
{
return 3;
}
else if (source.Durable != TerminusDurability.None)
{
return 2;
}
else if (source.Address != null)
{
return 1;
}
else
{
return 0;
}
}