From 1bed25be493a8762709975c2e81256bbdc62cb0a Mon Sep 17 00:00:00 2001 From: reinaortega <miguelangel.reinaortega@etsi.org> Date: Mon, 15 Jun 2020 10:59:20 +0200 Subject: [PATCH] Added handling of postamble PTC synchronization. Slave PTC to run postamble first --- LibOneM2M/OneM2M_Functions.ttcn | 43 +++++++++++++++++++++++++++------ LibOneM2M/OneM2M_Ports.ttcn | 4 +-- LibOneM2M/OneM2M_Types.ttcn | 5 ++++ 3 files changed, 43 insertions(+), 9 deletions(-) diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index 2ee0835..d6a9f9c 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -1186,18 +1186,24 @@ module OneM2M_Functions { if (PX_RUN_POSTAMBLE) { - if(vc_config == e_cf02) { - if(vc_cse1.alive) { - f_cse_postamble_cse1(); - } - } - if(vc_auxiliaryAe2Up) { if (vc_ae2.alive) { f_cse_postamble_aeSimu(vc_ae2); } } + if(vc_config == e_cf02) { + if(vc_cse1.running) { + vc_cse1.stop; + } + if(vc_cse1.alive) { + f_connectInfoPort(vc_cse1); + f_cse_postamble_cse1(); + f_cse_defaultHandler_aeSimu(); + f_disconnectInfoPort(vc_cse1); + } + } + for(i := lengthof(vc_resourcesIndexToBeDeleted) -1; i >=0; i := i - 1) { v_resourceAddress := f_getResourceAddress(vc_resourcesIndexToBeDeleted[i]); @@ -1370,7 +1376,11 @@ module OneM2M_Functions { } } } - + if(vc_config == e_cf02) { + if(infoPort.checkstate("Connected")) { + infoPort.send(SyncPoints:e_done); + } + } } }//end group postambleFunctions @@ -2381,6 +2391,25 @@ module OneM2M_Functions { }// end f_cse_createResourceHandler + /** + * @desc Activate default for AeSimu + */ + function f_cse_defaultHandler_aeSimu() runs on AeSimu { + + //Activate defaults when running on a PTC + f_cse_activateDefaults_ae(); + + tc_ac.start; + alt { + [] infoPort.receive(OneM2M_Types.SyncPoints:e_done) { + log(__SCOPE__, "Peer component done") + } + [] tc_ac.timeout { + } + } + + }// end f_cse_defaultHandler_aeSimu + /** * @desc Creation of a local resource * @param p_resourceType Resource type of the resource to be created diff --git a/LibOneM2M/OneM2M_Ports.ttcn b/LibOneM2M/OneM2M_Ports.ttcn index 7b0555d..481ddeb 100644 --- a/LibOneM2M/OneM2M_Ports.ttcn +++ b/LibOneM2M/OneM2M_Ports.ttcn @@ -48,9 +48,9 @@ module OneM2M_Ports { */ type port InfoPort message { in - RequestPrimitive, ResponsePrimitive, PrimitiveContent, MyResource, integer, XSD.ID; + RequestPrimitive, ResponsePrimitive, PrimitiveContent, MyResource, integer, XSD.ID, SyncPoints; out - RequestPrimitive, ResponsePrimitive, PrimitiveContent, MyResource, integer, XSD.ID; + RequestPrimitive, ResponsePrimitive, PrimitiveContent, MyResource, integer, XSD.ID, SyncPoints; } diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn index 76f6421..30d8268 100644 --- a/LibOneM2M/OneM2M_Types.ttcn +++ b/LibOneM2M/OneM2M_Types.ttcn @@ -8755,6 +8755,11 @@ group InvalidTypes { group OtherTypes { + type enumerated SyncPoints { + e_done (0), + e_error (1) + } + type enumerated Configurations { e_cf01, e_cf02, -- GitLab