Beispiel #1
0
// tag validation ---------------------------------------------------------------------------------
void ensure_tag(const fix_group_node* node, size_t tag, const char* value)
{
    const fix_tag* pt = get_fix_tag(node, tag);

    ensure(pt != nullptr);
    ensure(pt->tag == tag);
    ensure(pt->length == strlen(value));
    ensure(memcmp(pt->value, value, pt->length) == 0);
}
Beispiel #2
0
const struct fix_group_node* ensure_group_tag(const struct fix_group_node* node, size_t tag, size_t len)
{
    const fix_group_node* group;
    const fix_tag* pt = get_fix_tag(node, tag);

    ensure(pt != nullptr);
    ensure(pt->tag == tag);
    ensure(pt->length == len);
    ensure(!pt->value);

    group = pt->group;

    ensure(group);
    return group;
}
Beispiel #3
0
static
void validate_mb_message(const fix_message* pm)
{
	ensure(pm->version == FIX_4_2);
	ensure(pm->type[0] == '0' && pm->type[1] == 0);

	const fix_group_node* const node = get_fix_message_root_node(pm);

	ensure(node != nullptr);
	ensure(get_fix_node_size(node) == 5);
	ensure_tag(node, 49, "A");
	ensure_tag(node, 56, "B");
	ensure_tag(node, 34, "12");
	ensure_tag_as_utc_timestamp(node, 52, "20100304-07:59:30.000");
	ensure_tag(node, 355, "XYZ");
	ensure(!get_fix_tag(node, 354));
}