Update Inline QoS Generation related Testbench Code

This commit is contained in:
Greek 2021-03-02 13:53:12 +01:00
parent c9f0d70979
commit b5206f66f1
8 changed files with 415 additions and 177 deletions

View File

@ -824,7 +824,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -851,7 +852,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, -1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, -1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;
@ -875,7 +877,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, +1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, +1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -902,7 +905,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, -1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, -1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;
@ -926,7 +930,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, +1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, +1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -953,7 +958,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, -1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, -1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;
@ -977,7 +983,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, +1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, +1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -1005,7 +1012,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '1', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '1', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -1033,7 +1041,8 @@ begin
cc.kind := NOT_ALIVE_DISPOSED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -1059,7 +1068,8 @@ begin
cc := gen_cache_change(sub);
cc.kind := NOT_ALIVE_UNREGISTERED;
cc.src_timestamp := src_ts;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -1083,7 +1093,8 @@ begin
cc := gen_cache_change(sub);
cc.kind := NOT_ALIVE_DISPOSED;
cc.src_timestamp := src_ts;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;

View File

@ -834,7 +834,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -861,7 +862,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, -1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, -1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;
@ -885,7 +887,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, +1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, +1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -912,7 +915,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, -1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, -1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;
@ -936,7 +940,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, +1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, +1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -963,7 +968,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, -1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, -1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;
@ -987,7 +993,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, +1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, +1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -1015,7 +1022,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '1', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '1', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -1043,7 +1051,8 @@ begin
cc.kind := NOT_ALIVE_DISPOSED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -1069,7 +1078,8 @@ begin
cc := gen_cache_change(sub);
cc.kind := NOT_ALIVE_UNREGISTERED;
cc.src_timestamp := src_ts;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -1093,7 +1103,8 @@ begin
cc := gen_cache_change(sub);
cc.kind := NOT_ALIVE_DISPOSED;
cc.src_timestamp := src_ts;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;

View File

@ -805,7 +805,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -832,7 +833,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, -1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, -1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;
@ -856,7 +858,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, +1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, +1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -883,7 +886,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, -1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, -1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;
@ -907,7 +911,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, +1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, +1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -934,7 +939,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, -1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, -1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;
@ -958,7 +964,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, +1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, +1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -986,7 +993,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '1', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '1', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -1014,7 +1022,8 @@ begin
cc.kind := NOT_ALIVE_DISPOSED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -1040,7 +1049,8 @@ begin
cc := gen_cache_change(sub);
cc.kind := NOT_ALIVE_UNREGISTERED;
cc.src_timestamp := src_ts;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -1064,7 +1074,8 @@ begin
cc := gen_cache_change(sub);
cc.kind := NOT_ALIVE_DISPOSED;
cc.src_timestamp := src_ts;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;

View File

@ -820,7 +820,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -847,7 +848,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, -1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, -1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;
@ -871,7 +873,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, +1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, +1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -898,7 +901,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, -1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, -1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;
@ -922,7 +926,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, +1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, +1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -949,7 +954,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, -1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, -1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;
@ -973,7 +979,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, +1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, +1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -1001,7 +1008,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '1', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '1', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -1029,7 +1037,8 @@ begin
cc.kind := NOT_ALIVE_DISPOSED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -1055,7 +1064,8 @@ begin
cc := gen_cache_change(sub);
cc.kind := NOT_ALIVE_UNREGISTERED;
cc.src_timestamp := src_ts;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
@ -1079,7 +1089,8 @@ begin
cc := gen_cache_change(sub);
cc.kind := NOT_ALIVE_DISPOSED;
cc.src_timestamp := src_ts;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;

View File

@ -820,7 +820,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
cc.instance := HANDLE_NIL; -- No key Hash due to WITH_KEY=FALSE
@ -848,7 +849,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, -1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, -1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;
@ -872,7 +874,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, +1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, +1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
cc.instance := HANDLE_NIL; -- No key Hash due to WITH_KEY=FALSE
@ -900,7 +903,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, -1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, -1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;
@ -924,7 +928,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, +1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, +1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
cc.instance := HANDLE_NIL; -- No key Hash due to WITH_KEY=FALSE
@ -952,7 +957,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, -1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, -1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
start_user_test;
@ -976,7 +982,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, +1);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, +1);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
cc.instance := HANDLE_NIL; -- No key Hash due to WITH_KEY=FALSE
@ -1005,7 +1012,8 @@ begin
cc.kind := ALIVE_FILTERED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '1', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '1', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
cc.instance := HANDLE_NIL; -- No key Hash due to WITH_KEY=FALSE
@ -1034,7 +1042,8 @@ begin
cc.kind := NOT_ALIVE_DISPOSED;
cc.src_timestamp := src_ts;
cc.instance := gen_key_hash;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
cc.instance := HANDLE_NIL; -- No key Hash due to WITH_KEY=FALSE
@ -1061,7 +1070,8 @@ begin
cc := gen_cache_change(sub);
cc.kind := NOT_ALIVE_UNREGISTERED;
cc.src_timestamp := src_ts;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
cc.payload := EMPTY_TEST_PACKET; -- No payload due to WITH_KEY=FALSE
@ -1086,7 +1096,8 @@ begin
cc := gen_cache_change(sub);
cc.kind := NOT_ALIVE_DISPOSED;
cc.src_timestamp := src_ts;
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
endpoint.lifespan := life_ts;
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
gen_sentinel(sub.inlineQos);
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);

View File

@ -116,7 +116,8 @@ begin
last_word_in_hc => '0',
cc_instance_handle => HANDLE_NIL,
cc_kind => ALIVE,
cc_source_timestamp => TIME_INVALID
cc_source_timestamp => TIME_INVALID,
cc_seq_nr => SEQUENCENUMBER_UNKNOWN
);
stimulus_prc : process

View File

@ -116,7 +116,8 @@ begin
last_word_in_hc => '0',
cc_instance_handle => HANDLE_NIL,
cc_kind => ALIVE,
cc_source_timestamp => TIME_INVALID
cc_source_timestamp => TIME_INVALID,
cc_seq_nr => SEQUENCENUMBER_UNKNOWN
);
stimulus_prc : process

View File

@ -265,9 +265,8 @@ package rtps_test_package is
procedure gen_sentinel(output : inout TEST_PACKET_TYPE);
procedure gen_parameter(pid : in std_logic_vector(PARAMETER_ID_WIDTH-1 downto 0); data : in TEST_PACKET_TYPE; output : inout TEST_PACKET_TYPE);
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; lifespan : DURATION_TYPE; littleEndian : in std_logic; output : inout TEST_PACKET_TYPE; pid : in std_logic_vector(PARAMETER_ID_WIDTH-1 downto 0); offset : in integer);
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; output : inout TEST_PACKET_TYPE; pid : in std_logic_vector(PARAMETER_ID_WIDTH-1 downto 0); offset : in integer);
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; lifespan : DURATION_TYPE; littleEndian : in std_logic; output : inout TEST_PACKET_TYPE);
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; endpoint : in ENDPOINT_DATA_TYPE; expectsInlineQoS : in boolean; littleEndian : in std_logic; output : inout TEST_PACKET_TYPE; pid : in std_logic_vector(PARAMETER_ID_WIDTH-1 downto 0); offset : in integer);
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; endpoint : in ENDPOINT_DATA_TYPE; expectsInlineQoS : in boolean; littleEndian : in std_logic; output : inout TEST_PACKET_TYPE);
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; output : inout TEST_PACKET_TYPE);
@ -2276,10 +2275,180 @@ package body rtps_test_package is
end loop;
end procedure;
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; lifespan : in DURATION_TYPE; littleEndian : in std_logic; output : inout TEST_PACKET_TYPE; pid : in std_logic_vector(PARAMETER_ID_WIDTH-1 downto 0); offset : in integer) is
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; endpoint : in ENDPOINT_DATA_TYPE; expectsInlineQoS : in boolean; littleEndian : in std_logic; output : inout TEST_PACKET_TYPE; pid : in std_logic_vector(PARAMETER_ID_WIDTH-1 downto 0); offset : in integer) is
variable tmp : natural := 0;
begin
-- Lifespan
if (lifespan /= DEFAULT_LIFESPAN_QOS or pid = PID_LIFESPAN) then
-- ENDPOINT DATA QOS
if (expectsInlineQoS) then
-- TOPIC NAME
tmp := string_len(endpoint.topic_name);
if (pid = PID_TOPIC_NAME) then
assert (((round_div(tmp,4)+1)*4)+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
output.data(output.length) := PID_TOPIC_NAME & endian_swap(littleEndian, int(((round_div(tmp,4)+1)*4)+(offset*4),PARAMETER_LENGTH_WIDTH));
else
output.data(output.length) := PID_TOPIC_NAME & endian_swap(littleEndian, int((round_div(tmp,4)+1)*4,PARAMETER_LENGTH_WIDTH));
end if;
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, int(tmp, CDR_LONG_WIDTH));
output.length := output.length + 1;
for i in 0 to round_div(tmp,4)-1 loop
output.data(output.length) := endpoint.topic_name(i);
output.length := output.length + 1;
end loop;
if (pid = PID_TOPIC_NAME) then
output.length := output.length + offset;
end if;
-- DURABILITY
if (endpoint.durability /= DEFAULT_DURABILITY_QOS or pid = PID_DURABILITY) then
if (pid = PID_DURABILITY) then
assert (4+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
output.data(output.length) := PID_DURABILITY & endian_swap(littleEndian, int(4+(offset*4),PARAMETER_LENGTH_WIDTH));
else
output.data(output.length) := PID_DURABILITY & endian_swap(littleEndian, int(4,PARAMETER_LENGTH_WIDTH));
end if;
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, endpoint.durability);
output.length := output.length + 1;
if (pid = PID_DURABILITY) then
output.length := output.length + offset;
end if;
end if;
-- PRESENTATION
if (endpoint.presentation /= DEFAULT_PRESENTATION_QOS or endpoint.coherent_access(0) /= boolean_to_std_logic(DEFAULT_COHERENT_ACCESS) or endpoint.ordered_access(0) /= boolean_to_std_logic(DEFAULT_ORDERED_ACCESS) or pid = PID_PRESENTATION) then
if (pid = PID_PRESENTATION) then
assert (8+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
output.data(output.length) := PID_PRESENTATION & endian_swap(littleEndian, int(8+(offset*4),PARAMETER_LENGTH_WIDTH));
else
output.data(output.length) := PID_PRESENTATION & endian_swap(littleEndian, int(8,PARAMETER_LENGTH_WIDTH));
end if;
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, endpoint.presentation);
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, endpoint.coherent_access) & endian_swap(littleEndian, endpoint.ordered_access) & (0 to 15 => '0');
output.length := output.length + 1;
if (pid = PID_PRESENTATION) then
output.length := output.length + offset;
end if;
end if;
-- DEADLINE
if (endpoint.deadline /= DEFAULT_DEADLINE_QOS or pid = PID_DEADLINE) then
if (pid = PID_DEADLINE) then
assert (8+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
output.data(output.length) := PID_DEADLINE & endian_swap(littleEndian, int(8+(offset*4),PARAMETER_LENGTH_WIDTH));
else
output.data(output.length) := PID_DEADLINE & endian_swap(littleEndian, int(8,PARAMETER_LENGTH_WIDTH));
end if;
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.deadline(0)));
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.deadline(1)));
output.length := output.length + 1;
if (pid = PID_DEADLINE) then
output.length := output.length + offset;
end if;
end if;
-- LATENCY BUDGET
if (endpoint.latency_budget /= DEFAULT_LATENCY_BUDGET_QOS or pid = PID_LATENCY_BUDGET) then
if (pid = PID_LATENCY_BUDGET) then
assert (8+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
output.data(output.length) := PID_LATENCY_BUDGET & endian_swap(littleEndian, int(8+(offset*4),PARAMETER_LENGTH_WIDTH));
else
output.data(output.length) := PID_LATENCY_BUDGET & endian_swap(littleEndian, int(8,PARAMETER_LENGTH_WIDTH));
end if;
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.latency_budget(0)));
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.latency_budget(1)));
output.length := output.length + 1;
if (pid = PID_LATENCY_BUDGET) then
output.length := output.length + offset;
end if;
end if;
-- OWNERSHIP
if (endpoint.ownership /= DEFAULT_OWNERSHIP_QOS or pid = PID_OWNERSHIP) then
if (pid = PID_OWNERSHIP) then
assert (4+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
output.data(output.length) := PID_OWNERSHIP & endian_swap(littleEndian, int(4+(offset*4),PARAMETER_LENGTH_WIDTH));
else
output.data(output.length) := PID_OWNERSHIP & endian_swap(littleEndian, int(4,PARAMETER_LENGTH_WIDTH));
end if;
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, endpoint.ownership);
output.length := output.length + 1;
if (pid = PID_OWNERSHIP) then
output.length := output.length + offset;
end if;
end if;
-- OWNERSHIP STRENGTH
if (endpoint.ownership_strength /= DEFAULT_OWNERSHIP_STRENGTH_QOS or pid = PID_OWNERSHIP_STRENGTH) then
if (pid = PID_OWNERSHIP_STRENGTH) then
assert (4+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
output.data(output.length) := PID_OWNERSHIP_STRENGTH & endian_swap(littleEndian, int(4+(offset*4),PARAMETER_LENGTH_WIDTH));
else
output.data(output.length) := PID_OWNERSHIP_STRENGTH & endian_swap(littleEndian, int(4,PARAMETER_LENGTH_WIDTH));
end if;
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, endpoint.ownership_strength);
output.length := output.length + 1;
if (pid = PID_OWNERSHIP_STRENGTH) then
output.length := output.length + offset;
end if;
end if;
-- LIVELINESS
if (endpoint.liveliness /= DEFAULT_LIVELINESS_QOS or endpoint.leaseDuration /= DEFAULT_LEASE_DURATION or pid = PID_LIVELINESS) then
if (pid = PID_LIVELINESS) then
assert (12+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
output.data(output.length) := PID_LIVELINESS & endian_swap(littleEndian, int(12+(offset*4),PARAMETER_LENGTH_WIDTH));
else
output.data(output.length) := PID_LIVELINESS & endian_swap(littleEndian, int(12,PARAMETER_LENGTH_WIDTH));
end if;
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, endpoint.liveliness);
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.leaseDuration(0)));
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.leaseDuration(1)));
output.length := output.length + 1;
if (pid = PID_LIVELINESS) then
output.length := output.length + offset;
end if;
end if;
-- RELIABILITY
if (endpoint.reliability /= DEFAULT_RELIABILTY_QOS or endpoint.max_blocking_time /= DEFAULT_MAX_BLOCKING_TIME or pid = PID_RELIABILITY) then
if (pid = PID_RELIABILITY) then
assert (12+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
output.data(output.length) := PID_RELIABILITY & endian_swap(littleEndian, int(12+(offset*4),PARAMETER_LENGTH_WIDTH));
else
output.data(output.length) := PID_RELIABILITY & endian_swap(littleEndian, int(12,PARAMETER_LENGTH_WIDTH));
end if;
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, endpoint.reliability);
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.max_blocking_time(0)));
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.max_blocking_time(1)));
output.length := output.length + 1;
if (pid = PID_RELIABILITY) then
output.length := output.length + offset;
end if;
end if;
-- TRANSPORT PRIORITY
if (endpoint.transport_priority /= DEFAULT_TRANSPORT_PRIORITY_QOS or pid = PID_TRANSPORT_PRIORITY) then
if (pid = PID_TRANSPORT_PRIORITY) then
assert (4+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
output.data(output.length) := PID_TRANSPORT_PRIORITY & endian_swap(littleEndian, int(4+(offset*4),PARAMETER_LENGTH_WIDTH));
else
output.data(output.length) := PID_TRANSPORT_PRIORITY & endian_swap(littleEndian, int(4,PARAMETER_LENGTH_WIDTH));
end if;
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, endpoint.transport_priority);
output.length := output.length + 1;
if (pid = PID_TRANSPORT_PRIORITY) then
output.length := output.length + offset;
end if;
end if;
-- LIFESPAN
if (endpoint.lifespan /= DEFAULT_LIFESPAN_QOS or pid = PID_LIFESPAN) then
if (pid = PID_LIFESPAN) then
assert (8+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
output.data(output.length) := PID_LIFESPAN & endian_swap(littleEndian, int(8+(offset*4),PARAMETER_LENGTH_WIDTH));
@ -2287,14 +2456,31 @@ package body rtps_test_package is
output.data(output.length) := PID_LIFESPAN & endian_swap(littleEndian, int(8,PARAMETER_LENGTH_WIDTH));
end if;
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(lifespan(0)));
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.lifespan(0)));
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(lifespan(1)));
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.lifespan(1)));
output.length := output.length + 1;
if (pid = PID_LIFESPAN) then
output.length := output.length + offset;
end if;
end if;
-- DESTINATION ORDER
if (endpoint.destination_order /= DEFAULT_DESTINATION_ORDER_QOS or pid = PID_DESTINATION_ORDER) then
if (pid = PID_DESTINATION_ORDER) then
assert (4+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
output.data(output.length) := PID_DESTINATION_ORDER & endian_swap(littleEndian, int(4+(offset*4),PARAMETER_LENGTH_WIDTH));
else
output.data(output.length) := PID_DESTINATION_ORDER & endian_swap(littleEndian, int(4,PARAMETER_LENGTH_WIDTH));
end if;
output.length := output.length + 1;
output.data(output.length) := endian_swap(littleEndian, endpoint.destination_order);
output.length := output.length + 1;
if (pid = PID_DESTINATION_ORDER) then
output.length := output.length + offset;
end if;
end if;
end if;
-- *INLINE-ONLY*
-- Status Info
if (ref.kind /= ALIVE or pid = PID_STATUS_INFO) then
if (pid = PID_STATUS_INFO) then
@ -2343,19 +2529,14 @@ package body rtps_test_package is
end if;
end procedure;
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; output : inout TEST_PACKET_TYPE; pid : in std_logic_vector(PARAMETER_ID_WIDTH-1 downto 0); offset : in integer) is
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; endpoint : in ENDPOINT_DATA_TYPE; expectsInlineQoS : in boolean; littleEndian : in std_logic; output : inout TEST_PACKET_TYPE) is
begin
gen_inline_qos(ref,DEFAULT_LIFESPAN_QOS,'0',output,pid,offset);
end procedure;
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; lifespan : DURATION_TYPE; littleEndian : in std_logic; output : inout TEST_PACKET_TYPE) is
begin
gen_inline_qos(ref,lifespan,littleEndian,output,PID_PAD,0);
gen_inline_qos(ref,endpoint,expectsInlineQoS,littleEndian,output,PID_PAD,0);
end procedure;
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; output : inout TEST_PACKET_TYPE) is
begin
gen_inline_qos(ref,output,PID_PAD,0);
gen_inline_qos(ref,DEFAULT_ENDPOINT_DATA,FALSE,'0',output,PID_PAD,0);
end procedure;
function test_memory_match (A,B : TEST_MEMORY_TYPE) return boolean is