blob: 86ae3639bb8ad51bb0ca1b9e2196b236c991c49e [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2000-2020 Ericsson Telecom AB
//
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v2.0
// which accompanies this distribution, and is available at
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
///////////////////////////////////////////////////////////////////////////////
// File: EPTF_LwM2M_CoapApplibTransport_Definitions.ttcn
// Description:
// Rev: R1A
// Prodnr: CNL 113 859
// Updated: 2020-03-04
// Contact: http://ttcn.ericsson.se
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// Module: EPTF_LwM2M_CoapApplibTransport_Definitions
//
// Purpose:
// This module contains the definitions for the LWM2M transport layer that uses the COAP applib
//
// Module depends on:
// - <EPTF_LwM2M_Transport_Definitions>
// - <EPTF_COAP_LGen_Definitions>
// - <EPTF_CLL_Base_Definitions>
//
// Module Parameters:
// tsp_EPTF_LwM2M_CoapApplibTransport_debug - <tsp_EPTF_LwM2M_CoapApplibTransport_debug> - *boolean* - Enable/disable debug logging
//
///////////////////////////////////////////////////////////////
module EPTF_LwM2M_CoapApplibTransport_Definitions
{
import from EPTF_LwM2M_Transport_Definitions all;
import from EPTF_COAP_LGen_Definitions all;
import from EPTF_CLL_Base_Definitions all;
///////////////////////////////////////////////////////////
// Module parameter: tsp_EPTF_LwM2M_CoapApplibTransport_debug
//
// Purpose:
// Enabled/disable debug logging
//
// Type:
// *boolean*
//
// Default value:
// *false*
///////////////////////////////////////////////////////////
modulepar boolean tsp_EPTF_LwM2M_CoapApplibTransport_debug := false;
/*****************************************************************
@startuml EPTF_LwM2M_CoapApplibTransport_Definitions.EPTF_LwM2M_CoapApplibTransport_CT.jpg
class EPTF_LwM2M_CoapApplibTransport_CT {
boolean v_EPTF_LwM2M_CoapApplibTransport_initialized
f_EPTF_LwM2M_CoapApplibTransport_init(in charstring pl_name)
f_EPTF_LwM2M_CoapApplibTransport_cleanup()
f_EPTF_LwM2M_CoapApplibTransport_send(in EPTF_LwM2M_PDU pl_msg)
f_EPTF_LwM2M_CoapApplibTransport_messageReceived(in EPTF_COAP_PDU pl_message, in boolean p_duplicate)
f_EPTF_LwM2M_CoapApplibTransport_eventIndication(in EPTF_COAP_EventDescriptor pl_event)
f_EPTF_LwM2M_CoapApplibTransport_ObjectPath_to_resourceIdString(in ObjectPath p_path)
}
@enduml
******************************************************************/
///////////////////////////////////////////////////////////
// Type: EPTF_LwM2M_CoapApplibTransport_CT
//
// Purpose:
// LWM2M local transport component realized with <EPTF_COAP_LGen_CT>
//
// Class:
// (see EPTF_LwM2M_CoapApplibTransport_Definitions.EPTF_LwM2M_CoapApplibTransport_CT.jpg)
//
// Extensions:
// - <EPTF_LwM2M_Transport_Provider_CT>
// - <EPTF_COAP_LGen_CT>
// - <EPTF_Base_CT>
//
// Ports:
// -
//
// Timers:
// -
//
// Variables:
// v_EPTF_LwM2M_CoapApplibTransport_initialized - *boolean* - Flag to indicate if the init function was already called
//
// Related Functions:
// - <f_EPTF_LwM2M_CoapApplibTransport_init> (*in charstring* pl_name)
// - <f_EPTF_LwM2M_CoapApplibTransport_cleanup> ()
// - <f_EPTF_LwM2M_CoapApplibTransport_send> (*in* <EPTF_LwM2M_PDU> pl_msg)
// - <f_EPTF_LwM2M_CoapApplibTransport_messageReceived> (*in* <EPTF_COAP_PDU> pl_message, in *boolean* p_duplicate)
// - <f_EPTF_LwM2M_CoapApplibTransport_eventIndication> (*in* <EPTF_COAP_EventDescriptor> pl_event)
// - <f_EPTF_LwM2M_CoapApplibTransport_ObjectPath_to_resourceIdString> (*in* <ObjectPath> p_path)
///////////////////////////////////////////////////////////
type component EPTF_LwM2M_CoapApplibTransport_CT
extends EPTF_LwM2M_Transport_Provider_CT, EPTF_Base_CT, EPTF_COAP_LGen_CT
{
var boolean v_EPTF_LwM2M_CoapApplibTransport_initialized := false;
var EPTF_LwM2M_CoapApplibTransport_Statistics v_EPTF_LwM2M_CoapApplibTransport_stats := c_EPTF_LwM2M_CoapApplibTransport_Statistics_empty;
}
/*****************************************************************
@startuml EPTF_LwM2M_CoapApplibTransport_Definitions.EPTF_LwM2M_CoapApplibTransport_Statistics.jpg
class EPTF_COAP_Transport_Statistics {
integer nofOpenConnections
integer nofTransportWarnings
float nofReceivedMessages
float nofSentMessages
float nofReceivedBytes
float nofSentBytes
}
@enduml
******************************************************************/
///////////////////////////////////////////////////////////
// Type: EPTF_LwM2M_CoapApplibTransport_Statistics
//
// Purpose:
// Storing counters for transport related statistics
//
// Class:
// (see EPTF_LwM2M_CoapApplibTransport_Definitions.EPTF_LwM2M_CoapApplibTransport_Statistics.jpg)
//
// Elements:
// nofReceivedMessages - *integer* - number of received messages
// nofSentMessages - *integer* - number of sent messages
// nofDecodingErrors - *integer* - number of times the COAP messages couldn't be mapped to LwM2M
///////////////////////////////////////////////////////////
type record EPTF_LwM2M_CoapApplibTransport_Statistics
{
integer nofSentMessages,
integer nofReceivedMessages,
integer nofDecodingErrors
}
const EPTF_LwM2M_CoapApplibTransport_Statistics c_EPTF_LwM2M_CoapApplibTransport_Statistics_empty :=
{
nofSentMessages := 0,
nofReceivedMessages := 0,
nofDecodingErrors := 0
}
}