/////////////////////////////////////////////////////////////////////////////// | |
// | |
// Copyright (c) 2000-2017 Ericsson Telecom AB | |
// | |
// All rights reserved. This program and the accompanying materials | |
// are made available under the terms of the Eclipse Public License v1.0 | |
// which accompanies this distribution, and is available at | |
// http://www.eclipse.org/legal/epl-v10.html | |
/////////////////////////////////////////////////////////////////////////////// | |
// File: EPTF_LwM2M_Transport_Definitions.ttcn | |
// Description: | |
// Rev: R1A | |
// Prodnr: CNL 113 859 | |
// Updated: 2017-09-01 | |
// Contact: http://ttcn.ericsson.se | |
/////////////////////////////////////////////////////////////////////////////// | |
/////////////////////////////////////////////////////////// | |
// Module: EPTF_LwM2M_Transport_Definitions | |
// | |
// Purpose: | |
// This module contains the generic transport definitions of the LwM2M load generator | |
// | |
// Component Diagram: | |
// (see EPTF_LwM2M_Transport_Definitions.components.jpg) | |
// | |
// See also: | |
// - <EPTF_LwM2M_LGen_Definitions> | |
// - <EPTF_LwM2M_Transport_User_CT> | |
// - <EPTF_LwM2M_Transport_Provider_CT> | |
/////////////////////////////////////////////////////////////// | |
/***************************************************************** | |
@startuml EPTF_LwM2M_Transport_Definitions.components.jpg | |
package "EPTF_LwM2M_Transport_Definitions" { | |
class EPTF_LwM2M_Transport_User_CT { | |
fcb_EPTF_LwM2M_Transport_sendMessage vf_EPTF_LwM2M_Transport_send | |
} | |
class EPTF_LwM2M_Transport_Provider_CT { | |
fcb_EPTF_LwM2M_Transport_receiveMessage vf_EPTF_LwM2M_Transport_receiveMessage | |
fcb_EPTF_LwM2M_Transport_receiveEvent fcb_EPTF_LwM2M_Transport_receiveEvent | |
} | |
EPTF_LwM2M_Transport_Provider_CT <-> EPTF_LwM2M_Transport_User_CT | |
} | |
@enduml | |
******************************************************************/ | |
module EPTF_LwM2M_Transport_Definitions | |
{ | |
import from LightweightM2M_Types all; | |
/////////////////////////////////////////////////////////// | |
// Type: fcb_EPTF_LwM2M_Transport_receiveMessage | |
// | |
// Purpose: | |
// Call-back function type for reporting received <EPTF_LwM2M_PDU> LwM2M messages | |
// | |
// Elements: | |
// pl_message - *in* <EPTF_LwM2M_PDU> - received COAP message | |
/////////////////////////////////////////////////////////// | |
type function fcb_EPTF_LwM2M_Transport_receiveMessage(in EPTF_LwM2M_PDU pl_message) runs on self; | |
/////////////////////////////////////////////////////////// | |
// Type: fcb_EPTF_LwM2M_Transport_receiveEvent | |
// | |
// Purpose: | |
// Call-back function type for reporting received <EPTF_LwM2M_Event> LWM2M event | |
// | |
// Elements: | |
// p_event - *in* <EPTF_LwM2M_Event> - received LWM2M event | |
/////////////////////////////////////////////////////////// | |
type function fcb_EPTF_LwM2M_Transport_receiveEvent(in EPTF_LwM2M_Event pl_event) runs on self; | |
/////////////////////////////////////////////////////////// | |
// Type: fcb_EPTF_LwM2M_Transport_sendMessage | |
// | |
// Purpose: | |
// Call-back function type for sending a <EPTF_LwM2M_PDU> LwM2M message | |
// | |
// Elements: | |
// pl_msg - *in* <EPTF_LwM2M_PDU> - LwM2M message to be sent | |
/////////////////////////////////////////////////////////// | |
type function fcb_EPTF_LwM2M_Transport_sendMessage(in EPTF_LwM2M_PDU pl_msg) runs on self; | |
/////////////////////////////////////////////////////////// | |
// Type: EPTF_LwM2M_PDU | |
// | |
// Purpose: | |
// Encapsulates a <LWM2M_PDU> with the corresponding entity (and FSM) indices | |
// | |
// Elements: | |
// pdu - <LWM2M_PDU> - LwM2M PDU | |
// eIdx - *integer* - entity index | |
// fsmIdx - *integer* - fsm index | |
/////////////////////////////////////////////////////////// | |
type record EPTF_LwM2M_PDU | |
{ | |
LWM2M_PDU pdu, | |
integer eIdx, | |
integer fsmIdx | |
} | |
/////////////////////////////////////////////////////////// | |
// Type: EPTF_LwM2M_Event | |
// | |
// Purpose: | |
// Encapsulates a <EPTF_LwM2M_Event> with the corresponding entity | |
// | |
// Elements: | |
// event - <LWM2M_Event> - LwM2M event | |
// eIdx - *integer* - entity index | |
/////////////////////////////////////////////////////////// | |
type record EPTF_LwM2M_Event | |
{ | |
LWM2M_Event event, | |
integer eIdx | |
} | |
/////////////////////////////////////////////////////////// | |
// Type: LWM2M_Event | |
// | |
// Purpose: | |
// A union of possible LwM2M events | |
// | |
// Elements: | |
// resourceNotObserved - <ObjectPath> - dispatched when a resource is not observed any more, the object path identifies the resource | |
/////////////////////////////////////////////////////////// | |
type union LWM2M_Event | |
{ | |
ObjectPath resourceNotObserved | |
} | |
/***************************************************************** | |
@startuml EPTF_LwM2M_Transport_Definitions.EPTF_LwM2M_Transport_Provider_CT.jpg | |
class EPTF_LwM2M_Transport_Provider_CT { | |
fcb_EPTF_LwM2M_Transport_receiveMessage vf_EPTF_LwM2M_Transport_receiveMessage | |
fcb_EPTF_LwM2M_Transport_receiveEvent fcb_EPTF_LwM2M_Transport_receiveEvent | |
} | |
@enduml | |
*****************************************************************/ | |
/////////////////////////////////////////////////////////// | |
// Type: EPTF_LwM2M_Transport_Provider_CT | |
// | |
// Purpose: | |
// Base component type for a LwM2M transport realization | |
// | |
// Class: | |
// (see EPTF_LwM2M_Transport_Definitions.EPTF_LwM2M_Transport_Provider_CT.jpg) | |
// | |
// Variables: | |
// vf_EPTF_LwM2M_Transport_receiveMessage - <fcb_EPTF_LwM2M_Transport_receiveMessage> - Function hook for reporting received messages | |
// vf_EPTF_LwM2M_Transport_receiveEvent - <fcb_EPTF_LwM2M_Transport_receiveEvent> - Function hook for reporting received events | |
/////////////////////////////////////////////////////////// | |
type component EPTF_LwM2M_Transport_Provider_CT | |
{ | |
var fcb_EPTF_LwM2M_Transport_receiveMessage vf_EPTF_LwM2M_Transport_receiveMessage := null; | |
var fcb_EPTF_LwM2M_Transport_receiveEvent vf_EPTF_LwM2M_Transport_receiveEvent := null; | |
} | |
/***************************************************************** | |
@startuml EPTF_LwM2M_Transport_Definitions.EPTF_LwM2M_Transport_User_CT.jpg | |
class EPTF_LwM2M_Transport_User_CT { | |
fcb_EPTF_LwM2M_Transport_sendMessage vf_EPTF_LwM2M_Transport_send | |
} | |
@enduml | |
*****************************************************************/ | |
/////////////////////////////////////////////////////////// | |
// Type: EPTF_LwM2M_Transport_User_CT | |
// | |
// Purpose: | |
// Base component type for a LwM2M transport user realization | |
// | |
// Class: | |
// (see EPTF_LwM2M_Transport_Definitions.EPTF_LwM2M_Transport_User_CT.jpg) | |
// | |
// Variables: | |
// vf_EPTF_LwM2M_Transport_send - <fcb_EPTF_LwM2M_Transport_sendMessage> - Function hook for reporting received messages | |
/////////////////////////////////////////////////////////// | |
type component EPTF_LwM2M_Transport_User_CT | |
{ | |
var fcb_EPTF_LwM2M_Transport_sendMessage vf_EPTF_LwM2M_Transport_send := null; | |
} | |
} |