summaryrefslogtreecommitdiffstats
path: root/library/NS_Emulation.ttcnpp
diff options
context:
space:
mode:
Diffstat (limited to 'library/NS_Emulation.ttcnpp')
-rw-r--r--library/NS_Emulation.ttcnpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/library/NS_Emulation.ttcnpp b/library/NS_Emulation.ttcnpp
index 32746b41..5872b000 100644
--- a/library/NS_Emulation.ttcnpp
+++ b/library/NS_Emulation.ttcnpp
@@ -120,9 +120,17 @@ module NS_Emulation {
/* lower layer ports (UDP/IP, Frame Relay) are added in derived components */
};
+ type enumerated NS_Provider_LinkStatus {
+ NS_PROV_LINK_STATUS_UP,
+ NS_PROV_LINK_STATUS_DOWN
+ };
+ type union NS_Provider_Evt {
+ NS_Provider_LinkStatus link_status
+ };
+
/* port between NS_Provider and NS_CT */
type port NS_PROVIDER_PT message {
- inout PDU_NS;
+ inout PDU_NS, NS_Provider_Evt;
} with { extension "internal" };
type component NS_CT {
@@ -211,6 +219,12 @@ module NS_Emulation {
f_sendAlive();
}
+ [] NSCP.receive(NS_Provider_Evt:{link_status:=NS_PROV_LINK_STATUS_UP}) {
+ log("Provider Link came up: sending NS-ALIVE");
+ f_sendAlive();
+ Tns_test.start;
+ }
+
/* Stop t_alive when receiving ALIVE-ACK */
[Tns_alive.running] NSCP.receive(t_NS_ALIVE_ACK) {
log("NS-ALIVE-ACK received: stopping Tns-alive; starting Tns-test");