in src/qpid/amqp/MessageEncoder.cpp [90:136]
void MessageEncoder::writeProperties(const Properties& msg)
{
size_t fields(optimise ? optimisable(msg) : 13);
if (fields) {
void* token = startList32(&qpid::amqp::message::PROPERTIES);
if (msg.hasMessageId()) writeString(msg.getMessageId());
else writeNull();
if (msg.hasUserId()) writeBinary(msg.getUserId());
else if (fields > 1) writeNull();
if (msg.hasTo()) writeString(msg.getTo());
else if (fields > 2) writeNull();
if (msg.hasSubject()) writeString(msg.getSubject());
else if (fields > 3) writeNull();
if (msg.hasReplyTo()) writeString(msg.getReplyTo());
else if (fields > 4) writeNull();
if (msg.hasCorrelationId()) writeString(msg.getCorrelationId());
else if (fields > 5) writeNull();
if (msg.hasContentType()) writeSymbol(msg.getContentType());
else if (fields > 6) writeNull();
if (msg.hasContentEncoding()) writeSymbol(msg.getContentEncoding());
else if (fields > 7) writeNull();
if (msg.hasAbsoluteExpiryTime()) writeTimestamp(msg.getAbsoluteExpiryTime());
else if (fields > 8) writeNull();
if (msg.hasCreationTime()) writeTimestamp(msg.getCreationTime());
else if (fields > 9) writeNull();
if (msg.hasGroupId()) writeString(msg.getGroupId());
else if (fields > 10) writeNull();
if (msg.hasGroupSequence()) writeUInt(msg.getGroupSequence());
else if (fields > 11) writeNull();
if (msg.hasReplyToGroupId()) writeString(msg.getReplyToGroupId());
else if (fields > 12) writeNull();
endList32(fields, token);
}
}