generated apidoc documentation added
diff --git a/apidoc/Data/ClassHierarchy.nd b/apidoc/Data/ClassHierarchy.nd
new file mode 100644
index 0000000..bc063b0
--- /dev/null
+++ b/apidoc/Data/ClassHierarchy.nd
Binary files differ
diff --git a/apidoc/Data/ConfigFileInfo.nd b/apidoc/Data/ConfigFileInfo.nd
new file mode 100644
index 0000000..fd8d97e
--- /dev/null
+++ b/apidoc/Data/ConfigFileInfo.nd
Binary files differ
diff --git a/apidoc/Data/FileInfo.nd b/apidoc/Data/FileInfo.nd
new file mode 100644
index 0000000..4c9157f
--- /dev/null
+++ b/apidoc/Data/FileInfo.nd
@@ -0,0 +1,7 @@
+1.52
+TTCN3
+/home/ETHGRY/Titan_FOSS/ApplicationLibraries/MQTT/src/EPTF_MQTT_Transport_Definitions.ttcn 1581695468 1 EPTF_MQTT_Transport_Definitions
+/home/ETHGRY/Titan_FOSS/ApplicationLibraries/MQTT/src/EPTF_MQTT_LocalTransport_Definitions.ttcn 1581695468 1 EPTF_MQTT_LocalTransport_Definitions
+/home/ETHGRY/Titan_FOSS/ApplicationLibraries/MQTT/src/EPTF_MQTT_LGen_Functions.ttcn 1581695468 1 EPTF_MQTT_LGen_Functions
+/home/ETHGRY/Titan_FOSS/ApplicationLibraries/MQTT/src/EPTF_MQTT_LocalTransport_Functions.ttcn 1581695468 1 EPTF_MQTT_LocalTransport_Functions
+/home/ETHGRY/Titan_FOSS/ApplicationLibraries/MQTT/src/EPTF_MQTT_LGen_Definitions.ttcn 1581695468 1 EPTF_MQTT_LGen_Definitions
diff --git a/apidoc/Data/ImageFileInfo.nd b/apidoc/Data/ImageFileInfo.nd
new file mode 100644
index 0000000..278e2bf
--- /dev/null
+++ b/apidoc/Data/ImageFileInfo.nd
Binary files differ
diff --git a/apidoc/Data/ImageReferenceTable.nd b/apidoc/Data/ImageReferenceTable.nd
new file mode 100644
index 0000000..a61cbf4
--- /dev/null
+++ b/apidoc/Data/ImageReferenceTable.nd
Binary files differ
diff --git a/apidoc/Data/IndexInfo.nd b/apidoc/Data/IndexInfo.nd
new file mode 100644
index 0000000..50b9b01
--- /dev/null
+++ b/apidoc/Data/IndexInfo.nd
Binary files differ
diff --git a/apidoc/Data/PreviousMenuState.nd b/apidoc/Data/PreviousMenuState.nd
new file mode 100644
index 0000000..b98adcd
--- /dev/null
+++ b/apidoc/Data/PreviousMenuState.nd
Binary files differ
diff --git a/apidoc/Data/PreviousSettings.nd b/apidoc/Data/PreviousSettings.nd
new file mode 100644
index 0000000..800d54e
--- /dev/null
+++ b/apidoc/Data/PreviousSettings.nd
Binary files differ
diff --git a/apidoc/Data/SymbolTable.nd b/apidoc/Data/SymbolTable.nd
new file mode 100644
index 0000000..cb12c6b
--- /dev/null
+++ b/apidoc/Data/SymbolTable.nd
Binary files differ
diff --git a/apidoc/Languages.txt b/apidoc/Languages.txt
new file mode 100755
index 0000000..c6dfefb
--- /dev/null
+++ b/apidoc/Languages.txt
@@ -0,0 +1,126 @@
+Format: 1.52
+
+# This is the Natural Docs languages file for this project. If you change
+# anything here, it will apply to THIS PROJECT ONLY. If you'd like to change
+# something for all your projects, edit the Languages.txt in Natural Docs'
+# Config directory instead.
+
+
+Ignore Extensions: cc c cpp hh h o sh csh txt pl pm py
+
+
+#-------------------------------------------------------------------------------
+# SYNTAX:
+#
+# Unlike other Natural Docs configuration files, in this file all comments
+# MUST be alone on a line. Some languages deal with the # character, so you
+# cannot put comments on the same line as content.
+#
+# Also, all lists are separated with spaces, not commas, again because some
+# languages may need to use them.
+#
+# Language: [name]
+# Alter Language: [name]
+# Defines a new language or alters an existing one. Its name can use any
+# characters. If any of the properties below have an add/replace form, you
+# must use that when using Alter Language.
+#
+# The language Shebang Script is special. It's entry is only used for
+# extensions, and files with those extensions have their shebang (#!) lines
+# read to determine the real language of the file. Extensionless files are
+# always treated this way.
+#
+# The language Text File is also special. It's treated as one big comment
+# so you can put Natural Docs content in them without special symbols. Also,
+# if you don't specify a package separator, ignored prefixes, or enum value
+# behavior, it will copy those settings from the language that is used most
+# in the source tree.
+#
+# Extensions: [extension] [extension] ...
+# [Add/Replace] Extensions: [extension] [extension] ...
+# Defines the file extensions of the language's source files. You can
+# redefine extensions found in the main languages file. You can use * to
+# mean any undefined extension.
+#
+# Shebang Strings: [string] [string] ...
+# [Add/Replace] Shebang Strings: [string] [string] ...
+# Defines a list of strings that can appear in the shebang (#!) line to
+# designate that it's part of the language. You can redefine strings found
+# in the main languages file.
+#
+# Ignore Prefixes in Index: [prefix] [prefix] ...
+# [Add/Replace] Ignored Prefixes in Index: [prefix] [prefix] ...
+#
+# Ignore [Topic Type] Prefixes in Index: [prefix] [prefix] ...
+# [Add/Replace] Ignored [Topic Type] Prefixes in Index: [prefix] [prefix] ...
+# Specifies prefixes that should be ignored when sorting symbols in an
+# index. Can be specified in general or for a specific topic type.
+#
+#------------------------------------------------------------------------------
+# For basic language support only:
+#
+# Line Comments: [symbol] [symbol] ...
+# Defines a space-separated list of symbols that are used for line comments,
+# if any.
+#
+# Block Comments: [opening sym] [closing sym] [opening sym] [closing sym] ...
+# Defines a space-separated list of symbol pairs that are used for block
+# comments, if any.
+#
+# Package Separator: [symbol]
+# Defines the default package separator symbol. The default is a dot.
+#
+# [Topic Type] Prototype Enders: [symbol] [symbol] ...
+# When defined, Natural Docs will attempt to get a prototype from the code
+# immediately following the topic type. It stops when it reaches one of
+# these symbols. Use \n for line breaks.
+#
+# Line Extender: [symbol]
+# Defines the symbol that allows a prototype to span multiple lines if
+# normally a line break would end it.
+#
+# Enum Values: [global|under type|under parent]
+# Defines how enum values are referenced. The default is global.
+# global - Values are always global, referenced as 'value'.
+# under type - Values are under the enum type, referenced as
+# 'package.enum.value'.
+# under parent - Values are under the enum's parent, referenced as
+# 'package.value'.
+#
+# Perl Package: [perl package]
+# Specifies the Perl package used to fine-tune the language behavior in ways
+# too complex to do in this file.
+#
+#------------------------------------------------------------------------------
+# For full language support only:
+#
+# Full Language Support: [perl package]
+# Specifies the Perl package that has the parsing routines necessary for full
+# language support.
+#
+#-------------------------------------------------------------------------------
+
+# The following languages are defined in the main file, if you'd like to alter
+# them:
+#
+# Text File, Shebang Script, C/C++, C#, Java, JavaScript, Perl, Python,
+# PHP, SQL, Visual Basic, Pascal, Assembly, Ada, Tcl, Ruby, Makefile,
+# ActionScript, ColdFusion, R, Fortran
+
+# If you add a language that you think would be useful to other developers
+# and should be included in Natural Docs by default, please e-mail it to
+# languages [at] naturaldocs [dot] org.
+
+
+Language: TTCN3
+
+ Extensions: ttcn ttcnin ttcnpp
+ Line Comment: //
+ Block Comment: /* */
+ Function Prototype Enders: ; {
+ Variable Prototype Enders: ; =
+ Type Prototype Enders: ; \n
+ Constant Prototype Enders: ; }
+ Component Prototype Enders: ; {
+ Template Prototype Enders: := {
+ Altstep Prototype Enders: ; {
diff --git a/apidoc/Menu.txt b/apidoc/Menu.txt
new file mode 100644
index 0000000..4cc651a
--- /dev/null
+++ b/apidoc/Menu.txt
@@ -0,0 +1,56 @@
+Format: 1.52
+
+
+Title: Massive IoT Test Tools
+SubTitle: API Documentation
+
+Footer: Copyright 2020 Test Competence Center
+Timestamp: Generated on yyyy-mm-dd
+# m - One or two digit month. January is "1"
+# mm - Always two digit month. January is "01"
+# mon - Short month word. January is "Jan"
+# month - Long month word. January is "January"
+# d - One or two digit day. 1 is "1"
+# dd - Always two digit day. 1 is "01"
+# day - Day with letter extension. 1 is "1st"
+# yy - Two digit year. 2006 is "06"
+# yyyy - Four digit year. 2006 is "2006"
+# year - Four digit year. 2006 is "2006"
+
+
+# --------------------------------------------------------------------------
+#
+# Cut and paste the lines below to change the order in which your files
+# appear on the menu. Don't worry about adding or removing files, Natural
+# Docs will take care of that.
+#
+# You can further organize the menu by grouping the entries. Add a
+# "Group: [name] {" line to start a group, and add a "}" to end it.
+#
+# You can add text and web links to the menu by adding "Text: [text]" and
+# "Link: [name] ([URL])" lines, respectively.
+#
+# The formatting and comments are auto-generated, so don't worry about
+# neatness when editing the file. Natural Docs will clean it up the next
+# time it is run. When working with groups, just deal with the braces and
+# forget about the indentation and comments.
+#
+# --------------------------------------------------------------------------
+
+
+File: EPTF_MQTT_LGen_Definitions (EPTF_MQTT_LGen_Definitions.ttcn)
+File: EPTF_MQTT_LGen_Functions (EPTF_MQTT_LGen_Functions.ttcn)
+File: EPTF_MQTT_LocalTransport_Definitions (EPTF_MQTT_LocalTransport_Definitions.ttcn)
+File: EPTF_MQTT_LocalTransport_Functions (EPTF_MQTT_LocalTransport_Functions.ttcn)
+File: EPTF_MQTT_Transport_Definitions (EPTF_MQTT_Transport_Definitions.ttcn)
+
+Group: Index {
+
+ Constant Index: Constants
+ Index: Everything
+ File Index: Files
+ Function Index: Functions
+ Module Parameter Index: Module Parameters
+ Type Index: Types
+ } # Group: Index
+
diff --git a/apidoc/Topics.txt b/apidoc/Topics.txt
new file mode 100755
index 0000000..95e2676
--- /dev/null
+++ b/apidoc/Topics.txt
@@ -0,0 +1,164 @@
+Format: 1.52
+
+# This is the Natural Docs topics file for this project. If you change anything
+# here, it will apply to THIS PROJECT ONLY. If you'd like to change something
+# for all your projects, edit the Topics.txt in Natural Docs' Config directory
+# instead.
+
+
+Ignore Keywords:
+ note, notes
+
+
+#-------------------------------------------------------------------------------
+# SYNTAX:
+#
+# Topic Type: [name]
+# Alter Topic Type: [name]
+# Creates a new topic type or alters one from the main file. Each type gets
+# its own index and behavior settings. Its name can have letters, numbers,
+# spaces, and these charaters: - / . '
+#
+# Plural: [name]
+# Sets the plural name of the topic type, if different.
+#
+# Keywords:
+# [keyword]
+# [keyword], [plural keyword]
+# ...
+# Defines or adds to the list of keywords for the topic type. They may only
+# contain letters, numbers, and spaces and are not case sensitive. Plural
+# keywords are used for list topics. You can redefine keywords found in the
+# main topics file.
+#
+# Index: [yes|no]
+# Whether the topics get their own index. Defaults to yes. Everything is
+# included in the general index regardless of this setting.
+#
+# Scope: [normal|start|end|always global]
+# How the topics affects scope. Defaults to normal.
+# normal - Topics stay within the current scope.
+# start - Topics start a new scope for all the topics beneath it,
+# like class topics.
+# end - Topics reset the scope back to global for all the topics
+# beneath it.
+# always global - Topics are defined as global, but do not change the scope
+# for any other topics.
+#
+# Class Hierarchy: [yes|no]
+# Whether the topics are part of the class hierarchy. Defaults to no.
+#
+# Page Title If First: [yes|no]
+# Whether the topic's title becomes the page title if it's the first one in
+# a file. Defaults to no.
+#
+# Break Lists: [yes|no]
+# Whether list topics should be broken into individual topics in the output.
+# Defaults to no.
+#
+# Can Group With: [type], [type], ...
+# Defines a list of topic types that this one can possibly be grouped with.
+# Defaults to none.
+#-------------------------------------------------------------------------------
+
+# The following topics are defined in the main file, if you'd like to alter
+# their behavior or add keywords:
+#
+# Generic, Class, Interface, Section, File, Group, Function, Variable,
+# Property, Type, Constant, Enumeration, Event, Delegate, Macro,
+# Database, Database Table, Database View, Database Index, Database
+# Cursor, Database Trigger, Cookie, Build Target
+
+# If you add something that you think would be useful to other developers
+# and should be included in Natural Docs by default, please e-mail it to
+# topics [at] naturaldocs [dot] org.
+
+
+Alter Topic Type: Function
+
+ Index: Yes
+
+
+Alter Topic Type: Constant
+
+ Index: Yes
+
+
+Alter Topic Type: Type
+
+ Index: Yes
+
+
+Topic Type: Module Parameter
+
+ Plural: Module Parameters
+ Index: Yes
+
+ Keywords:
+ module parameter, module parameters
+
+
+Topic Type: Configuration Type
+
+ Plural: Configuration Types
+ Index: Yes
+ Can Group With: Types
+
+ Keywords:
+ configtype, configtypes
+
+
+Topic Type: Testcase
+
+ Plural: Testcases
+ Index: No
+
+ Keywords:
+ testcase, testcases
+
+
+Topic Type: Altstep
+
+ Plural: Altsteps
+ Index: No
+
+ Keywords:
+ altstep, altsteps
+
+
+Topic Type: Template
+
+ Plural: Templates
+ Index: No
+
+ Keywords:
+ template, templates
+
+
+Alter Topic Type: Group
+
+ Plural: Groups
+ Index: No
+
+ Add Keywords:
+ group
+
+
+Alter Topic Type: Generic
+
+
+
+Alter Topic Type: File
+
+ Index: Yes
+ Add Keywords:
+ module
+
+
+Topic Type: Component
+
+ Plural: Components
+ Index: No
+
+ Keywords:
+ component, components
diff --git a/apidoc/html/files/EPTF_MQTT_LGen_Definitions-ttcn.html b/apidoc/html/files/EPTF_MQTT_LGen_Definitions-ttcn.html
new file mode 100644
index 0000000..364efce
--- /dev/null
+++ b/apidoc/html/files/EPTF_MQTT_LGen_Definitions-ttcn.html
@@ -0,0 +1,226 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>EPTF_MQTT_LGen_Definitions - Massive IoT Test Tools</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script></head><body class="FramedContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="EPTF_MQTT_LGen_Definitions"></a>EPTF_MQTT_LGen_Definitions</h1><div class=CBody><h4 class=CHeading>Purpose</h4><p>This module contains the definitions for the MQTT load generator component</p><h4 class=CHeading>Module depends on</h4><ul><li><a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Definitions" class=LFile id=link107 onMouseOver="ShowTip(event, 'tt93', 'link107')" onMouseOut="HideTip('tt93')">EPTF_MQTT_Transport_Definitions</a></li><li><EPTF_CLL_LGenBase_Definitions></li><li><EPTF_CLL_Logging_Definitions></li><li><EPTF_CLL_FBQ_Definitions></li><li><EPTF_CLL_Common_Definitions></li><li><Socket_API_Definitions></li><li><MQTT_v3_1_1_Types></li></ul><h4 class=CHeading>Module Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>tsp_EPTF_MQTT_LGen_debug</td><td class=CDLDescription><a href="#tsp_EPTF_MQTT_LGen_debug" class=LModuleParameter id=link108 onMouseOver="ShowTip(event, 'tt94', 'link108')" onMouseOut="HideTip('tt94')">tsp_EPTF_MQTT_LGen_debug</a> - <b>boolean</b> - Enabled/disable debug logging</td></tr><tr><td class=CDLEntry>tsp_EPTF_MQTT_LGen_debugVerbose</td><td class=CDLDescription><a href="#tsp_EPTF_MQTT_LGen_debugVerbose" class=LModuleParameter id=link109 onMouseOver="ShowTip(event, 'tt95', 'link109')" onMouseOut="HideTip('tt95')">tsp_EPTF_MQTT_LGen_debugVerbose</a> - <b>boolean</b> - Enabled/disable verbosity of debug logging</td></tr><tr><td class=CDLEntry>tsp_EPTF_MQTT_LGen_maxBindableCtx</td><td class=CDLDescription><a href="#tsp_EPTF_MQTT_LGen_maxBindableCtx" class=LModuleParameter id=link110 onMouseOver="ShowTip(event, 'tt96', 'link110')" onMouseOut="HideTip('tt96')">tsp_EPTF_MQTT_LGen_maxBindableCtx</a> - <b>integer</b> - Maximum number of context to bind(?)</td></tr><tr><td class=CDLEntry>tsp_EPTF_MQTT_LGen_templates</td><td class=CDLDescription><a href="#tsp_EPTF_MQTT_LGen_templates" class=LModuleParameter id=link111 onMouseOver="ShowTip(event, 'tt97', 'link111')" onMouseOut="HideTip('tt97')">tsp_EPTF_MQTT_LGen_templates</a> - <a href="#MQTT_Template_List" class=LType id=link112 onMouseOver="ShowTip(event, 'tt2', 'link112')" onMouseOut="HideTip('tt2')">MQTT_Template_List</a> - MQTT message template definitions for sending</td></tr><tr><td class=CDLEntry>tsp_EPTF_MQTT_PUBLISH_responseWatchdog</td><td class=CDLDescription><a href="#tsp_EPTF_MQTT_PUBLISH_responseWatchdog" class=LModuleParameter id=link113 onMouseOver="ShowTip(event, 'tt98', 'link113')" onMouseOut="HideTip('tt98')">tsp_EPTF_MQTT_PUBLISH_responseWatchdog</a> - <b>float</b> - Watchdog timer value to wait responses to an MQTT PUBLISH message</td></tr></table><h4 class=CHeading>Events</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>MQTT transport success</td><td class=CDLDescription><a href="#c_MQTT_eventIdx_transportSucc" class=LConstant id=link114 onMouseOver="ShowTip(event, 'tt19', 'link114')" onMouseOut="HideTip('tt19')">c_MQTT_eventIdx_transportSucc</a>, <a href="#c_MQTT_eventName_transportSucc" class=LConstant id=link115 onMouseOver="ShowTip(event, 'tt20', 'link115')" onMouseOut="HideTip('tt20')">c_MQTT_eventName_transportSucc</a></td></tr><tr><td class=CDLEntry>MQTT transport fail</td><td class=CDLDescription><a href="#c_MQTT_eventIdx_transportFail" class=LConstant id=link116 onMouseOver="ShowTip(event, 'tt21', 'link116')" onMouseOut="HideTip('tt21')">c_MQTT_eventIdx_transportFail</a>, <a href="#c_MQTT_eventName_transportFail" class=LConstant id=link117 onMouseOver="ShowTip(event, 'tt22', 'link117')" onMouseOut="HideTip('tt22')">c_MQTT_eventName_transportFail</a></td></tr><tr><td class=CDLEntry>MQTT transport closed</td><td class=CDLDescription><a href="#c_MQTT_eventIdx_transportClosed" class=LConstant id=link118 onMouseOver="ShowTip(event, 'tt23', 'link118')" onMouseOut="HideTip('tt23')">c_MQTT_eventIdx_transportClosed</a>, <a href="#c_MQTT_eventName_transportClosed" class=LConstant id=link119 onMouseOver="ShowTip(event, 'tt24', 'link119')" onMouseOut="HideTip('tt24')">c_MQTT_eventName_transportClosed</a></td></tr><tr><td class=CDLEntry>CONNACK accepted</td><td class=CDLDescription><a href="#c_MQTT_eventIdx_CONNACK_Accepted" class=LConstant id=link120 onMouseOver="ShowTip(event, 'tt25', 'link120')" onMouseOut="HideTip('tt25')">c_MQTT_eventIdx_CONNACK_Accepted</a>, <a href="#c_MQTT_eventName_CONNACK_Accepted" class=LConstant id=link121 onMouseOver="ShowTip(event, 'tt26', 'link121')" onMouseOut="HideTip('tt26')">c_MQTT_eventName_CONNACK_Accepted</a></td></tr><tr><td class=CDLEntry>CONNAK refused</td><td class=CDLDescription><a href="#c_MQTT_eventIdx_CONNACK_Refused" class=LConstant id=link122 onMouseOver="ShowTip(event, 'tt27', 'link122')" onMouseOut="HideTip('tt27')">c_MQTT_eventIdx_CONNACK_Refused</a>, <a href="#c_MQTT_eventName_CONNACK_Refused" class=LConstant id=link123 onMouseOver="ShowTip(event, 'tt28', 'link123')" onMouseOut="HideTip('tt28')">c_MQTT_eventName_CONNACK_Refused</a></td></tr><tr><td class=CDLEntry>SUBACK accepted</td><td class=CDLDescription><a href="#c_MQTT_eventIdx_SUBACK_Accepted" class=LConstant id=link124 onMouseOver="ShowTip(event, 'tt29', 'link124')" onMouseOut="HideTip('tt29')">c_MQTT_eventIdx_SUBACK_Accepted</a>, <a href="#c_MQTT_eventName_SUBACK_Accepted" class=LConstant id=link125 onMouseOver="ShowTip(event, 'tt30', 'link125')" onMouseOut="HideTip('tt30')">c_MQTT_eventName_SUBACK_Accepted</a> SUBACK refused <a href="#c_MQTT_eventIdx_SUBACK_Refused" class=LConstant id=link126 onMouseOver="ShowTip(event, 'tt31', 'link126')" onMouseOut="HideTip('tt31')">c_MQTT_eventIdx_SUBACK_Refused</a>, <a href="#c_MQTT_eventName_SUBACK_Refused" class=LConstant id=link127 onMouseOver="ShowTip(event, 'tt32', 'link127')" onMouseOut="HideTip('tt32')">c_MQTT_eventName_SUBACK_Refused</a></td></tr><tr><td class=CDLEntry>UNSUBACK</td><td class=CDLDescription><a href="#c_MQTT_eventIdx_UNSUBACK" class=LConstant id=link128 onMouseOver="ShowTip(event, 'tt33', 'link128')" onMouseOut="HideTip('tt33')">c_MQTT_eventIdx_UNSUBACK</a>, <a href="#c_MQTT_eventName_UNSUBACK" class=LConstant id=link129 onMouseOver="ShowTip(event, 'tt34', 'link129')" onMouseOut="HideTip('tt34')">c_MQTT_eventName_UNSUBACK</a></td></tr><tr><td class=CDLEntry>PUBLISH</td><td class=CDLDescription><a href="#c_MQTT_eventIdx_PUBLISH" class=LConstant id=link130 onMouseOver="ShowTip(event, 'tt35', 'link130')" onMouseOut="HideTip('tt35')">c_MQTT_eventIdx_PUBLISH</a>, <a href="#c_MQTT_eventName_PUBLISH" class=LConstant id=link131 onMouseOver="ShowTip(event, 'tt36', 'link131')" onMouseOut="HideTip('tt36')">c_MQTT_eventName_PUBLISH</a></td></tr><tr><td class=CDLEntry>PING request</td><td class=CDLDescription><a href="#c_MQTT_eventIdx_PING_Request" class=LConstant id=link132 onMouseOver="ShowTip(event, 'tt37', 'link132')" onMouseOut="HideTip('tt37')">c_MQTT_eventIdx_PING_Request</a>, <a href="#c_MQTT_eventName_PING_Request" class=LConstant id=link133 onMouseOver="ShowTip(event, 'tt38', 'link133')" onMouseOut="HideTip('tt38')">c_MQTT_eventName_PING_Request</a></td></tr><tr><td class=CDLEntry>PING response</td><td class=CDLDescription><a href="#c_MQTT_eventIdx_PING_Response" class=LConstant id=link134 onMouseOver="ShowTip(event, 'tt39', 'link134')" onMouseOut="HideTip('tt39')">c_MQTT_eventIdx_PING_Response</a>, <a href="#c_MQTT_eventName_PING_Response" class=LConstant id=link135 onMouseOver="ShowTip(event, 'tt40', 'link135')" onMouseOut="HideTip('tt40')">c_MQTT_eventName_PING_Response</a></td></tr><tr><td class=CDLEntry>PUBACK</td><td class=CDLDescription><a href="#c_MQTT_eventIdx_PUBACK" class=LConstant id=link136 onMouseOver="ShowTip(event, 'tt41', 'link136')" onMouseOut="HideTip('tt41')">c_MQTT_eventIdx_PUBACK</a>, <a href="#c_MQTT_eventName_PUBACK" class=LConstant id=link137 onMouseOver="ShowTip(event, 'tt42', 'link137')" onMouseOut="HideTip('tt42')">c_MQTT_eventName_PUBACK</a></td></tr><tr><td class=CDLEntry>PUBREC</td><td class=CDLDescription><a href="#c_MQTT_eventIdx_PUBREC" class=LConstant id=link138 onMouseOver="ShowTip(event, 'tt43', 'link138')" onMouseOut="HideTip('tt43')">c_MQTT_eventIdx_PUBREC</a>, <a href="#c_MQTT_eventName_PUBREC" class=LConstant id=link139 onMouseOver="ShowTip(event, 'tt44', 'link139')" onMouseOut="HideTip('tt44')">c_MQTT_eventName_PUBREC</a></td></tr><tr><td class=CDLEntry>PUBREL</td><td class=CDLDescription><a href="#c_MQTT_eventIdx_PUBREL" class=LConstant id=link140 onMouseOver="ShowTip(event, 'tt45', 'link140')" onMouseOut="HideTip('tt45')">c_MQTT_eventIdx_PUBREL</a>, <a href="#c_MQTT_eventName_PUBREL" class=LConstant id=link141 onMouseOver="ShowTip(event, 'tt46', 'link141')" onMouseOut="HideTip('tt46')">c_MQTT_eventName_PUBREL</a></td></tr><tr><td class=CDLEntry>PUBCOMP</td><td class=CDLDescription><a href="#c_MQTT_eventIdx_PUBCOMP" class=LConstant id=link142 onMouseOver="ShowTip(event, 'tt47', 'link142')" onMouseOut="HideTip('tt47')">c_MQTT_eventIdx_PUBCOMP</a>, <a href="#c_MQTT_eventName_PUBCOMP" class=LConstant id=link143 onMouseOver="ShowTip(event, 'tt48', 'link143')" onMouseOut="HideTip('tt48')">c_MQTT_eventName_PUBCOMP</a></td></tr><tr><td class=CDLEntry>PUBLISH teimout</td><td class=CDLDescription><a href="#c_MQTT_eventIdx_PUBLISH_Timeout" class=LConstant id=link144 onMouseOver="ShowTip(event, 'tt49', 'link144')" onMouseOut="HideTip('tt49')">c_MQTT_eventIdx_PUBLISH_Timeout</a>, <a href="#c_MQTT_eventName_PUBLISH_Timeout" class=LConstant id=link145 onMouseOver="ShowTip(event, 'tt50', 'link145')" onMouseOut="HideTip('tt50')">c_MQTT_eventName_PUBLISH_Timeout</a></td></tr></table><h4 class=CHeading>TestSteps</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>MQTT init</td><td class=CDLDescription><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_init" class=LFunction id=link146 onMouseOver="ShowTip(event, 'tt99', 'link146')" onMouseOut="HideTip('tt99')">f_MQTT_step_init</a>, <a href="#c_MQTT_stepIdx_init" class=LConstant id=link147 onMouseOver="ShowTip(event, 'tt51', 'link147')" onMouseOut="HideTip('tt51')">c_MQTT_stepIdx_init</a>, <a href="#c_MQTT_stepName_init" class=LConstant id=link148 onMouseOver="ShowTip(event, 'tt52', 'link148')" onMouseOut="HideTip('tt52')">c_MQTT_stepName_init</a></td></tr><tr><td class=CDLEntry>MQTT cleanUp</td><td class=CDLDescription><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_cleanUp" class=LFunction id=link149 onMouseOver="ShowTip(event, 'tt100', 'link149')" onMouseOut="HideTip('tt100')">f_MQTT_step_cleanUp</a>, <a href="#c_MQTT_stepIdx_init" class=LConstant id=link150 onMouseOver="ShowTip(event, 'tt51', 'link150')" onMouseOut="HideTip('tt51')">c_MQTT_stepIdx_init</a>, <a href="#c_MQTT_stepIdx_init" class=LConstant id=link151 onMouseOver="ShowTip(event, 'tt51', 'link151')" onMouseOut="HideTip('tt51')">c_MQTT_stepIdx_init</a></td></tr><tr><td class=CDLEntry>set local address</td><td class=CDLDescription><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setLocalAddress_byVars" class=LFunction id=link152 onMouseOver="ShowTip(event, 'tt101', 'link152')" onMouseOut="HideTip('tt101')">f_MQTT_step_setLocalAddress_byVars</a>, <a href="#c_MQTT_stepIdx_setLocalAddress_byVars" class=LConstant id=link153 onMouseOver="ShowTip(event, 'tt55', 'link153')" onMouseOut="HideTip('tt55')">c_MQTT_stepIdx_setLocalAddress_byVars</a>, <a href="#c_MQTT_stepName_setLocalAddress_byVars" class=LConstant id=link154 onMouseOver="ShowTip(event, 'tt56', 'link154')" onMouseOut="HideTip('tt56')">c_MQTT_stepName_setLocalAddress_byVars</a></td></tr><tr><td class=CDLEntry>set remote address</td><td class=CDLDescription><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setRemoteAddress_byVars" class=LFunction id=link155 onMouseOver="ShowTip(event, 'tt102', 'link155')" onMouseOut="HideTip('tt102')">f_MQTT_step_setRemoteAddress_byVars</a>, <a href="#c_MQTT_stepIdx_setRemoteAddress_byVars" class=LConstant id=link156 onMouseOver="ShowTip(event, 'tt57', 'link156')" onMouseOut="HideTip('tt57')">c_MQTT_stepIdx_setRemoteAddress_byVars</a>, <a href="#c_MQTT_stepName_setRemoteAddress_byVars" class=LConstant id=link157 onMouseOver="ShowTip(event, 'tt58', 'link157')" onMouseOut="HideTip('tt58')">c_MQTT_stepName_setRemoteAddress_byVars</a></td></tr><tr><td class=CDLEntry>transport connect</td><td class=CDLDescription><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_transportConnect" class=LFunction id=link158 onMouseOver="ShowTip(event, 'tt103', 'link158')" onMouseOut="HideTip('tt103')">f_MQTT_step_transportConnect</a>, <a href="#c_MQTT_stepIdx_transportConnect" class=LConstant id=link159 onMouseOver="ShowTip(event, 'tt59', 'link159')" onMouseOut="HideTip('tt59')">c_MQTT_stepIdx_transportConnect</a>, <a href="#c_MQTT_stepName_transportConnect" class=LConstant id=link160 onMouseOver="ShowTip(event, 'tt60', 'link160')" onMouseOut="HideTip('tt60')">c_MQTT_stepName_transportConnect</a></td></tr><tr><td class=CDLEntry>transport close</td><td class=CDLDescription><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_transportClose" class=LFunction id=link161 onMouseOver="ShowTip(event, 'tt104', 'link161')" onMouseOut="HideTip('tt104')">f_MQTT_step_transportClose</a>, <a href="#c_MQTT_stepIdx_transportClose" class=LConstant id=link162 onMouseOver="ShowTip(event, 'tt61', 'link162')" onMouseOut="HideTip('tt61')">c_MQTT_stepIdx_transportClose</a>, <a href="#c_MQTT_stepName_transportClose" class=LConstant id=link163 onMouseOver="ShowTip(event, 'tt62', 'link163')" onMouseOut="HideTip('tt62')">c_MQTT_stepName_transportClose</a></td></tr><tr><td class=CDLEntry>start listening</td><td class=CDLDescription><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_startListening" class=LFunction id=link164 onMouseOver="ShowTip(event, 'tt105', 'link164')" onMouseOut="HideTip('tt105')">f_MQTT_step_startListening</a>, <a href="#c_MQTT_stepIdx_startListening" class=LConstant id=link165 onMouseOver="ShowTip(event, 'tt63', 'link165')" onMouseOut="HideTip('tt63')">c_MQTT_stepIdx_startListening</a>, <a href="#c_MQTT_stepName_startListening" class=LConstant id=link166 onMouseOver="ShowTip(event, 'tt64', 'link166')" onMouseOut="HideTip('tt64')">c_MQTT_stepName_startListening</a></td></tr><tr><td class=CDLEntry>load MQTT template</td><td class=CDLDescription><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_loadTemplate_byIntIdx" class=LFunction id=link167 onMouseOver="ShowTip(event, 'tt106', 'link167')" onMouseOut="HideTip('tt106')">f_MQTT_step_loadTemplate_byIntIdx</a>, <a href="#c_MQTT_stepIdx_loadTemplate_byIntIdx" class=LConstant id=link168 onMouseOver="ShowTip(event, 'tt65', 'link168')" onMouseOut="HideTip('tt65')">c_MQTT_stepIdx_loadTemplate_byIntIdx</a>, <a href="#c_MQTT_stepName_loadTemplate_byIntIdx" class=LConstant id=link169 onMouseOver="ShowTip(event, 'tt66', 'link169')" onMouseOut="HideTip('tt66')">c_MQTT_stepName_loadTemplate_byIntIdx</a> <a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_loadTemplate_byStringId" class=LFunction id=link170 onMouseOver="ShowTip(event, 'tt107', 'link170')" onMouseOut="HideTip('tt107')">f_MQTT_step_loadTemplate_byStringId</a>, <a href="#c_MQTT_stepIdx_loadTemplate_byStringId" class=LConstant id=link171 onMouseOver="ShowTip(event, 'tt67', 'link171')" onMouseOut="HideTip('tt67')">c_MQTT_stepIdx_loadTemplate_byStringId</a>, <a href="#c_MQTT_stepName_loadTemplate_byStringId" class=LConstant id=link172 onMouseOver="ShowTip(event, 'tt68', 'link172')" onMouseOut="HideTip('tt68')">c_MQTT_stepName_loadTemplate_byStringId</a></td></tr><tr><td class=CDLEntry>send message</td><td class=CDLDescription><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_send" class=LFunction id=link173 onMouseOver="ShowTip(event, 'tt108', 'link173')" onMouseOut="HideTip('tt108')">f_MQTT_step_send</a>, <a href="#c_MQTT_stepIdx_send" class=LConstant id=link174 onMouseOver="ShowTip(event, 'tt69', 'link174')" onMouseOut="HideTip('tt69')">c_MQTT_stepIdx_send</a>, <a href="#c_MQTT_stepName_send" class=LConstant id=link175 onMouseOver="ShowTip(event, 'tt70', 'link175')" onMouseOut="HideTip('tt70')">c_MQTT_stepName_send</a></td></tr><tr><td class=CDLEntry>set topic</td><td class=CDLDescription><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_stringParam" class=LFunction id=link176 onMouseOver="ShowTip(event, 'tt109', 'link176')" onMouseOut="HideTip('tt109')">f_MQTT_step_setTopic_stringParam</a>, <a href="#c_MQTT_stepIdx_setTopic_stringParam" class=LConstant id=link177 onMouseOver="ShowTip(event, 'tt71', 'link177')" onMouseOut="HideTip('tt71')">c_MQTT_stepIdx_setTopic_stringParam</a>, <a href="#c_MQTT_stepName_setTopic_stringParam" class=LConstant id=link178 onMouseOver="ShowTip(event, 'tt72', 'link178')" onMouseOut="HideTip('tt72')">c_MQTT_stepName_setTopic_stringParam</a> <a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_stringParam" class=LFunction id=link179 onMouseOver="ShowTip(event, 'tt110', 'link179')" onMouseOut="HideTip('tt110')">f_MQTT_step_setTopic_add_stringParam</a>, <a href="#c_MQTT_stepIdx_setTopic_add_stringParam" class=LConstant id=link180 onMouseOver="ShowTip(event, 'tt73', 'link180')" onMouseOut="HideTip('tt73')">c_MQTT_stepIdx_setTopic_add_stringParam</a>, <a href="#c_MQTT_stepName_setTopic_add_stringParam" class=LConstant id=link181 onMouseOver="ShowTip(event, 'tt74', 'link181')" onMouseOut="HideTip('tt74')">c_MQTT_stepName_setTopic_add_stringParam</a> <a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_varParams" class=LFunction id=link182 onMouseOver="ShowTip(event, 'tt111', 'link182')" onMouseOut="HideTip('tt111')">f_MQTT_step_setTopic_add_varParams</a>, <a href="#c_MQTT_stepIdx_setTopic_add_varParams" class=LConstant id=link183 onMouseOver="ShowTip(event, 'tt75', 'link183')" onMouseOut="HideTip('tt75')">c_MQTT_stepIdx_setTopic_add_varParams</a>, <a href="#c_MQTT_stepName_setTopic_add_varParams" class=LConstant id=link184 onMouseOver="ShowTip(event, 'tt76', 'link184')" onMouseOut="HideTip('tt76')">c_MQTT_stepName_setTopic_add_varParams</a> <a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_clientId" class=LFunction id=link185 onMouseOver="ShowTip(event, 'tt112', 'link185')" onMouseOut="HideTip('tt112')">f_MQTT_step_setTopic_add_clientId</a>, <a href="#c_MQTT_stepIdx_setTopic_add_clientId" class=LConstant id=link186 onMouseOver="ShowTip(event, 'tt77', 'link186')" onMouseOut="HideTip('tt77')">c_MQTT_stepIdx_setTopic_add_clientId</a>, <a href="#c_MQTT_stepName_setTopic_add_clientId" class=LConstant id=link187 onMouseOver="ShowTip(event, 'tt78', 'link187')" onMouseOut="HideTip('tt78')">c_MQTT_stepName_setTopic_add_clientId</a></td></tr><tr><td class=CDLEntry>set QoS</td><td class=CDLDescription><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setQos_intParam" class=LFunction id=link188 onMouseOver="ShowTip(event, 'tt113', 'link188')" onMouseOut="HideTip('tt113')">f_MQTT_step_setQos_intParam</a>, <a href="#c_MQTT_stepIdx_setQos_intParam" class=LConstant id=link189 onMouseOver="ShowTip(event, 'tt79', 'link189')" onMouseOut="HideTip('tt79')">c_MQTT_stepIdx_setQos_intParam</a>, <a href="#c_MQTT_stepName_setQos_intParam" class=LConstant id=link190 onMouseOver="ShowTip(event, 'tt80', 'link190')" onMouseOut="HideTip('tt80')">c_MQTT_stepName_setQos_intParam</a></td></tr><tr><td class=CDLEntry>set publish message</td><td class=CDLDescription><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_stringParam" class=LFunction id=link191 onMouseOver="ShowTip(event, 'tt114', 'link191')" onMouseOut="HideTip('tt114')">f_MQTT_step_setPublishMessage_stringParam</a>, <a href="#c_MQTT_stepIdx_setPublishMessage_stringParam" class=LConstant id=link192 onMouseOver="ShowTip(event, 'tt81', 'link192')" onMouseOut="HideTip('tt81')">c_MQTT_stepIdx_setPublishMessage_stringParam</a>, <a href="#c_MQTT_stepName_setPublishMessage_stringParam" class=LConstant id=link193 onMouseOver="ShowTip(event, 'tt82', 'link193')" onMouseOut="HideTip('tt82')">c_MQTT_stepName_setPublishMessage_stringParam</a> <a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_stringParam" class=LFunction id=link194 onMouseOver="ShowTip(event, 'tt115', 'link194')" onMouseOut="HideTip('tt115')">f_MQTT_step_setPublishMessage_add_stringParam</a>, <a href="#c_MQTT_stepIdx_setPublishMessage_add_stringParam" class=LConstant id=link195 onMouseOver="ShowTip(event, 'tt83', 'link195')" onMouseOut="HideTip('tt83')">c_MQTT_stepIdx_setPublishMessage_add_stringParam</a>, <a href="#c_MQTT_stepName_setPublishMessage_add_stringParam" class=LConstant id=link196 onMouseOver="ShowTip(event, 'tt84', 'link196')" onMouseOut="HideTip('tt84')">c_MQTT_stepName_setPublishMessage_add_stringParam</a> <a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_varParams" class=LFunction id=link197 onMouseOver="ShowTip(event, 'tt116', 'link197')" onMouseOut="HideTip('tt116')">f_MQTT_step_setPublishMessage_add_varParams</a>, <a href="#c_MQTT_stepIdx_setPublishMessage_add_varParams" class=LConstant id=link198 onMouseOver="ShowTip(event, 'tt85', 'link198')" onMouseOut="HideTip('tt85')">c_MQTT_stepIdx_setPublishMessage_add_varParams</a>, <a href="#c_MQTT_stepName_setPublishMessage_add_varParams" class=LConstant id=link199 onMouseOver="ShowTip(event, 'tt86', 'link199')" onMouseOut="HideTip('tt86')">c_MQTT_stepName_setPublishMessage_add_varParams</a> <a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_clientId" class=LFunction id=link200 onMouseOver="ShowTip(event, 'tt117', 'link200')" onMouseOut="HideTip('tt117')">f_MQTT_step_setPublishMessage_add_clientId</a>, <a href="#c_MQTT_stepIdx_setPublishMessage_add_clientId" class=LConstant id=link201 onMouseOver="ShowTip(event, 'tt87', 'link201')" onMouseOut="HideTip('tt87')">c_MQTT_stepIdx_setPublishMessage_add_clientId</a>, <a href="#c_MQTT_stepName_setPublishMessage_add_clientId" class=LConstant id=link202 onMouseOver="ShowTip(event, 'tt88', 'link202')" onMouseOut="HideTip('tt88')">c_MQTT_stepName_setPublishMessage_add_clientId</a></td></tr><tr><td class=CDLEntry>MQTT</td><td class=CDLDescription><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_reportPingResponse" class=LFunction id=link203 onMouseOver="ShowTip(event, 'tt118', 'link203')" onMouseOut="HideTip('tt118')">f_MQTT_step_reportPingResponse</a>, <a href="#c_MQTT_stepIdx_reportPingResponse" class=LConstant id=link204 onMouseOver="ShowTip(event, 'tt89', 'link204')" onMouseOut="HideTip('tt89')">c_MQTT_stepIdx_reportPingResponse</a>, <a href="#c_MQTT_stepName_reportPingResponse" class=LConstant id=link205 onMouseOver="ShowTip(event, 'tt90', 'link205')" onMouseOut="HideTip('tt90')">c_MQTT_stepName_reportPingResponse</a></td></tr><tr><td class=CDLEntry>MQTT</td><td class=CDLDescription><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_reportPublishResponse" class=LFunction id=link206 onMouseOver="ShowTip(event, 'tt119', 'link206')" onMouseOut="HideTip('tt119')">f_MQTT_step_reportPublishResponse</a>, <a href="#c_MQTT_stepIdx_reportPublishResponse" class=LConstant id=link207 onMouseOver="ShowTip(event, 'tt91', 'link207')" onMouseOut="HideTip('tt91')">c_MQTT_stepIdx_reportPublishResponse</a>, <a href="#c_MQTT_stepName_reportPublishResponse" class=LConstant id=link208 onMouseOver="ShowTip(event, 'tt92', 'link208')" onMouseOut="HideTip('tt92')">c_MQTT_stepName_reportPublishResponse</a></td></tr></table><h4 class=CHeading>Class Diagram</h4><p>(see EPTF_MQTT_LGen_Definitions.classes.jpg)</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#EPTF_MQTT_LGen_Definitions" >EPTF_MQTT_LGen_Definitions</a></td><td class=SDescription>This module contains the definitions for the MQTT load generator component</td></tr><tr class="SModuleParameter SMarked"><td class=SEntry><a href="#tsp_EPTF_MQTT_LGen_debug" >tsp_EPTF_MQTT_LGen_debug</a></td><td class=SDescription>Enabled/disable debug logging</td></tr><tr class="SModuleParameter"><td class=SEntry><a href="#tsp_EPTF_MQTT_LGen_debugVerbose" >tsp_EPTF_MQTT_LGen_debugVerbose</a></td><td class=SDescription>Enabled/disable verbosity of debug logging</td></tr><tr class="SModuleParameter SMarked"><td class=SEntry><a href="#tsp_EPTF_MQTT_LGen_maxBindableCtx" >tsp_EPTF_MQTT_LGen_maxBindableCtx</a></td><td class=SDescription>Can be used to limit the maximum number of contexts set it to -1 otherwise.</td></tr><tr class="SModuleParameter"><td class=SEntry><a href="#tsp_EPTF_MQTT_LGen_templates" >tsp_EPTF_MQTT_LGen_templates</a></td><td class=SDescription>MQTT message template definitions for sending</td></tr><tr class="SModuleParameter SMarked"><td class=SEntry><a href="#tsp_EPTF_MQTT_PUBLISH_responseWatchdog" >tsp_EPTF_MQTT_PUBLISH_responseWatchdog</a></td><td class=SDescription>Watchdog timer value to wait responses to an MQTT PUBLISH message</td></tr><tr class="SType"><td class=SEntry><a href="#MQTT_Template" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">MQTT_Template</a></td><td class=SDescription>Grouping a <MQTT_v3_1_1_ReqResp> with an id</td></tr><tr class="SType SMarked"><td class=SEntry><a href="#MQTT_Template_List" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">MQTT_Template_List</a></td><td class=SDescription>List of <a href="#MQTT_Template" class=LType id=link3 onMouseOver="ShowTip(event, 'tt1', 'link3')" onMouseOut="HideTip('tt1')">MQTT_Template</a></td></tr><tr class="SType"><td class=SEntry><a href="#MQTT_Template_DB" id=link4 onMouseOver="ShowTip(event, 'tt3', 'link4')" onMouseOut="HideTip('tt3')">MQTT_Template_DB</a></td><td class=SDescription>Storing <a href="#MQTT_Template" class=LType id=link5 onMouseOver="ShowTip(event, 'tt1', 'link5')" onMouseOut="HideTip('tt1')">MQTT_Template</a> instances</td></tr><tr class="SType SMarked"><td class=SEntry><a href="#MQTT_Session" id=link6 onMouseOver="ShowTip(event, 'tt4', 'link6')" onMouseOut="HideTip('tt4')">MQTT_Session</a></td><td class=SDescription>Models and MQTT session</td></tr><tr class="SEnumeration"><td class=SEntry><a href="#MQTT_Session_State" >MQTT_Session_State</a></td><td class=SDescription>States of an <a href="#MQTT_Session" class=LType id=link7 onMouseOver="ShowTip(event, 'tt4', 'link7')" onMouseOut="HideTip('tt4')">MQTT_Session</a> state machine</td></tr><tr class="SType SMarked"><td class=SEntry><a href="#MQTT_Session_List" id=link8 onMouseOver="ShowTip(event, 'tt5', 'link8')" onMouseOut="HideTip('tt5')">MQTT_Session_List</a></td><td class=SDescription>List of <a href="#MQTT_Session" class=LType id=link9 onMouseOver="ShowTip(event, 'tt4', 'link9')" onMouseOut="HideTip('tt4')">MQTT_Session</a></td></tr><tr class="SType"><td class=SEntry><a href="#MQTT_Session_DB" id=link10 onMouseOver="ShowTip(event, 'tt6', 'link10')" onMouseOut="HideTip('tt6')">MQTT_Session_DB</a></td><td class=SDescription>Storing <a href="#MQTT_Session" class=LType id=link11 onMouseOver="ShowTip(event, 'tt4', 'link11')" onMouseOut="HideTip('tt4')">MQTT_Session</a> instances</td></tr><tr class="SType SMarked"><td class=SEntry><a href="#MQTT_Subscription" id=link12 onMouseOver="ShowTip(event, 'tt7', 'link12')" onMouseOut="HideTip('tt7')">MQTT_Subscription</a></td><td class=SDescription>Models an MQTT subscription</td></tr><tr class="SEnumeration"><td class=SEntry><a href="#MQTT_Subscription_State" >MQTT_Subscription_State</a></td><td class=SDescription>States of an <a href="#MQTT_Subscription" class=LType id=link13 onMouseOver="ShowTip(event, 'tt7', 'link13')" onMouseOut="HideTip('tt7')">MQTT_Subscription</a> state machine</td></tr><tr class="SType SMarked"><td class=SEntry><a href="#MQTT_Subscription_List" id=link14 onMouseOver="ShowTip(event, 'tt8', 'link14')" onMouseOut="HideTip('tt8')">MQTT_Subscription_List</a></td><td class=SDescription>List of <a href="#MQTT_Subscription" class=LType id=link15 onMouseOver="ShowTip(event, 'tt7', 'link15')" onMouseOut="HideTip('tt7')">MQTT_Subscription</a></td></tr><tr class="SType"><td class=SEntry><a href="#MQTT_Subscription_DB" id=link16 onMouseOver="ShowTip(event, 'tt9', 'link16')" onMouseOut="HideTip('tt9')">MQTT_Subscription_DB</a></td><td class=SDescription>Storing <a href="#MQTT_Subscription" class=LType id=link17 onMouseOver="ShowTip(event, 'tt7', 'link17')" onMouseOut="HideTip('tt7')">MQTT_Subscription</a> instances</td></tr><tr class="SType SMarked"><td class=SEntry><a href="#MQTT_Publish" id=link18 onMouseOver="ShowTip(event, 'tt10', 'link18')" onMouseOut="HideTip('tt10')">MQTT_Publish</a></td><td class=SDescription>Models an MQTT publish</td></tr><tr class="SEnumeration"><td class=SEntry><a href="#MQTT_Publish_Side" >MQTT_Publish_Side</a></td><td class=SDescription>Side of an <a href="#MQTT_Publish" class=LType id=link19 onMouseOver="ShowTip(event, 'tt10', 'link19')" onMouseOut="HideTip('tt10')">MQTT_Publish</a></td></tr><tr class="SType SMarked"><td class=SEntry><a href="#MQTT_Publish_State" id=link20 onMouseOver="ShowTip(event, 'tt11', 'link20')" onMouseOut="HideTip('tt11')">MQTT_Publish_State</a></td><td class=SDescription>State of an <a href="#MQTT_Publish" class=LType id=link21 onMouseOver="ShowTip(event, 'tt10', 'link21')" onMouseOut="HideTip('tt10')">MQTT_Publish</a></td></tr><tr class="SEnumeration"><td class=SEntry><a href="#MQTT_PublishQos1_State" >MQTT_PublishQos1_State</a></td><td class=SDescription>Qos1 state of an <a href="#MQTT_Publish_State" class=LType id=link22 onMouseOver="ShowTip(event, 'tt11', 'link22')" onMouseOut="HideTip('tt11')">MQTT_Publish_State</a></td></tr><tr class="SEnumeration SMarked"><td class=SEntry><a href="#MQTT_PublishQos2_State" >MQTT_PublishQos2_State</a></td><td class=SDescription>Qos2 state of an <a href="#MQTT_Publish_State" class=LType id=link23 onMouseOver="ShowTip(event, 'tt11', 'link23')" onMouseOut="HideTip('tt11')">MQTT_Publish_State</a></td></tr><tr class="SType"><td class=SEntry><a href="#MQTT_Publish_List" id=link24 onMouseOver="ShowTip(event, 'tt12', 'link24')" onMouseOut="HideTip('tt12')">MQTT_Publish_List</a></td><td class=SDescription>List of <a href="#MQTT_Publish" class=LType id=link25 onMouseOver="ShowTip(event, 'tt10', 'link25')" onMouseOut="HideTip('tt10')">MQTT_Publish</a></td></tr><tr class="SType SMarked"><td class=SEntry><a href="#MQTT_Publish_DB" id=link26 onMouseOver="ShowTip(event, 'tt13', 'link26')" onMouseOut="HideTip('tt13')">MQTT_Publish_DB</a></td><td class=SDescription>Storing <a href="#MQTT_Publish" class=LType id=link27 onMouseOver="ShowTip(event, 'tt10', 'link27')" onMouseOut="HideTip('tt10')">MQTT_Publish</a> instances</td></tr><tr class="SType"><td class=SEntry><a href="#MQTT_StepCtx" id=link28 onMouseOver="ShowTip(event, 'tt14', 'link28')" onMouseOut="HideTip('tt14')">MQTT_StepCtx</a></td><td class=SDescription>Type that stores the most important pointers</td></tr><tr class="SType SMarked"><td class=SEntry><a href="#MQTT_Address_List" id=link29 onMouseOver="ShowTip(event, 'tt15', 'link29')" onMouseOut="HideTip('tt15')">MQTT_Address_List</a></td><td class=SDescription>List of <Socket></td></tr><tr class="SType"><td class=SEntry><a href="#MQTT_Address_DB" id=link30 onMouseOver="ShowTip(event, 'tt16', 'link30')" onMouseOut="HideTip('tt16')">MQTT_Address_DB</a></td><td class=SDescription>Storing <Socket> instances</td></tr><tr class="SType SMarked"><td class=SEntry><a href="#fcb_EPTF_MQTT_messageReceived" id=link31 onMouseOver="ShowTip(event, 'tt17', 'link31')" onMouseOut="HideTip('tt17')">fcb_EPTF_MQTT_messageReceived</a></td><td class=SDescription>Call-back function type for reporting received MQTT messages</td></tr><tr class="SType"><td class=SEntry><a href="#EPTF_MQTT_LGen_CT" id=link32 onMouseOver="ShowTip(event, 'tt18', 'link32')" onMouseOut="HideTip('tt18')">EPTF_MQTT_LGen_CT</a></td><td class=SDescription>MQTT load generator component</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_eventIdx_transportSucc" id=link33 onMouseOver="ShowTip(event, 'tt19', 'link33')" onMouseOut="HideTip('tt19')">c_MQTT_eventIdx_transportSucc</a></td><td class=SDescription>Integer constant for the MQTT transport succesful indication</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_eventName_transportSucc" id=link34 onMouseOver="ShowTip(event, 'tt20', 'link34')" onMouseOut="HideTip('tt20')">c_MQTT_eventName_transportSucc</a></td><td class=SDescription>Charstring constant for the MQTT transport succesful indication</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_eventIdx_transportFail" id=link35 onMouseOver="ShowTip(event, 'tt21', 'link35')" onMouseOut="HideTip('tt21')">c_MQTT_eventIdx_transportFail</a></td><td class=SDescription>Integer constant for the MQTT transport fail indication</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_eventName_transportFail" id=link36 onMouseOver="ShowTip(event, 'tt22', 'link36')" onMouseOut="HideTip('tt22')">c_MQTT_eventName_transportFail</a></td><td class=SDescription>Charstring constant for the MQTT transport fail indication</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_eventIdx_transportClosed" id=link37 onMouseOver="ShowTip(event, 'tt23', 'link37')" onMouseOut="HideTip('tt23')">c_MQTT_eventIdx_transportClosed</a></td><td class=SDescription>Integer constant for the MQTT transport closed indication</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_eventName_transportClosed" id=link38 onMouseOver="ShowTip(event, 'tt24', 'link38')" onMouseOut="HideTip('tt24')">c_MQTT_eventName_transportClosed</a></td><td class=SDescription>Charstring constant for the MQTT transport closed indication</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_eventIdx_CONNACK_Accepted" id=link39 onMouseOver="ShowTip(event, 'tt25', 'link39')" onMouseOut="HideTip('tt25')">c_MQTT_eventIdx_CONNACK_Accepted</a></td><td class=SDescription>Integer constant for the MQTT CONNACK accepted indication</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_eventName_CONNACK_Accepted" id=link40 onMouseOver="ShowTip(event, 'tt26', 'link40')" onMouseOut="HideTip('tt26')">c_MQTT_eventName_CONNACK_Accepted</a></td><td class=SDescription>Charstring constant for the MQTT CONNACK accepted indication</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_eventIdx_CONNACK_Refused" id=link41 onMouseOver="ShowTip(event, 'tt27', 'link41')" onMouseOut="HideTip('tt27')">c_MQTT_eventIdx_CONNACK_Refused</a></td><td class=SDescription>Integer constant for the MQTT CONNACK refused indication</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_eventName_CONNACK_Refused" id=link42 onMouseOver="ShowTip(event, 'tt28', 'link42')" onMouseOut="HideTip('tt28')">c_MQTT_eventName_CONNACK_Refused</a></td><td class=SDescription>Charstring constant for the MQTT CONNACK refused indication</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_eventIdx_SUBACK_Accepted" id=link43 onMouseOver="ShowTip(event, 'tt29', 'link43')" onMouseOut="HideTip('tt29')">c_MQTT_eventIdx_SUBACK_Accepted</a></td><td class=SDescription>Integer constant for the MQTT SUBACK accepted indication</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_eventName_SUBACK_Accepted" id=link44 onMouseOver="ShowTip(event, 'tt30', 'link44')" onMouseOut="HideTip('tt30')">c_MQTT_eventName_SUBACK_Accepted</a></td><td class=SDescription>Charstring constant for the MQTT SUBACK accepted indication</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_eventIdx_SUBACK_Refused" id=link45 onMouseOver="ShowTip(event, 'tt31', 'link45')" onMouseOut="HideTip('tt31')">c_MQTT_eventIdx_SUBACK_Refused</a></td><td class=SDescription>Integer constant for the MQTT SUBACK refused indication</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_eventName_SUBACK_Refused" id=link46 onMouseOver="ShowTip(event, 'tt32', 'link46')" onMouseOut="HideTip('tt32')">c_MQTT_eventName_SUBACK_Refused</a></td><td class=SDescription>Charstring constant for the MQTT SUBACK refused indication</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_eventIdx_UNSUBACK" id=link47 onMouseOver="ShowTip(event, 'tt33', 'link47')" onMouseOut="HideTip('tt33')">c_MQTT_eventIdx_UNSUBACK</a></td><td class=SDescription>Integer constant for the MQTT UNSUBACK indication</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_eventName_UNSUBACK" id=link48 onMouseOver="ShowTip(event, 'tt34', 'link48')" onMouseOut="HideTip('tt34')">c_MQTT_eventName_UNSUBACK</a></td><td class=SDescription>Charstring constant for the MQTT UNSUBACK indication</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_eventIdx_PUBLISH" id=link49 onMouseOver="ShowTip(event, 'tt35', 'link49')" onMouseOut="HideTip('tt35')">c_MQTT_eventIdx_PUBLISH</a></td><td class=SDescription>Integer constant for the MQTT PUBLISH indication</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_eventName_PUBLISH" id=link50 onMouseOver="ShowTip(event, 'tt36', 'link50')" onMouseOut="HideTip('tt36')">c_MQTT_eventName_PUBLISH</a></td><td class=SDescription>Charstring constant for the MQTT PUBLISH indication</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_eventIdx_PING_Request" id=link51 onMouseOver="ShowTip(event, 'tt37', 'link51')" onMouseOut="HideTip('tt37')">c_MQTT_eventIdx_PING_Request</a></td><td class=SDescription>Integer constant for the MQTT PING request indication</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_eventName_PING_Request" id=link52 onMouseOver="ShowTip(event, 'tt38', 'link52')" onMouseOut="HideTip('tt38')">c_MQTT_eventName_PING_Request</a></td><td class=SDescription>Charstring constant for the MQTT PING request indication</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_eventIdx_PING_Response" id=link53 onMouseOver="ShowTip(event, 'tt39', 'link53')" onMouseOut="HideTip('tt39')">c_MQTT_eventIdx_PING_Response</a></td><td class=SDescription>Integer constant for the MQTT PING response indication</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_eventName_PING_Response" id=link54 onMouseOver="ShowTip(event, 'tt40', 'link54')" onMouseOut="HideTip('tt40')">c_MQTT_eventName_PING_Response</a></td><td class=SDescription>Charstring constant for the MQTT PING response indication</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_eventIdx_PUBACK" id=link55 onMouseOver="ShowTip(event, 'tt41', 'link55')" onMouseOut="HideTip('tt41')">c_MQTT_eventIdx_PUBACK</a></td><td class=SDescription>Integer constant for the MQTT PUBACK indication</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_eventName_PUBACK" id=link56 onMouseOver="ShowTip(event, 'tt42', 'link56')" onMouseOut="HideTip('tt42')">c_MQTT_eventName_PUBACK</a></td><td class=SDescription>Charstring constant for the MQTT PUBACK indication</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_eventIdx_PUBREC" id=link57 onMouseOver="ShowTip(event, 'tt43', 'link57')" onMouseOut="HideTip('tt43')">c_MQTT_eventIdx_PUBREC</a></td><td class=SDescription>Integer constant for the MQTT PUBREC indication</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_eventName_PUBREC" id=link58 onMouseOver="ShowTip(event, 'tt44', 'link58')" onMouseOut="HideTip('tt44')">c_MQTT_eventName_PUBREC</a></td><td class=SDescription>Charstring constant for the MQTT PUBREC indication</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_eventIdx_PUBREL" id=link59 onMouseOver="ShowTip(event, 'tt45', 'link59')" onMouseOut="HideTip('tt45')">c_MQTT_eventIdx_PUBREL</a></td><td class=SDescription>Integer constant for the MQTT PUBREL indication</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_eventName_PUBREL" id=link60 onMouseOver="ShowTip(event, 'tt46', 'link60')" onMouseOut="HideTip('tt46')">c_MQTT_eventName_PUBREL</a></td><td class=SDescription>Charstring constant for the MQTT PUBREL indication</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_eventIdx_PUBCOMP" id=link61 onMouseOver="ShowTip(event, 'tt47', 'link61')" onMouseOut="HideTip('tt47')">c_MQTT_eventIdx_PUBCOMP</a></td><td class=SDescription>Integer constant for the MQTT PUBCOMP indication</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_eventName_PUBCOMP" id=link62 onMouseOver="ShowTip(event, 'tt48', 'link62')" onMouseOut="HideTip('tt48')">c_MQTT_eventName_PUBCOMP</a></td><td class=SDescription>Charstring constant for the MQTT PUBCOMP indication</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_eventIdx_PUBLISH_Timeout" id=link63 onMouseOver="ShowTip(event, 'tt49', 'link63')" onMouseOut="HideTip('tt49')">c_MQTT_eventIdx_PUBLISH_Timeout</a></td><td class=SDescription>Integer constant for the MQTT PUBLISH timeout indication</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_eventName_PUBLISH_Timeout" id=link64 onMouseOver="ShowTip(event, 'tt50', 'link64')" onMouseOut="HideTip('tt50')">c_MQTT_eventName_PUBLISH_Timeout</a></td><td class=SDescription>Charstring constant for the MQTT PUBLISH timeout indication</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_init" id=link65 onMouseOver="ShowTip(event, 'tt51', 'link65')" onMouseOut="HideTip('tt51')">c_MQTT_stepIdx_init</a></td><td class=SDescription>Integer constant for the MQTT init test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_init" id=link66 onMouseOver="ShowTip(event, 'tt52', 'link66')" onMouseOut="HideTip('tt52')">c_MQTT_stepName_init</a></td><td class=SDescription>Charstring constant for the MQTT init test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_cleanUp" id=link67 onMouseOver="ShowTip(event, 'tt53', 'link67')" onMouseOut="HideTip('tt53')">c_MQTT_stepIdx_cleanUp</a></td><td class=SDescription>Integer constant for the MQTT clean up test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_cleanUp" id=link68 onMouseOver="ShowTip(event, 'tt54', 'link68')" onMouseOut="HideTip('tt54')">c_MQTT_stepName_cleanUp</a></td><td class=SDescription>Charstring constant for the MQTT clean up test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_setLocalAddress_byVars" id=link69 onMouseOver="ShowTip(event, 'tt55', 'link69')" onMouseOut="HideTip('tt55')">c_MQTT_stepIdx_setLocalAddress_byVars</a></td><td class=SDescription>Integer constant for the MQTT set local address by variables test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_setLocalAddress_byVars" id=link70 onMouseOver="ShowTip(event, 'tt56', 'link70')" onMouseOut="HideTip('tt56')">c_MQTT_stepName_setLocalAddress_byVars</a></td><td class=SDescription>Integer constant for the MQTT set local address by variables test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_setRemoteAddress_byVars" id=link71 onMouseOver="ShowTip(event, 'tt57', 'link71')" onMouseOut="HideTip('tt57')">c_MQTT_stepIdx_setRemoteAddress_byVars</a></td><td class=SDescription>Integer constant for the MQTT set remote address by variables test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_setRemoteAddress_byVars" id=link72 onMouseOver="ShowTip(event, 'tt58', 'link72')" onMouseOut="HideTip('tt58')">c_MQTT_stepName_setRemoteAddress_byVars</a></td><td class=SDescription>Integer constant for the MQTT set remote address by variables test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_transportConnect" id=link73 onMouseOver="ShowTip(event, 'tt59', 'link73')" onMouseOut="HideTip('tt59')">c_MQTT_stepIdx_transportConnect</a></td><td class=SDescription>Integer constant for the MQTT transport connect test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_transportConnect" id=link74 onMouseOver="ShowTip(event, 'tt60', 'link74')" onMouseOut="HideTip('tt60')">c_MQTT_stepName_transportConnect</a></td><td class=SDescription>Charstring constant for the MQTT transport connect test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_transportClose" id=link75 onMouseOver="ShowTip(event, 'tt61', 'link75')" onMouseOut="HideTip('tt61')">c_MQTT_stepIdx_transportClose</a></td><td class=SDescription>Integer constant for the MQTT transport close test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_transportClose" id=link76 onMouseOver="ShowTip(event, 'tt62', 'link76')" onMouseOut="HideTip('tt62')">c_MQTT_stepName_transportClose</a></td><td class=SDescription>Charstring constant for the MQTT transport close test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_startListening" id=link77 onMouseOver="ShowTip(event, 'tt63', 'link77')" onMouseOut="HideTip('tt63')">c_MQTT_stepIdx_startListening</a></td><td class=SDescription>Integer constant for the MQTT start listening test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_startListening" id=link78 onMouseOver="ShowTip(event, 'tt64', 'link78')" onMouseOut="HideTip('tt64')">c_MQTT_stepName_startListening</a></td><td class=SDescription>Charstring constant for the MQTT start listening test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_loadTemplate_byIntIdx" id=link79 onMouseOver="ShowTip(event, 'tt65', 'link79')" onMouseOut="HideTip('tt65')">c_MQTT_stepIdx_loadTemplate_byIntIdx</a></td><td class=SDescription>Integer constant for the MQTT load template by integer idx pointer test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_loadTemplate_byIntIdx" id=link80 onMouseOver="ShowTip(event, 'tt66', 'link80')" onMouseOut="HideTip('tt66')">c_MQTT_stepName_loadTemplate_byIntIdx</a></td><td class=SDescription>Charstring constant for the MQTT load template by integer idx pointer test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_loadTemplate_byStringId" id=link81 onMouseOver="ShowTip(event, 'tt67', 'link81')" onMouseOut="HideTip('tt67')">c_MQTT_stepIdx_loadTemplate_byStringId</a></td><td class=SDescription>Integer constant for the MQTT load template by string id test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_loadTemplate_byStringId" id=link82 onMouseOver="ShowTip(event, 'tt68', 'link82')" onMouseOut="HideTip('tt68')">c_MQTT_stepName_loadTemplate_byStringId</a></td><td class=SDescription>Charstring constant for the MQTT load template by string id test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_send" id=link83 onMouseOver="ShowTip(event, 'tt69', 'link83')" onMouseOut="HideTip('tt69')">c_MQTT_stepIdx_send</a></td><td class=SDescription>Integer constant for the MQTT send test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_send" id=link84 onMouseOver="ShowTip(event, 'tt70', 'link84')" onMouseOut="HideTip('tt70')">c_MQTT_stepName_send</a></td><td class=SDescription>Charstring constant for the MQTT send test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_setTopic_stringParam" id=link85 onMouseOver="ShowTip(event, 'tt71', 'link85')" onMouseOut="HideTip('tt71')">c_MQTT_stepIdx_setTopic_stringParam</a></td><td class=SDescription>Integer constant for the MQTT set topic by string parameter test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_setTopic_stringParam" id=link86 onMouseOver="ShowTip(event, 'tt72', 'link86')" onMouseOut="HideTip('tt72')">c_MQTT_stepName_setTopic_stringParam</a></td><td class=SDescription>Charstring constant for the MQTT set topic by string parameter test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_setTopic_add_stringParam" id=link87 onMouseOver="ShowTip(event, 'tt73', 'link87')" onMouseOut="HideTip('tt73')">c_MQTT_stepIdx_setTopic_add_stringParam</a></td><td class=SDescription>Integer constant for the MQTT set topic by adding a string test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_setTopic_add_stringParam" id=link88 onMouseOver="ShowTip(event, 'tt74', 'link88')" onMouseOut="HideTip('tt74')">c_MQTT_stepName_setTopic_add_stringParam</a></td><td class=SDescription>Charstring constant for the MQTT set topic by adding a string test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_setTopic_add_varParams" id=link89 onMouseOver="ShowTip(event, 'tt75', 'link89')" onMouseOut="HideTip('tt75')">c_MQTT_stepIdx_setTopic_add_varParams</a></td><td class=SDescription>Integer constant for the MQTT set topic by adding variable parameters test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_setTopic_add_varParams" id=link90 onMouseOver="ShowTip(event, 'tt76', 'link90')" onMouseOut="HideTip('tt76')">c_MQTT_stepName_setTopic_add_varParams</a></td><td class=SDescription>Charstring constant for the MQTT set topic by adding variable parameters test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_setTopic_add_clientId" id=link91 onMouseOver="ShowTip(event, 'tt77', 'link91')" onMouseOut="HideTip('tt77')">c_MQTT_stepIdx_setTopic_add_clientId</a></td><td class=SDescription>Integer constant for the MQTT set topic by adding the client id test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_setTopic_add_clientId" id=link92 onMouseOver="ShowTip(event, 'tt78', 'link92')" onMouseOut="HideTip('tt78')">c_MQTT_stepName_setTopic_add_clientId</a></td><td class=SDescription>Charstring constant for the MQTT set topic by adding the client id test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_setQos_intParam" id=link93 onMouseOver="ShowTip(event, 'tt79', 'link93')" onMouseOut="HideTip('tt79')">c_MQTT_stepIdx_setQos_intParam</a></td><td class=SDescription>Integer constant for the MQTT set QoS using integer parameter test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_setQos_intParam" id=link94 onMouseOver="ShowTip(event, 'tt80', 'link94')" onMouseOut="HideTip('tt80')">c_MQTT_stepName_setQos_intParam</a></td><td class=SDescription>Charstring constant for the MQTT set QoS using integer parameter test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_setPublishMessage_stringParam" id=link95 onMouseOver="ShowTip(event, 'tt81', 'link95')" onMouseOut="HideTip('tt81')">c_MQTT_stepIdx_setPublishMessage_stringParam</a></td><td class=SDescription>Integer constant for the MQTT set publish message using a string parameter test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_setPublishMessage_stringParam" id=link96 onMouseOver="ShowTip(event, 'tt82', 'link96')" onMouseOut="HideTip('tt82')">c_MQTT_stepName_setPublishMessage_stringParam</a></td><td class=SDescription>Charstring constant for the MQTT set publish message using a string parameter test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_setPublishMessage_add_stringParam" id=link97 onMouseOver="ShowTip(event, 'tt83', 'link97')" onMouseOut="HideTip('tt83')">c_MQTT_stepIdx_setPublishMessage_add_stringParam</a></td><td class=SDescription>Integer constant for the MQTT set publish by adding a string parameter test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_setPublishMessage_add_stringParam" id=link98 onMouseOver="ShowTip(event, 'tt84', 'link98')" onMouseOut="HideTip('tt84')">c_MQTT_stepName_setPublishMessage_add_stringParam</a></td><td class=SDescription>Charstring constant for the MQTT set publish by adding a string parameter test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_setPublishMessage_add_varParams" id=link99 onMouseOver="ShowTip(event, 'tt85', 'link99')" onMouseOut="HideTip('tt85')">c_MQTT_stepIdx_setPublishMessage_add_varParams</a></td><td class=SDescription>Integer constant for the MQTT set publish by adding variable parameters test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_setPublishMessage_add_varParams" id=link100 onMouseOver="ShowTip(event, 'tt86', 'link100')" onMouseOut="HideTip('tt86')">c_MQTT_stepName_setPublishMessage_add_varParams</a></td><td class=SDescription>Charstring constant for the MQTT set publish by adding variable parameters test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_setPublishMessage_add_clientId" id=link101 onMouseOver="ShowTip(event, 'tt87', 'link101')" onMouseOut="HideTip('tt87')">c_MQTT_stepIdx_setPublishMessage_add_clientId</a></td><td class=SDescription>Integer constant for the MQTT set publish by adding the client id test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_setPublishMessage_add_clientId" id=link102 onMouseOver="ShowTip(event, 'tt88', 'link102')" onMouseOut="HideTip('tt88')">c_MQTT_stepName_setPublishMessage_add_clientId</a></td><td class=SDescription>Charstring constant for the MQTT set publish by adding the client id test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_reportPingResponse" id=link103 onMouseOver="ShowTip(event, 'tt89', 'link103')" onMouseOut="HideTip('tt89')">c_MQTT_stepIdx_reportPingResponse</a></td><td class=SDescription>Integer constant for the MQTT enabling/disabling the reporting of a ping response test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_reportPingResponse" id=link104 onMouseOver="ShowTip(event, 'tt90', 'link104')" onMouseOut="HideTip('tt90')">c_MQTT_stepName_reportPingResponse</a></td><td class=SDescription>Charstring constant for the MQTT enabling/disabling the reporting of a ping response test step</td></tr><tr class="SConstant SMarked"><td class=SEntry><a href="#c_MQTT_stepIdx_reportPublishResponse" id=link105 onMouseOver="ShowTip(event, 'tt91', 'link105')" onMouseOut="HideTip('tt91')">c_MQTT_stepIdx_reportPublishResponse</a></td><td class=SDescription>Integer constant for the MQTT enabling/disabling the reporting of a publish response test step</td></tr><tr class="SConstant"><td class=SEntry><a href="#c_MQTT_stepName_reportPublishResponse" id=link106 onMouseOver="ShowTip(event, 'tt92', 'link106')" onMouseOut="HideTip('tt92')">c_MQTT_stepName_reportPublishResponse</a></td><td class=SDescription>Charstring constant for the MQTT enabling/disabling the reporting of a publish response test step</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CModuleParameter"><div class=CTopic><h3 class=CTitle><a name="tsp_EPTF_MQTT_LGen_debug"></a>tsp_EPTF_MQTT_LGen_debug</h3><div class=CBody><h4 class=CHeading>Purpose</h4><p>Enabled/disable debug logging</p><h4 class=CHeading>Type</h4><p><b>boolean</b></p><h4 class=CHeading>Default value</h4><p><b>false</b></p></div></div></div>
+
+<div class="CModuleParameter"><div class=CTopic><h3 class=CTitle><a name="tsp_EPTF_MQTT_LGen_debugVerbose"></a>tsp_EPTF_MQTT_LGen_debugVerbose</h3><div class=CBody><h4 class=CHeading>Purpose</h4><p>Enabled/disable verbosity of debug logging</p><h4 class=CHeading>Type</h4><p><b>boolean</b></p><h4 class=CHeading>Default value</h4><p><b>false</b></p></div></div></div>
+
+<div class="CModuleParameter"><div class=CTopic><h3 class=CTitle><a name="tsp_EPTF_MQTT_LGen_maxBindableCtx"></a>tsp_EPTF_MQTT_LGen_maxBindableCtx</h3><div class=CBody><h4 class=CHeading>Purpose</h4><p>Can be used to limit the maximum number of contexts set it to -1 otherwise.</p><h4 class=CHeading>Type</h4><p><b>integer</b></p><h4 class=CHeading>Default value</h4><p><b>-1</b></p></div></div></div>
+
+<div class="CModuleParameter"><div class=CTopic><h3 class=CTitle><a name="tsp_EPTF_MQTT_LGen_templates"></a>tsp_EPTF_MQTT_LGen_templates</h3><div class=CBody><h4 class=CHeading>Purpose</h4><p>MQTT message template definitions for sending</p><h4 class=CHeading>Type</h4><p><a href="#MQTT_Template_List" class=LType id=link209 onMouseOver="ShowTip(event, 'tt2', 'link209')" onMouseOut="HideTip('tt2')">MQTT_Template_List</a></p><h4 class=CHeading>Default value</h4><p>Empty list: {}</p></div></div></div>
+
+<div class="CModuleParameter"><div class=CTopic><h3 class=CTitle><a name="tsp_EPTF_MQTT_PUBLISH_responseWatchdog"></a>tsp_EPTF_MQTT_PUBLISH_responseWatchdog</h3><div class=CBody><h4 class=CHeading>Purpose</h4><p>Watchdog timer value to wait responses to an MQTT PUBLISH message</p><h4 class=CHeading>Type</h4><p><a href="#MQTT_Template_List" class=LType id=link210 onMouseOver="ShowTip(event, 'tt2', 'link210')" onMouseOut="HideTip('tt2')">MQTT_Template_List</a></p><h4 class=CHeading>Default value</h4><p>Empty list: {}</p></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="MQTT_Template"></a>MQTT_Template</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Template</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Grouping a <MQTT_v3_1_1_ReqResp> with an id</p><h4 class=CHeading>Elements</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>id</td><td class=CDLDescription><b>charstring</b> - identifier</td></tr><tr><td class=CDLEntry>msg</td><td class=CDLDescription><MQTT_v3_1_1_ReqResp> - MQTT PDU</td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="MQTT_Template_List"></a>MQTT_Template_List</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of MQTT_Template MQTT_Template_List</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>List of <a href="#MQTT_Template" class=LType id=link211 onMouseOver="ShowTip(event, 'tt1', 'link211')" onMouseOut="HideTip('tt1')">MQTT_Template</a></p></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="MQTT_Template_DB"></a>MQTT_Template_DB</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Template_DB</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Storing <a href="#MQTT_Template" class=LType id=link212 onMouseOver="ShowTip(event, 'tt1', 'link212')" onMouseOut="HideTip('tt1')">MQTT_Template</a> instances</p><h4 class=CHeading>Class</h4><p>(see EPTF_MQTT_LGen_Definitions.MQTT_Template_DB.jpg)</p><h4 class=CHeading>Elements</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>data</td><td class=CDLDescription><a href="#MQTT_Template_List" class=LType id=link213 onMouseOver="ShowTip(event, 'tt2', 'link213')" onMouseOut="HideTip('tt2')">MQTT_Template_List</a> - elements</td></tr><tr><td class=CDLEntry>hashRef</td><td class=CDLDescription>charstring2int hash reference</td></tr></table><h4 class=CHeading>Related Functions</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_init" class=LFunction id=link214 onMouseOver="ShowTip(event, 'tt120', 'link214')" onMouseOut="HideTip('tt120')">f_EPTF_MQTT_templateDB_init</a> ()</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_add" class=LFunction id=link215 onMouseOver="ShowTip(event, 'tt121', 'link215')" onMouseOut="HideTip('tt121')">f_EPTF_MQTT_templateDB_add</a> (in <a href="#MQTT_Template" class=LType id=link216 onMouseOver="ShowTip(event, 'tt1', 'link216')" onMouseOut="HideTip('tt1')">MQTT_Template</a> p_template)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_lookUp" class=LFunction id=link217 onMouseOver="ShowTip(event, 'tt122', 'link217')" onMouseOut="HideTip('tt122')">f_EPTF_MQTT_templateDB_lookUp</a> (in <b>charstring</b> p_id)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_get" class=LFunction id=link218 onMouseOver="ShowTip(event, 'tt123', 'link218')" onMouseOut="HideTip('tt123')">f_EPTF_MQTT_templateDB_get</a> (in <b>integer</b> p_idx, inout <MQTT_v3_1_1_ReqResp> p_pdu)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_cleanUp" class=LFunction id=link219 onMouseOver="ShowTip(event, 'tt124', 'link219')" onMouseOut="HideTip('tt124')">f_EPTF_MQTT_templateDB_cleanUp</a> ()</li></ul></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="MQTT_Session"></a>MQTT_Session</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Session</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Models and MQTT session</p><h4 class=CHeading>Class</h4><p>(see EPTF_MQTT_LGen_Definitions.MQTT_Session.jpg)</p><h4 class=CHeading>FSM Diagram of a MQTT session</h4><p>(see EPTF_MQTT_LGen_Functions.MQTT_Session.jpg)</p><h4 class=CHeading>Elements</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>eIdx</td><td class=CDLDescription><b>integer</b> - pointer to the entity that owns the session</td></tr><tr><td class=CDLEntry>fsmIdx</td><td class=CDLDescription><b>integer</b> - pointer to the fsm that owns the session</td></tr><tr><td class=CDLEntry>localAddressIdx</td><td class=CDLDescription><b>integer</b> - pointer to the local address in <b>v_MQTT_addressDB</b></td></tr><tr><td class=CDLEntry>remoteAddressIdx</td><td class=CDLDescription><b>integer</b> - pointer to the remote address in <b>v_MQTT_addressDB</b></td></tr><tr><td class=CDLEntry>clientId</td><td class=CDLDescription><b>charstring</b> - the client ID used in the session</td></tr><tr><td class=CDLEntry>keepAliveTime</td><td class=CDLDescription><b>float</b> - timer used for sending keep alive messages</td></tr><tr><td class=CDLEntry>nextPacketId</td><td class=CDLDescription><b>integer</b> - id used for the next packet</td></tr><tr><td class=CDLEntry>subscriptionRefs</td><td class=CDLDescription><EPTF_IntegerList> - pointer to subscriptions in <b>v_MQTT_subscriptionDB</b> <a href="#MQTT_Subscription_DB" class=LType id=link220 onMouseOver="ShowTip(event, 'tt9', 'link220')" onMouseOut="HideTip('tt9')">MQTT_Subscription_DB</a></td></tr><tr><td class=CDLEntry>publishRefs</td><td class=CDLDescription><EPTF_IntegerList> - pointer to publications in <b>v_MQTT_publishDB</b> <a href="#MQTT_Publish_DB" class=LType id=link221 onMouseOver="ShowTip(event, 'tt13', 'link221')" onMouseOut="HideTip('tt13')">MQTT_Publish_DB</a></td></tr><tr><td class=CDLEntry>keepaliveTimer</td><td class=CDLDescription><b>integer</b> - reference for the keep alive timer in the scheduler</td></tr><tr><td class=CDLEntry>reportPingResponse</td><td class=CDLDescription><b>boolean</b> - enable/disable reporting of ping responses</td></tr><tr><td class=CDLEntry>reportPublishResponse</td><td class=CDLDescription><b>boolean</b> - enable/disabled reporting of publish responses</td></tr><tr><td class=CDLEntry>state</td><td class=CDLDescription><a href="#MQTT_Session_State" class=LType id=link222 onMouseOver="ShowTip(event, 'tt125', 'link222')" onMouseOut="HideTip('tt125')">MQTT_Session_State</a> - state of an MQTT session</td></tr></table><h4 class=CHeading>Related Functions</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_fromApp" class=LFunction id=link223 onMouseOver="ShowTip(event, 'tt126', 'link223')" onMouseOut="HideTip('tt126')">f_EPTF_MQTT_session_fromApp</a> (<b>inout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link224 onMouseOver="ShowTip(event, 'tt127', 'link224')" onMouseOut="HideTip('tt127')">EPTF_MQTT_PDU</a> p_msg, <b>in integer</b> p_sIdx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_fromEnv" class=LFunction id=link225 onMouseOver="ShowTip(event, 'tt128', 'link225')" onMouseOut="HideTip('tt128')">f_EPTF_MQTT_session_fromEnv</a> (<b>inout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link226 onMouseOver="ShowTip(event, 'tt127', 'link226')" onMouseOut="HideTip('tt127')">EPTF_MQTT_PDU</a> p_msg, <b>in integer</b> p_sIdx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_keepalive" class=LFunction id=link227 onMouseOver="ShowTip(event, 'tt129', 'link227')" onMouseOut="HideTip('tt129')">f_EPTF_MQTT_session_keepalive</a> (<b>in</b> <EPTF_ScheduledAction> pl_action, <b>in integer</b> pl_eventIndex)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_startT_keepalive" class=LFunction id=link228 onMouseOver="ShowTip(event, 'tt130', 'link228')" onMouseOut="HideTip('tt130')">f_EPTF_MQTT_session_startT_keepalive</a> (<b>in integer</b> pl_sIdx, <b>in float</b> pl_time)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_cancelT_keepalive" class=LFunction id=link229 onMouseOver="ShowTip(event, 'tt131', 'link229')" onMouseOut="HideTip('tt131')">f_EPTF_MQTT_session_cancelT_keepalive</a> (<b>in integer</b> pl_sessionIdx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_getNextPacketId" class=LFunction id=link230 onMouseOver="ShowTip(event, 'tt132', 'link230')" onMouseOut="HideTip('tt132')">f_EPTF_MQTT_session_getNextPacketId</a> (<b>in</b> <a href="#MQTT_StepCtx" class=LType id=link231 onMouseOver="ShowTip(event, 'tt14', 'link231')" onMouseOut="HideTip('tt14')">MQTT_StepCtx</a> p_ctx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_setState" class=LFunction id=link232 onMouseOver="ShowTip(event, 'tt133', 'link232')" onMouseOut="HideTip('tt133')">f_EPTF_MQTT_session_setState</a> (<b>in integer</b> p_sessionIdx, <b>in</b> <a href="#MQTT_Session_State" class=LType id=link233 onMouseOver="ShowTip(event, 'tt125', 'link233')" onMouseOut="HideTip('tt125')">MQTT_Session_State</a> p_nextState)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_send" class=LFunction id=link234 onMouseOver="ShowTip(event, 'tt134', 'link234')" onMouseOut="HideTip('tt134')">f_EPTF_MQTT_session_send</a> (<b>in integer</b> p_sessionIdx, <b>inout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link235 onMouseOver="ShowTip(event, 'tt127', 'link235')" onMouseOut="HideTip('tt127')">EPTF_MQTT_PDU</a> p_msg)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_registerSubscription" class=LFunction id=link236 onMouseOver="ShowTip(event, 'tt135', 'link236')" onMouseOut="HideTip('tt135')">f_EPTF_MQTT_session_registerSubscription</a> (<b>in integer</b> p_sessionIdx, <b>in integer</b> p_subIdx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_deregisterSubscription" class=LFunction id=link237 onMouseOver="ShowTip(event, 'tt136', 'link237')" onMouseOut="HideTip('tt136')">f_EPTF_MQTT_session_deregisterSubscription</a> (<b>in integer</b> p_sessionIdx, <b>in integer</b> p_subIdx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_registerPublish" class=LFunction id=link238 onMouseOver="ShowTip(event, 'tt137', 'link238')" onMouseOut="HideTip('tt137')">f_EPTF_MQTT_session_registerPublish</a> (<b>in integer</b> p_sessionIdx, <b>in integer</b> p_pubIdx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_deregisterPublish" class=LFunction id=link239 onMouseOver="ShowTip(event, 'tt138', 'link239')" onMouseOut="HideTip('tt138')">f_EPTF_MQTT_session_deregisterPublish</a> (<b>in integer</b> p_sessionIdx, <b>in integer</b> p_pubIdx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_remove" class=LFunction id=link240 onMouseOver="ShowTip(event, 'tt139', 'link240')" onMouseOut="HideTip('tt139')">f_EPTF_MQTT_session_remove</a> (<b>in integer</b> p_sessionIdx)</li></ul></div></div></div>
+
+<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="MQTT_Session_State"></a>MQTT_Session_State</h3><div class=CBody><h4 class=CHeading>Purpose</h4><p>States of an <a href="#MQTT_Session" class=LType id=link241 onMouseOver="ShowTip(event, 'tt4', 'link241')" onMouseOut="HideTip('tt4')">MQTT_Session</a> state machine</p><h4 class=CHeading>Elements</h4><ul><li>DISCONNECTED</li><li>CONNECTING</li><li>CONNECTED</li><li>REMOVING</li></ul></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="MQTT_Session_List"></a>MQTT_Session_List</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of MQTT_Session MQTT_Session_List</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>List of <a href="#MQTT_Session" class=LType id=link242 onMouseOver="ShowTip(event, 'tt4', 'link242')" onMouseOut="HideTip('tt4')">MQTT_Session</a></p></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="MQTT_Session_DB"></a>MQTT_Session_DB</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Session_DB</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Storing <a href="#MQTT_Session" class=LType id=link243 onMouseOver="ShowTip(event, 'tt4', 'link243')" onMouseOut="HideTip('tt4')">MQTT_Session</a> instances</p><h4 class=CHeading>Class</h4><p>(see EPTF_MQTT_LGen_Definitions.MQTT_Session_DB.jpg)</p><h4 class=CHeading>Elements</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>queue</td><td class=CDLDescription><EPTF_FreeBusyQueue> - free-busy queue to provide dynamic array</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription><a href="#MQTT_Session_List" class=LType id=link244 onMouseOver="ShowTip(event, 'tt5', 'link244')" onMouseOut="HideTip('tt5')">MQTT_Session_List</a> - elements</td></tr><tr><td class=CDLEntry>hashRef</td><td class=CDLDescription>str2int hash reference</td></tr></table><h4 class=CHeading>Related Functions</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_init" class=LFunction id=link245 onMouseOver="ShowTip(event, 'tt140', 'link245')" onMouseOut="HideTip('tt140')">f_EPTF_MQTT_sessionDB_init</a> ()</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_add" class=LFunction id=link246 onMouseOver="ShowTip(event, 'tt141', 'link246')" onMouseOut="HideTip('tt141')">f_EPTF_MQTT_sessionDB_add</a> (in <a href="#MQTT_Session" class=LType id=link247 onMouseOver="ShowTip(event, 'tt4', 'link247')" onMouseOut="HideTip('tt4')">MQTT_Session</a> p_session)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_lookUp" class=LFunction id=link248 onMouseOver="ShowTip(event, 'tt142', 'link248')" onMouseOut="HideTip('tt142')">f_EPTF_MQTT_sessionDB_lookUp</a> (in <Socket> p_sock)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_get" class=LFunction id=link249 onMouseOver="ShowTip(event, 'tt143', 'link249')" onMouseOut="HideTip('tt143')">f_EPTF_MQTT_sessionDB_get</a> (in integer p_idx, inout MQTT_Session p_session)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_setKey" class=LFunction id=link250 onMouseOver="ShowTip(event, 'tt144', 'link250')" onMouseOut="HideTip('tt144')">f_EPTF_MQTT_sessionDB_setKey</a> (in integer p_idx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_check" class=LFunction id=link251 onMouseOver="ShowTip(event, 'tt145', 'link251')" onMouseOut="HideTip('tt145')">f_EPTF_MQTT_sessionDB_check</a> (in integer p_idx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_remove" class=LFunction id=link252 onMouseOver="ShowTip(event, 'tt146', 'link252')" onMouseOut="HideTip('tt146')">f_EPTF_MQTT_sessionDB_remove</a> (in integer p_idx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_addrHash" class=LFunction id=link253 onMouseOver="ShowTip(event, 'tt147', 'link253')" onMouseOut="HideTip('tt147')">f_EPTF_MQTT_sessionDB_addrHash</a> (in <Socket> p_sock)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_cleanUp" class=LFunction id=link254 onMouseOver="ShowTip(event, 'tt148', 'link254')" onMouseOut="HideTip('tt148')">f_EPTF_MQTT_sessionDB_cleanUp</a> ()</li></ul></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="MQTT_Subscription"></a>MQTT_Subscription</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Subscription</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Models an MQTT subscription</p><h4 class=CHeading>Class</h4><p>(see EPTF_MQTT_LGen_Definitions.MQTT_Subscription.jpg)</p><h4 class=CHeading>Elements</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>sessionIdx</td><td class=CDLDescription><b>integer</b> - the session, the subscription belongs to</td></tr><tr><td class=CDLEntry>request</td><td class=CDLDescription><MQTT_v3_1_1_Subscribe> - the MQTT PDU that initialized the subscription (optional)</td></tr><tr><td class=CDLEntry>state</td><td class=CDLDescription><a href="#MQTT_Subscription_State" class=LType id=link255 onMouseOver="ShowTip(event, 'tt149', 'link255')" onMouseOut="HideTip('tt149')">MQTT_Subscription_State</a> - state of an MQTT subscription</td></tr></table><h4 class=CHeading>Related Functions</h4><ul><li><f_EPTF_MQTT_subscription_fromSession>(<b>inout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link256 onMouseOver="ShowTip(event, 'tt127', 'link256')" onMouseOut="HideTip('tt127')">EPTF_MQTT_PDU</a> p_msg, <b>in integer</b> p_subIdx)</li><li><f_EPTF_MQTT_subscription_fromEnv>(<b>inout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link257 onMouseOver="ShowTip(event, 'tt127', 'link257')" onMouseOut="HideTip('tt127')">EPTF_MQTT_PDU</a> p_msg, <b>in integer</b> p_subIdx)</li><li><f_EPTF_MQTT_subscription_setState>(<b>in integer</b> p_subIdx, <b>in</b> <a href="#MQTT_Subscription_State" class=LType id=link258 onMouseOver="ShowTip(event, 'tt149', 'link258')" onMouseOut="HideTip('tt149')">MQTT_Subscription_State</a> p_nextState)</li><li><f_EPTF_MQTT_subscription_remove>(<b>in integer</b> p_subIdx)</li></ul><h4 class=CHeading>FSM Diagram of a MQTT subscription</h4><p>(see EPTF_MQTT_LGen_Functions.MQTT_Subscription.jpg)</p></div></div></div>
+
+<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="MQTT_Subscription_State"></a>MQTT_Subscription_State</h3><div class=CBody><h4 class=CHeading>Purpose</h4><p>States of an <a href="#MQTT_Subscription" class=LType id=link259 onMouseOver="ShowTip(event, 'tt7', 'link259')" onMouseOut="HideTip('tt7')">MQTT_Subscription</a> state machine</p><h4 class=CHeading>Elements</h4><ul><li>UNSUBSCRIBED</li><li>SUBSCRIBING</li><li>SUBSCRIBED</li><li>UNSUBSCRIBING</li><li>REMOVING</li></ul></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="MQTT_Subscription_List"></a>MQTT_Subscription_List</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of MQTT_Subscription MQTT_Subscription_List</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>List of <a href="#MQTT_Subscription" class=LType id=link260 onMouseOver="ShowTip(event, 'tt7', 'link260')" onMouseOut="HideTip('tt7')">MQTT_Subscription</a></p></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="MQTT_Subscription_DB"></a>MQTT_Subscription_DB</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Subscription_DB</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Storing <a href="#MQTT_Subscription" class=LType id=link261 onMouseOver="ShowTip(event, 'tt7', 'link261')" onMouseOut="HideTip('tt7')">MQTT_Subscription</a> instances</p><h4 class=CHeading>Class</h4><p>(see EPTF_MQTT_LGen_Definitions.MQTT_Subscription_DB.jpg)</p><h4 class=CHeading>Elements</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>queue</td><td class=CDLDescription><EPTF_FreeBusyQueue> - free-busy queue to provide dynamic array</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription><a href="#MQTT_Subscription_List" class=LType id=link262 onMouseOver="ShowTip(event, 'tt8', 'link262')" onMouseOut="HideTip('tt8')">MQTT_Subscription_List</a> - elements</td></tr><tr><td class=CDLEntry>hashRef</td><td class=CDLDescription>str2int hash reference</td></tr></table><h4 class=CHeading>Related Functions</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_init" class=LFunction id=link263 onMouseOver="ShowTip(event, 'tt150', 'link263')" onMouseOut="HideTip('tt150')">f_EPTF_MQTT_subscriptionDB_init</a> ()</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_add" class=LFunction id=link264 onMouseOver="ShowTip(event, 'tt151', 'link264')" onMouseOut="HideTip('tt151')">f_EPTF_MQTT_subscriptionDB_add</a> (<b>in</b> <a href="#MQTT_Subscription" class=LType id=link265 onMouseOver="ShowTip(event, 'tt7', 'link265')" onMouseOut="HideTip('tt7')">MQTT_Subscription</a> p_sub)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_setKey_packetId" class=LFunction id=link266 onMouseOver="ShowTip(event, 'tt152', 'link266')" onMouseOut="HideTip('tt152')">f_EPTF_MQTT_subscriptionDB_setKey_packetId</a> (<b>in integer</b> p_idx, <b>in integer</b> p_sessionIdx, <b>in integer</b> p_packetId)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_removeKey_packetId" class=LFunction id=link267 onMouseOver="ShowTip(event, 'tt153', 'link267')" onMouseOut="HideTip('tt153')">f_EPTF_MQTT_subscriptionDB_removeKey_packetId</a> (<b>in integer</b> p_idx, <b>in integer</b> p_sessionIdx, <b>in integer</b> p_packetId)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_lookUp_packetId" class=LFunction id=link268 onMouseOver="ShowTip(event, 'tt154', 'link268')" onMouseOut="HideTip('tt154')">f_EPTF_MQTT_subscriptionDB_lookUp_packetId</a> (<b>in integer</b> p_sessionIdx, <b>in integer</b> p_packetId)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_lookUp_topicName" class=LFunction id=link269 onMouseOver="ShowTip(event, 'tt155', 'link269')" onMouseOut="HideTip('tt155')">f_EPTF_MQTT_subscriptionDB_lookUp_topicName</a> (<b>in integer</b> p_sessionIdx, <b>in charstring</b> p_topicName)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_get" class=LFunction id=link270 onMouseOver="ShowTip(event, 'tt156', 'link270')" onMouseOut="HideTip('tt156')">f_EPTF_MQTT_subscriptionDB_get</a> (<b>in integer</b> p_idx, <b>inout</b> <a href="#MQTT_Subscription" class=LType id=link271 onMouseOver="ShowTip(event, 'tt7', 'link271')" onMouseOut="HideTip('tt7')">MQTT_Subscription</a> p_sub)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_check" class=LFunction id=link272 onMouseOver="ShowTip(event, 'tt157', 'link272')" onMouseOut="HideTip('tt157')">f_EPTF_MQTT_subscriptionDB_check</a> (<b>in integer</b> p_idx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_remove" class=LFunction id=link273 onMouseOver="ShowTip(event, 'tt158', 'link273')" onMouseOut="HideTip('tt158')">f_EPTF_MQTT_subscriptionDB_remove</a> (<b>in integer</b> p_idx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_packetIdHash" class=LFunction id=link274 onMouseOver="ShowTip(event, 'tt159', 'link274')" onMouseOut="HideTip('tt159')">f_EPTF_MQTT_subscriptionDB_packetIdHash</a> (<b>in integer</b> p_sessionIdx, <b>in integer</b> p_packetId)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_topicHash" class=LFunction id=link275 onMouseOver="ShowTip(event, 'tt160', 'link275')" onMouseOut="HideTip('tt160')">f_EPTF_MQTT_subscriptionDB_topicHash</a> (<b>in integer</b> p_sessionIdx, <b>in charstring</b> p_topic)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_cleanUp" class=LFunction id=link276 onMouseOver="ShowTip(event, 'tt161', 'link276')" onMouseOut="HideTip('tt161')">f_EPTF_MQTT_subscriptionDB_cleanUp</a> ()</li></ul></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="MQTT_Publish"></a>MQTT_Publish</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Publish</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Models an MQTT publish</p><h4 class=CHeading>Class</h4><p>(see EPTF_MQTT_LGen_Definitions.MQTT_Publish.jpg)</p><h4 class=CHeading>Elements</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>sessionIdx</td><td class=CDLDescription><b>integer</b> - the session, the subscription belongs to</td></tr><tr><td class=CDLEntry>packetId</td><td class=CDLDescription><b>integer</b> - packet id</td></tr><tr><td class=CDLEntry>watchdogTimer</td><td class=CDLDescription><b>integer</b> - reference to the watchdog timer in the scheduler</td></tr><tr><td class=CDLEntry>side</td><td class=CDLDescription><a href="#MQTT_Publish_Side" class=LType id=link277 onMouseOver="ShowTip(event, 'tt162', 'link277')" onMouseOut="HideTip('tt162')">MQTT_Publish_Side</a> - originating or terminating side of the publication</td></tr><tr><td class=CDLEntry>state</td><td class=CDLDescription><a href="#MQTT_Publish_State" class=LType id=link278 onMouseOver="ShowTip(event, 'tt11', 'link278')" onMouseOut="HideTip('tt11')">MQTT_Publish_State</a> - state of an MQTT publish</td></tr></table><h4 class=CHeading>Related Functions</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_fromSession" class=LFunction id=link279 onMouseOver="ShowTip(event, 'tt163', 'link279')" onMouseOut="HideTip('tt163')">f_EPTF_MQTT_publish_fromSession</a> (<b>inout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link280 onMouseOver="ShowTip(event, 'tt127', 'link280')" onMouseOut="HideTip('tt127')">EPTF_MQTT_PDU</a> p_msg, <b>in integer</b> p_pubIdx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_fromEnv" class=LFunction id=link281 onMouseOver="ShowTip(event, 'tt164', 'link281')" onMouseOut="HideTip('tt164')">f_EPTF_MQTT_publish_fromEnv</a> (<b>inout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link282 onMouseOver="ShowTip(event, 'tt127', 'link282')" onMouseOut="HideTip('tt127')">EPTF_MQTT_PDU</a> p_msg, <b>in integer</b> p_pubIdx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_watchdog" class=LFunction id=link283 onMouseOver="ShowTip(event, 'tt165', 'link283')" onMouseOut="HideTip('tt165')">f_EPTF_MQTT_publish_watchdog</a> (<b>in</b> <EPTF_ScheduledAction> pl_action, <b>in integer</b> pl_eventIndex)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_startT_watchdog" class=LFunction id=link284 onMouseOver="ShowTip(event, 'tt166', 'link284')" onMouseOut="HideTip('tt166')">f_EPTF_MQTT_publish_startT_watchdog</a> (<b>in integer</b> pl_pIdx, <b>in float</b> pl_time)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_cancelT_watchdog" class=LFunction id=link285 onMouseOver="ShowTip(event, 'tt167', 'link285')" onMouseOut="HideTip('tt167')">f_EPTF_MQTT_publish_cancelT_watchdog</a> (<b>in integer</b> pl_publishIdx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_setState" class=LFunction id=link286 onMouseOver="ShowTip(event, 'tt168', 'link286')" onMouseOut="HideTip('tt168')">f_EPTF_MQTT_publish_setState</a> (<b>in integer</b> p_pubIdx, <b>in</b> <a href="#MQTT_Publish_State" class=LType id=link287 onMouseOver="ShowTip(event, 'tt11', 'link287')" onMouseOut="HideTip('tt11')">MQTT_Publish_State</a> p_nextState)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_remove" class=LFunction id=link288 onMouseOver="ShowTip(event, 'tt169', 'link288')" onMouseOut="HideTip('tt169')">f_EPTF_MQTT_publish_remove</a> (<b>in integer</b> p_pubIdx)</li></ul><h4 class=CHeading>FSM Diagram of a MQTT publish</h4><p>(see EPTF_MQTT_LGen_Functions.MQTT_Publish_qos1.jpg)</p><p>(see EPTF_MQTT_LGen_Functions.MQTT_Publish_qos2.jpg)</p></div></div></div>
+
+<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="MQTT_Publish_Side"></a>MQTT_Publish_Side</h3><div class=CBody><h4 class=CHeading>Purpose</h4><p>Side of an <a href="#MQTT_Publish" class=LType id=link289 onMouseOver="ShowTip(event, 'tt10', 'link289')" onMouseOut="HideTip('tt10')">MQTT_Publish</a></p><h4 class=CHeading>Elements</h4><ul><li>ORIG</li><li>TERM</li></ul></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="MQTT_Publish_State"></a>MQTT_Publish_State</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type union MQTT_Publish_State</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>State of an <a href="#MQTT_Publish" class=LType id=link290 onMouseOver="ShowTip(event, 'tt10', 'link290')" onMouseOut="HideTip('tt10')">MQTT_Publish</a></p><h4 class=CHeading>Elements</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>qos1</td><td class=CDLDescription><a href="#MQTT_PublishQos1_State" class=LType id=link291 onMouseOver="ShowTip(event, 'tt170', 'link291')" onMouseOut="HideTip('tt170')">MQTT_PublishQos1_State</a> - QoS1 state</td></tr><tr><td class=CDLEntry>qos2</td><td class=CDLDescription><a href="#MQTT_PublishQos2_State" class=LType id=link292 onMouseOver="ShowTip(event, 'tt171', 'link292')" onMouseOut="HideTip('tt171')">MQTT_PublishQos2_State</a> - QoS2 state</td></tr><tr><td class=CDLEntry>created</td><td class=CDLDescription><b>boolean</b> - just created</td></tr><tr><td class=CDLEntry>removing</td><td class=CDLDescription><b>boolean</b> - currently removing</td></tr></table></div></div></div>
+
+<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="MQTT_PublishQos1_State"></a>MQTT_PublishQos1_State</h3><div class=CBody><h4 class=CHeading>Purpose</h4><p>Qos1 state of an <a href="#MQTT_Publish_State" class=LType id=link293 onMouseOver="ShowTip(event, 'tt11', 'link293')" onMouseOut="HideTip('tt11')">MQTT_Publish_State</a></p><h4 class=CHeading>Elements</h4><ul><li>CREATED</li><li>PUBLISHED</li><li>ACKNOWLEDGED</li></ul></div></div></div>
+
+<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="MQTT_PublishQos2_State"></a>MQTT_PublishQos2_State</h3><div class=CBody><h4 class=CHeading>Purpose</h4><p>Qos2 state of an <a href="#MQTT_Publish_State" class=LType id=link294 onMouseOver="ShowTip(event, 'tt11', 'link294')" onMouseOut="HideTip('tt11')">MQTT_Publish_State</a></p><h4 class=CHeading>Elements</h4><ul><li>CREATED</li><li>PUBLISHED</li><li>RECEIVED</li><li>RELEASED</li><li>COMPLETE</li></ul></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="MQTT_Publish_List"></a>MQTT_Publish_List</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of MQTT_Publish MQTT_Publish_List</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>List of <a href="#MQTT_Publish" class=LType id=link295 onMouseOver="ShowTip(event, 'tt10', 'link295')" onMouseOut="HideTip('tt10')">MQTT_Publish</a></p></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="MQTT_Publish_DB"></a>MQTT_Publish_DB</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Publish_DB</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Storing <a href="#MQTT_Publish" class=LType id=link296 onMouseOver="ShowTip(event, 'tt10', 'link296')" onMouseOut="HideTip('tt10')">MQTT_Publish</a> instances</p><h4 class=CHeading>Class</h4><p>(see EPTF_MQTT_LGen_Definitions.MQTT_Publish_DB.jpg)</p><h4 class=CHeading>Elements</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>queue</td><td class=CDLDescription><EPTF_FreeBusyQueue> - free-busy queue to provide dynamic array</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription><a href="#MQTT_Publish_List" class=LType id=link297 onMouseOver="ShowTip(event, 'tt12', 'link297')" onMouseOut="HideTip('tt12')">MQTT_Publish_List</a> - elements</td></tr><tr><td class=CDLEntry>hashRef</td><td class=CDLDescription>str2int hash reference</td></tr></table><h4 class=CHeading>Related Functions</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_init" class=LFunction id=link298 onMouseOver="ShowTip(event, 'tt172', 'link298')" onMouseOut="HideTip('tt172')">f_EPTF_MQTT_publishDB_init</a> ()</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_add" class=LFunction id=link299 onMouseOver="ShowTip(event, 'tt173', 'link299')" onMouseOut="HideTip('tt173')">f_EPTF_MQTT_publishDB_add</a> (<b>in</b> <a href="#MQTT_Publish" class=LType id=link300 onMouseOver="ShowTip(event, 'tt10', 'link300')" onMouseOut="HideTip('tt10')">MQTT_Publish</a> p_pub)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_lookUp" class=LFunction id=link301 onMouseOver="ShowTip(event, 'tt174', 'link301')" onMouseOut="HideTip('tt174')">f_EPTF_MQTT_publishDB_lookUp</a> (<b>in integer</b> p_sessionIdx, <b>in integer</b> p_packetId)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_get" class=LFunction id=link302 onMouseOver="ShowTip(event, 'tt175', 'link302')" onMouseOut="HideTip('tt175')">f_EPTF_MQTT_publishDB_get</a> (<b>in integer</b> p_idx, <b>inout</b> <a href="#MQTT_Publish" class=LType id=link303 onMouseOver="ShowTip(event, 'tt10', 'link303')" onMouseOut="HideTip('tt10')">MQTT_Publish</a> p_pub)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_check" class=LFunction id=link304 onMouseOver="ShowTip(event, 'tt176', 'link304')" onMouseOut="HideTip('tt176')">f_EPTF_MQTT_publishDB_check</a> (<b>in integer</b> p_idx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_remove" class=LFunction id=link305 onMouseOver="ShowTip(event, 'tt177', 'link305')" onMouseOut="HideTip('tt177')">f_EPTF_MQTT_publishDB_remove</a> (<b>in integer</b> p_idx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_packetIdHash" class=LFunction id=link306 onMouseOver="ShowTip(event, 'tt178', 'link306')" onMouseOut="HideTip('tt178')">f_EPTF_MQTT_publishDB_packetIdHash</a> (<b>in integer</b> p_sessionIdx, <b>in integer</b> p_packetId)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_cleanUp" class=LFunction id=link307 onMouseOver="ShowTip(event, 'tt179', 'link307')" onMouseOut="HideTip('tt179')">f_EPTF_MQTT_publishDB_cleanUp</a> ()</li></ul></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="MQTT_StepCtx"></a>MQTT_StepCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_StepCtx</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Type that stores the most important pointers</p><h4 class=CHeading>Elements</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>eIdx</td><td class=CDLDescription><b>integer</b> - entity index</td></tr><tr><td class=CDLEntry>fsmIdx</td><td class=CDLDescription><b>integer</b> - fsm index</td></tr><tr><td class=CDLEntry>sessionIdx</td><td class=CDLDescription><b>integer</b> - MQTT session index <a href="#MQTT_Session" class=LType id=link308 onMouseOver="ShowTip(event, 'tt4', 'link308')" onMouseOut="HideTip('tt4')">MQTT_Session</a></td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="MQTT_Address_List"></a>MQTT_Address_List</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of Socket MQTT_Address_List</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>List of <Socket></p></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="MQTT_Address_DB"></a>MQTT_Address_DB</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Address_DB</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Storing <Socket> instances</p><h4 class=CHeading>Class</h4><p>(see EPTF_MQTT_LGen_Definitions.MQTT_Address_DB.jpg)</p><h4 class=CHeading>Elements</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>queue</td><td class=CDLDescription><EPTF_FreeBusyQueue> - free-busy queue to provide dynamic array</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription><a href="#MQTT_Address_List" class=LType id=link309 onMouseOver="ShowTip(event, 'tt15', 'link309')" onMouseOut="HideTip('tt15')">MQTT_Address_List</a> - elements</td></tr><tr><td class=CDLEntry>hashRef</td><td class=CDLDescription>str2int hash reference</td></tr></table><h4 class=CHeading>Related Functions</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_init" class=LFunction id=link310 onMouseOver="ShowTip(event, 'tt180', 'link310')" onMouseOut="HideTip('tt180')">f_EPTF_MQTT_addressDB_init</a> ()</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_add" class=LFunction id=link311 onMouseOver="ShowTip(event, 'tt181', 'link311')" onMouseOut="HideTip('tt181')">f_EPTF_MQTT_addressDB_add</a> (<b>in</b> <Socket> p_addr, <b>inout integer</b> p_idx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_lookUp" class=LFunction id=link312 onMouseOver="ShowTip(event, 'tt182', 'link312')" onMouseOut="HideTip('tt182')">f_EPTF_MQTT_addressDB_lookUp</a> (<b>in</b> <Socket> p_sock)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_get" class=LFunction id=link313 onMouseOver="ShowTip(event, 'tt183', 'link313')" onMouseOut="HideTip('tt183')">f_EPTF_MQTT_addressDB_get</a> (<b>inout</b> <Socket> p_addr, <b>in integer</b> p_idx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_Socket2String" class=LFunction id=link314 onMouseOver="ShowTip(event, 'tt184', 'link314')" onMouseOut="HideTip('tt184')">f_EPTF_MQTT_addressDB_Socket2String</a> (<Socket> p_sock)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_cleanUp" class=LFunction id=link315 onMouseOver="ShowTip(event, 'tt185', 'link315')" onMouseOut="HideTip('tt185')">f_EPTF_MQTT_addressDB_cleanUp</a> ()</li></ul></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="fcb_EPTF_MQTT_messageReceived"></a>fcb_EPTF_MQTT_messageReceived</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_messageReceived(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Call-back function type for reporting received MQTT messages</p><h4 class=CHeading>Elements</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_message</td><td class=CDLDescription><b>in</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link316 onMouseOver="ShowTip(event, 'tt127', 'link316')" onMouseOut="HideTip('tt127')">EPTF_MQTT_PDU</a> - received MQTT message</td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="EPTF_MQTT_LGen_CT"></a>EPTF_MQTT_LGen_CT</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type component EPTF_MQTT_LGen_CT extends EPTF_MQTT_Transport_User_CT, EPTF_LGenBase_CT, EPTF_Logging_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>MQTT load generator component</p><h4 class=CHeading>Class</h4><p>(see EPTF_MQTT_LGen_Definitions.EPTF_MQTT_LGen_CT.jpg)</p><h4 class=CHeading>Extensions</h4><ul><li><EPTF_LGenBase_CT></li><li><a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_User_CT" class=LType id=link317 onMouseOver="ShowTip(event, 'tt186', 'link317')" onMouseOut="HideTip('tt186')">EPTF_MQTT_Transport_User_CT</a></li><li><EPTF_Logging_CT></li></ul><h4 class=CHeading>Ports</h4><p>-</p><h4 class=CHeading>Timers</h4><p>-</p><h4 class=CHeading>Variables</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>v_MQTT_initialized</td><td class=CDLDescription><b>boolean</b> - Flag to indicate that if init function was already called</td></tr><tr><td class=CDLEntry>v_MQTT_bIdx</td><td class=CDLDescription><b>integer</b> - Name of the NAS_EPS LGen component</td></tr><tr><td class=CDLEntry>v_MQTT_loggingMaskId</td><td class=CDLDescription><b>integer</b> - logging mask id</td></tr><tr><td class=CDLEntry>v_MQTT_ctx</td><td class=CDLDescription><a href="#MQTT_StepCtx" class=LType id=link318 onMouseOver="ShowTip(event, 'tt14', 'link318')" onMouseOut="HideTip('tt14')">MQTT_StepCtx</a> - collection of the most important pointers</td></tr><tr><td class=CDLEntry>v_MQTT_session</td><td class=CDLDescription><a href="#MQTT_Session" class=LType id=link319 onMouseOver="ShowTip(event, 'tt4', 'link319')" onMouseOut="HideTip('tt4')">MQTT_Session</a> - temporary variable for a <a href="#MQTT_Session" class=LType id=link320 onMouseOver="ShowTip(event, 'tt4', 'link320')" onMouseOut="HideTip('tt4')">MQTT_Session</a></td></tr><tr><td class=CDLEntry>v_MQTT_subscription</td><td class=CDLDescription><a href="#MQTT_Subscription" class=LType id=link321 onMouseOver="ShowTip(event, 'tt7', 'link321')" onMouseOut="HideTip('tt7')">MQTT_Subscription</a> - temporary variable for a <a href="#MQTT_Subscription" class=LType id=link322 onMouseOver="ShowTip(event, 'tt7', 'link322')" onMouseOut="HideTip('tt7')">MQTT_Subscription</a></td></tr><tr><td class=CDLEntry>v_MQTT_publish</td><td class=CDLDescription><a href="#MQTT_Publish" class=LType id=link323 onMouseOver="ShowTip(event, 'tt10', 'link323')" onMouseOut="HideTip('tt10')">MQTT_Publish</a> - temporary variable for a <a href="#MQTT_Publish" class=LType id=link324 onMouseOver="ShowTip(event, 'tt10', 'link324')" onMouseOut="HideTip('tt10')">MQTT_Publish</a></td></tr><tr><td class=CDLEntry>v_MQTT_msgToProcess</td><td class=CDLDescription><a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link325 onMouseOver="ShowTip(event, 'tt127', 'link325')" onMouseOut="HideTip('tt127')">EPTF_MQTT_PDU</a> - message to process</td></tr><tr><td class=CDLEntry>v_MQTT_msgToSend</td><td class=CDLDescription><a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link326 onMouseOver="ShowTip(event, 'tt127', 'link326')" onMouseOut="HideTip('tt127')">EPTF_MQTT_PDU</a> - message to send</td></tr><tr><td class=CDLEntry>vf_MQTT_msgReceived</td><td class=CDLDescription><a href="#fcb_EPTF_MQTT_messageReceived" class=LType id=link327 onMouseOver="ShowTip(event, 'tt17', 'link327')" onMouseOut="HideTip('tt17')">fcb_EPTF_MQTT_messageReceived</a> - Function hook for reporting received messages</td></tr></table><h4 class=CHeading>Instance databases</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>v_MQTT_addressDB</td><td class=CDLDescription><a href="#MQTT_Address_DB" class=LType id=link328 onMouseOver="ShowTip(event, 'tt16', 'link328')" onMouseOut="HideTip('tt16')">MQTT_Address_DB</a> - address database of <Socket></td></tr><tr><td class=CDLEntry>v_MQTT_templateDB</td><td class=CDLDescription><a href="#MQTT_Template_DB" class=LType id=link329 onMouseOver="ShowTip(event, 'tt3', 'link329')" onMouseOut="HideTip('tt3')">MQTT_Template_DB</a> - template database <a href="#MQTT_Template" class=LType id=link330 onMouseOver="ShowTip(event, 'tt1', 'link330')" onMouseOut="HideTip('tt1')">MQTT_Template</a></td></tr><tr><td class=CDLEntry>v_MQTT_sessionDB</td><td class=CDLDescription><a href="#MQTT_Session_DB" class=LType id=link331 onMouseOver="ShowTip(event, 'tt6', 'link331')" onMouseOut="HideTip('tt6')">MQTT_Session_DB</a> - MQTT session database of <a href="#MQTT_Session" class=LType id=link332 onMouseOver="ShowTip(event, 'tt4', 'link332')" onMouseOut="HideTip('tt4')">MQTT_Session</a></td></tr><tr><td class=CDLEntry>v_MQTT_subscriptionDB</td><td class=CDLDescription><a href="#MQTT_Subscription_DB" class=LType id=link333 onMouseOver="ShowTip(event, 'tt9', 'link333')" onMouseOut="HideTip('tt9')">MQTT_Subscription_DB</a> - MQTT subscription database of <a href="#MQTT_Subscription" class=LType id=link334 onMouseOver="ShowTip(event, 'tt7', 'link334')" onMouseOut="HideTip('tt7')">MQTT_Subscription</a></td></tr><tr><td class=CDLEntry>v_MQTT_publishDB</td><td class=CDLDescription><a href="#MQTT_Publish_DB" class=LType id=link335 onMouseOver="ShowTip(event, 'tt13', 'link335')" onMouseOut="HideTip('tt13')">MQTT_Publish_DB</a> - MQTT publish database of <a href="#MQTT_Session" class=LType id=link336 onMouseOver="ShowTip(event, 'tt4', 'link336')" onMouseOut="HideTip('tt4')">MQTT_Session</a></td></tr></table><h4 class=CHeading>Related Functions</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_init" class=LFunction id=link337 onMouseOver="ShowTip(event, 'tt187', 'link337')" onMouseOut="HideTip('tt187')">f_EPTF_MQTT_LGen_init</a> (<b>in charstring</b> pl_name)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_initLogging" class=LFunction id=link338 onMouseOver="ShowTip(event, 'tt188', 'link338')" onMouseOut="HideTip('tt188')">f_EPTF_MQTT_LGen_initLogging</a> ()</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_cleanUp" class=LFunction id=link339 onMouseOver="ShowTip(event, 'tt189', 'link339')" onMouseOut="HideTip('tt189')">f_MQTT_cleanUp</a> ()</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_eCtxBind" class=LFunction id=link340 onMouseOver="ShowTip(event, 'tt190', 'link340')" onMouseOut="HideTip('tt190')">f_MQTT_eCtxBind</a> (<b>in integer</b> pl_eIdx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_eCtxUnbind" class=LFunction id=link341 onMouseOver="ShowTip(event, 'tt191', 'link341')" onMouseOut="HideTip('tt191')">f_MQTT_eCtxUnbind</a> (<b>in integer</b> pl_eIdx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_eCtxReset" class=LFunction id=link342 onMouseOver="ShowTip(event, 'tt192', 'link342')" onMouseOut="HideTip('tt192')">f_MQTT_eCtxReset</a> (<b>in integer</b> pl_eIdx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_declareEvents" class=LFunction id=link343 onMouseOver="ShowTip(event, 'tt193', 'link343')" onMouseOut="HideTip('tt193')">f_EPTF_MQTT_declareEvents</a> ()</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_declareSteps" class=LFunction id=link344 onMouseOver="ShowTip(event, 'tt194', 'link344')" onMouseOut="HideTip('tt194')">f_EPTF_MQTT_declareSteps</a> ()</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_receiveMessage" class=LFunction id=link345 onMouseOver="ShowTip(event, 'tt195', 'link345')" onMouseOut="HideTip('tt195')">f_EPTF_MQTT_LGen_receiveMessage</a> (<b>in</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link346 onMouseOver="ShowTip(event, 'tt127', 'link346')" onMouseOut="HideTip('tt127')">EPTF_MQTT_PDU</a> pl_message)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_receiveEvent" class=LFunction id=link347 onMouseOver="ShowTip(event, 'tt196', 'link347')" onMouseOut="HideTip('tt196')">f_EPTF_MQTT_LGen_receiveEvent</a> (<b>in</b> <ASP_Event> p_event)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_transportApiResponse" class=LFunction id=link348 onMouseOver="ShowTip(event, 'tt197', 'link348')" onMouseOut="HideTip('tt197')">f_EPTF_MQTT_LGen_transportApiResponse</a> (<b>in</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Response" class=LType id=link349 onMouseOver="ShowTip(event, 'tt198', 'link349')" onMouseOut="HideTip('tt198')">EPTF_MQTT_Transport_Response</a> pl_rsp)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_send" class=LFunction id=link350 onMouseOver="ShowTip(event, 'tt199', 'link350')" onMouseOut="HideTip('tt199')">f_EPTF_MQTT_LGen_send</a> (<b>inout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link351 onMouseOver="ShowTip(event, 'tt127', 'link351')" onMouseOut="HideTip('tt127')">EPTF_MQTT_PDU</a> p_msg)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_stack_fromApp" class=LFunction id=link352 onMouseOver="ShowTip(event, 'tt200', 'link352')" onMouseOut="HideTip('tt200')">f_EPTF_MQTT_stack_fromApp</a> (<b>inout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link353 onMouseOver="ShowTip(event, 'tt127', 'link353')" onMouseOut="HideTip('tt127')">EPTF_MQTT_PDU</a> p_msg, <b>in</b> <a href="#MQTT_StepCtx" class=LType id=link354 onMouseOver="ShowTip(event, 'tt14', 'link354')" onMouseOut="HideTip('tt14')">MQTT_StepCtx</a> p_ctx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_stack_fromEnv" class=LFunction id=link355 onMouseOver="ShowTip(event, 'tt201', 'link355')" onMouseOut="HideTip('tt201')">f_EPTF_MQTT_stack_fromEnv</a> (<b>inout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link356 onMouseOver="ShowTip(event, 'tt127', 'link356')" onMouseOut="HideTip('tt127')">EPTF_MQTT_PDU</a> p_msg)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_isFsmInitialized" class=LFunction id=link357 onMouseOver="ShowTip(event, 'tt202', 'link357')" onMouseOut="HideTip('tt202')">f_EPTF_MQTT_isFsmInitialized</a> (<b>in integer</b> pl_eIdx, <b>in integer</b> pl_fsmIdx, <b>inout integer</b> pl_sessionIdx)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_VERBOSE" class=LFunction id=link358 onMouseOver="ShowTip(event, 'tt203', 'link358')" onMouseOut="HideTip('tt203')">f_EPTF_MQTT_Logging_VERBOSE</a> (<b>in @lazy charstring</b> pl_message)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_DEBUG" class=LFunction id=link359 onMouseOver="ShowTip(event, 'tt204', 'link359')" onMouseOut="HideTip('tt204')">f_EPTF_MQTT_Logging_DEBUG</a> (<b>in @lazy charstring</b> pl_message)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_WARNING" class=LFunction id=link360 onMouseOver="ShowTip(event, 'tt205', 'link360')" onMouseOut="HideTip('tt205')">f_EPTF_MQTT_Logging_WARNING</a> (<b>in @lazy charstring</b> pl_message)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_ERROR" class=LFunction id=link361 onMouseOver="ShowTip(event, 'tt206', 'link361')" onMouseOut="HideTip('tt206')">f_EPTF_MQTT_Logging_ERROR</a> (<b>in @lazy charstring</b> pl_message)</li><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_dispatchEvent" class=LFunction id=link362 onMouseOver="ShowTip(event, 'tt207', 'link362')" onMouseOut="HideTip('tt207')">f_EPTF_MQTT_dispatchEvent</a> (<b>in integer</b> pl_eventIdx, <b>in integer</b> pl_eIdx, <b>in integer</b> pl_fsmCtx, <b>in</b> <EPTF_IntegerList> pl_reportedArgs)</li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventIdx_transportSucc"></a>c_MQTT_eventIdx_transportSucc</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_transportSucc := 0</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT transport succesful indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventName_transportSucc"></a>c_MQTT_eventName_transportSucc</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_transportSucc := "MQTT transport: succ rsp"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT transport succesful indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventIdx_transportFail"></a>c_MQTT_eventIdx_transportFail</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_transportFail := 1</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT transport fail indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventName_transportFail"></a>c_MQTT_eventName_transportFail</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_transportFail := "MQTT transport: fail rsp"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT transport fail indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventIdx_transportClosed"></a>c_MQTT_eventIdx_transportClosed</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_transportClosed := 2</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT transport closed indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventName_transportClosed"></a>c_MQTT_eventName_transportClosed</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_transportClosed := "MQTT transport: connection closed"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT transport closed indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventIdx_CONNACK_Accepted"></a>c_MQTT_eventIdx_CONNACK_Accepted</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_CONNACK_Accepted := 3</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT CONNACK accepted indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventName_CONNACK_Accepted"></a>c_MQTT_eventName_CONNACK_Accepted</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_CONNACK_Accepted := "MQTT rsp: CONNACK Accepted"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT CONNACK accepted indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventIdx_CONNACK_Refused"></a>c_MQTT_eventIdx_CONNACK_Refused</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_CONNACK_Refused := 4</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT CONNACK refused indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventName_CONNACK_Refused"></a>c_MQTT_eventName_CONNACK_Refused</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_CONNACK_Refused := "MQTT rsp: CONNACK Refused"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT CONNACK refused indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventIdx_SUBACK_Accepted"></a>c_MQTT_eventIdx_SUBACK_Accepted</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_SUBACK_Accepted := 5</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT SUBACK accepted indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventName_SUBACK_Accepted"></a>c_MQTT_eventName_SUBACK_Accepted</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_SUBACK_Accepted := "MQTT rsp: SUBACK Accepted"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT SUBACK accepted indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventIdx_SUBACK_Refused"></a>c_MQTT_eventIdx_SUBACK_Refused</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_SUBACK_Refused := 6</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT SUBACK refused indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventName_SUBACK_Refused"></a>c_MQTT_eventName_SUBACK_Refused</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_SUBACK_Refused := "MQTT rsp: SUBACK Refused"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT SUBACK refused indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventIdx_UNSUBACK"></a>c_MQTT_eventIdx_UNSUBACK</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_UNSUBACK := 7</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT UNSUBACK indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventName_UNSUBACK"></a>c_MQTT_eventName_UNSUBACK</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_UNSUBACK := "MQTT rsp: UNSUBACK"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT UNSUBACK indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventIdx_PUBLISH"></a>c_MQTT_eventIdx_PUBLISH</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBLISH := 8</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT PUBLISH indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventName_PUBLISH"></a>c_MQTT_eventName_PUBLISH</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBLISH := "MQTT req: PUBLISH"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT PUBLISH indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventIdx_PING_Request"></a>c_MQTT_eventIdx_PING_Request</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PING_Request := 9</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT PING request indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventName_PING_Request"></a>c_MQTT_eventName_PING_Request</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PING_Request := "MQTT req: PING"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT PING request indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventIdx_PING_Response"></a>c_MQTT_eventIdx_PING_Response</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PING_Response := 10</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT PING response indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventName_PING_Response"></a>c_MQTT_eventName_PING_Response</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PING_Response := "MQTT rsp: PING"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT PING response indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventIdx_PUBACK"></a>c_MQTT_eventIdx_PUBACK</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBACK := 11</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT PUBACK indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventName_PUBACK"></a>c_MQTT_eventName_PUBACK</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBACK := "MQTT rsp: PUBACK"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT PUBACK indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventIdx_PUBREC"></a>c_MQTT_eventIdx_PUBREC</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBREC := 12</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT PUBREC indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventName_PUBREC"></a>c_MQTT_eventName_PUBREC</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBREC := "MQTT rsp: PUBREC"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT PUBREC indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventIdx_PUBREL"></a>c_MQTT_eventIdx_PUBREL</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBREL := 13</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT PUBREL indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventName_PUBREL"></a>c_MQTT_eventName_PUBREL</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBREL := "MQTT req: PUBREL"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT PUBREL indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventIdx_PUBCOMP"></a>c_MQTT_eventIdx_PUBCOMP</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBCOMP := 14</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT PUBCOMP indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventName_PUBCOMP"></a>c_MQTT_eventName_PUBCOMP</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBCOMP := "MQTT rsp: PUBCOMP"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT PUBCOMP indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventIdx_PUBLISH_Timeout"></a>c_MQTT_eventIdx_PUBLISH_Timeout</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBLISH_Timeout := 15</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT PUBLISH timeout indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_eventName_PUBLISH_Timeout"></a>c_MQTT_eventName_PUBLISH_Timeout</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBLISH_Timeout := "MQTT timeout: PUBLISH Timeout"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT PUBLISH timeout indication</p></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_init"></a>c_MQTT_stepIdx_init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_init := 0</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT init test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_init" class=LFunction id=link363 onMouseOver="ShowTip(event, 'tt99', 'link363')" onMouseOut="HideTip('tt99')">f_MQTT_step_init</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_init"></a>c_MQTT_stepName_init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_init := "MQTT Applib: init"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT init test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_init" class=LFunction id=link364 onMouseOver="ShowTip(event, 'tt99', 'link364')" onMouseOut="HideTip('tt99')">f_MQTT_step_init</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_cleanUp"></a>c_MQTT_stepIdx_cleanUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_cleanUp := 1</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT clean up test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_cleanUp" class=LFunction id=link365 onMouseOver="ShowTip(event, 'tt100', 'link365')" onMouseOut="HideTip('tt100')">f_MQTT_step_cleanUp</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_cleanUp"></a>c_MQTT_stepName_cleanUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_cleanUp := "MQTT Applib: cleanUp"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT clean up test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_cleanUp" class=LFunction id=link366 onMouseOver="ShowTip(event, 'tt100', 'link366')" onMouseOut="HideTip('tt100')">f_MQTT_step_cleanUp</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_setLocalAddress_byVars"></a>c_MQTT_stepIdx_setLocalAddress_byVars</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setLocalAddress_byVars := 2</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT set local address by variables test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setLocalAddress_byVars" class=LFunction id=link367 onMouseOver="ShowTip(event, 'tt101', 'link367')" onMouseOut="HideTip('tt101')">f_MQTT_step_setLocalAddress_byVars</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_setLocalAddress_byVars"></a>c_MQTT_stepName_setLocalAddress_byVars</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setLocalAddress_byVars := "MQTT Applib: setLocalAddress_byVars"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT set local address by variables test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setLocalAddress_byVars" class=LFunction id=link368 onMouseOver="ShowTip(event, 'tt101', 'link368')" onMouseOut="HideTip('tt101')">f_MQTT_step_setLocalAddress_byVars</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_setRemoteAddress_byVars"></a>c_MQTT_stepIdx_setRemoteAddress_byVars</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setRemoteAddress_byVars := 3</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT set remote address by variables test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setRemoteAddress_byVars" class=LFunction id=link369 onMouseOver="ShowTip(event, 'tt102', 'link369')" onMouseOut="HideTip('tt102')">f_MQTT_step_setRemoteAddress_byVars</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_setRemoteAddress_byVars"></a>c_MQTT_stepName_setRemoteAddress_byVars</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setRemoteAddress_byVars := "MQTT Applib: setRemoteAddress_byVars"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT set remote address by variables test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setRemoteAddress_byVars" class=LFunction id=link370 onMouseOver="ShowTip(event, 'tt102', 'link370')" onMouseOut="HideTip('tt102')">f_MQTT_step_setRemoteAddress_byVars</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_transportConnect"></a>c_MQTT_stepIdx_transportConnect</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_transportConnect := 4</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT transport connect test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_transportConnect" class=LFunction id=link371 onMouseOver="ShowTip(event, 'tt103', 'link371')" onMouseOut="HideTip('tt103')">f_MQTT_step_transportConnect</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_transportConnect"></a>c_MQTT_stepName_transportConnect</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_transportConnect := "MQTT Applib: transportConnect"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT transport connect test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_transportConnect" class=LFunction id=link372 onMouseOver="ShowTip(event, 'tt103', 'link372')" onMouseOut="HideTip('tt103')">f_MQTT_step_transportConnect</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_transportClose"></a>c_MQTT_stepIdx_transportClose</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_transportClose := 5</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT transport close test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_transportClose" class=LFunction id=link373 onMouseOver="ShowTip(event, 'tt104', 'link373')" onMouseOut="HideTip('tt104')">f_MQTT_step_transportClose</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_transportClose"></a>c_MQTT_stepName_transportClose</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_transportClose := "MQTT Applib: transportClose"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT transport close test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_transportClose" class=LFunction id=link374 onMouseOver="ShowTip(event, 'tt104', 'link374')" onMouseOut="HideTip('tt104')">f_MQTT_step_transportClose</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_startListening"></a>c_MQTT_stepIdx_startListening</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_startListening := 6</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT start listening test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_startListening" class=LFunction id=link375 onMouseOver="ShowTip(event, 'tt105', 'link375')" onMouseOut="HideTip('tt105')">f_MQTT_step_startListening</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_startListening"></a>c_MQTT_stepName_startListening</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_startListening := "MQTT Applib: startListening"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT start listening test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_startListening" class=LFunction id=link376 onMouseOver="ShowTip(event, 'tt105', 'link376')" onMouseOut="HideTip('tt105')">f_MQTT_step_startListening</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_loadTemplate_byIntIdx"></a>c_MQTT_stepIdx_loadTemplate_byIntIdx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_loadTemplate_byIntIdx := 7</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT load template by integer idx pointer test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_loadTemplate_byIntIdx" class=LFunction id=link377 onMouseOver="ShowTip(event, 'tt106', 'link377')" onMouseOut="HideTip('tt106')">f_MQTT_step_loadTemplate_byIntIdx</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_loadTemplate_byIntIdx"></a>c_MQTT_stepName_loadTemplate_byIntIdx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_loadTemplate_byIntIdx := "MQTT Applib: loadTemplate_byIntIdx"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT load template by integer idx pointer test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_loadTemplate_byIntIdx" class=LFunction id=link378 onMouseOver="ShowTip(event, 'tt106', 'link378')" onMouseOut="HideTip('tt106')">f_MQTT_step_loadTemplate_byIntIdx</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_loadTemplate_byStringId"></a>c_MQTT_stepIdx_loadTemplate_byStringId</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_loadTemplate_byStringId := 8</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT load template by string id test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_loadTemplate_byStringId" class=LFunction id=link379 onMouseOver="ShowTip(event, 'tt107', 'link379')" onMouseOut="HideTip('tt107')">f_MQTT_step_loadTemplate_byStringId</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_loadTemplate_byStringId"></a>c_MQTT_stepName_loadTemplate_byStringId</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_loadTemplate_byStringId := "MQTT Applib: loadTemplate_byStringId"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT load template by string id test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_loadTemplate_byStringId" class=LFunction id=link380 onMouseOver="ShowTip(event, 'tt107', 'link380')" onMouseOut="HideTip('tt107')">f_MQTT_step_loadTemplate_byStringId</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_send"></a>c_MQTT_stepIdx_send</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_send := 9</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT send test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_send" class=LFunction id=link381 onMouseOver="ShowTip(event, 'tt108', 'link381')" onMouseOut="HideTip('tt108')">f_MQTT_step_send</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_send"></a>c_MQTT_stepName_send</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_send := "MQTT Applib: send"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT send test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_send" class=LFunction id=link382 onMouseOver="ShowTip(event, 'tt108', 'link382')" onMouseOut="HideTip('tt108')">f_MQTT_step_send</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_setTopic_stringParam"></a>c_MQTT_stepIdx_setTopic_stringParam</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_stringParam := 10</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT set topic by string parameter test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_stringParam" class=LFunction id=link383 onMouseOver="ShowTip(event, 'tt109', 'link383')" onMouseOut="HideTip('tt109')">f_MQTT_step_setTopic_stringParam</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_setTopic_stringParam"></a>c_MQTT_stepName_setTopic_stringParam</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_stringParam := "MQTT Applib: setTopic_stringParam"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT set topic by string parameter test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_stringParam" class=LFunction id=link384 onMouseOver="ShowTip(event, 'tt109', 'link384')" onMouseOut="HideTip('tt109')">f_MQTT_step_setTopic_stringParam</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_setTopic_add_stringParam"></a>c_MQTT_stepIdx_setTopic_add_stringParam</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_add_stringParam := 11</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT set topic by adding a string test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_stringParam" class=LFunction id=link385 onMouseOver="ShowTip(event, 'tt110', 'link385')" onMouseOut="HideTip('tt110')">f_MQTT_step_setTopic_add_stringParam</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_setTopic_add_stringParam"></a>c_MQTT_stepName_setTopic_add_stringParam</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_add_stringParam := "MQTT Applib: setTopic_add_stringParam"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT set topic by adding a string test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_stringParam" class=LFunction id=link386 onMouseOver="ShowTip(event, 'tt110', 'link386')" onMouseOut="HideTip('tt110')">f_MQTT_step_setTopic_add_stringParam</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_setTopic_add_varParams"></a>c_MQTT_stepIdx_setTopic_add_varParams</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_add_varParams := 12</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT set topic by adding variable parameters test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_varParams" class=LFunction id=link387 onMouseOver="ShowTip(event, 'tt111', 'link387')" onMouseOut="HideTip('tt111')">f_MQTT_step_setTopic_add_varParams</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_setTopic_add_varParams"></a>c_MQTT_stepName_setTopic_add_varParams</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_add_varParams := "MQTT Applib: setTopic_add_varParams"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT set topic by adding variable parameters test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_varParams" class=LFunction id=link388 onMouseOver="ShowTip(event, 'tt111', 'link388')" onMouseOut="HideTip('tt111')">f_MQTT_step_setTopic_add_varParams</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_setTopic_add_clientId"></a>c_MQTT_stepIdx_setTopic_add_clientId</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_add_clientId := 13</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT set topic by adding the client id test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_clientId" class=LFunction id=link389 onMouseOver="ShowTip(event, 'tt112', 'link389')" onMouseOut="HideTip('tt112')">f_MQTT_step_setTopic_add_clientId</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_setTopic_add_clientId"></a>c_MQTT_stepName_setTopic_add_clientId</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_add_clientId := "MQTT Applib: setTopic_add_clientId"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT set topic by adding the client id test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_clientId" class=LFunction id=link390 onMouseOver="ShowTip(event, 'tt112', 'link390')" onMouseOut="HideTip('tt112')">f_MQTT_step_setTopic_add_clientId</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_setQos_intParam"></a>c_MQTT_stepIdx_setQos_intParam</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setQos_intParam := 14</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT set QoS using integer parameter test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setQos_intParam" class=LFunction id=link391 onMouseOver="ShowTip(event, 'tt113', 'link391')" onMouseOut="HideTip('tt113')">f_MQTT_step_setQos_intParam</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_setQos_intParam"></a>c_MQTT_stepName_setQos_intParam</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setQos_intParam := "MQTT Applib: setQos_intParam"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT set QoS using integer parameter test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setQos_intParam" class=LFunction id=link392 onMouseOver="ShowTip(event, 'tt113', 'link392')" onMouseOut="HideTip('tt113')">f_MQTT_step_setQos_intParam</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_setPublishMessage_stringParam"></a>c_MQTT_stepIdx_setPublishMessage_stringParam</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_stringParam := 15</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT set publish message using a string parameter test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_stringParam" class=LFunction id=link393 onMouseOver="ShowTip(event, 'tt114', 'link393')" onMouseOut="HideTip('tt114')">f_MQTT_step_setPublishMessage_stringParam</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_setPublishMessage_stringParam"></a>c_MQTT_stepName_setPublishMessage_stringParam</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_stringParam := "MQTT Applib: setPublishMessage_stringParam"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT set publish message using a string parameter test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_stringParam" class=LFunction id=link394 onMouseOver="ShowTip(event, 'tt114', 'link394')" onMouseOut="HideTip('tt114')">f_MQTT_step_setPublishMessage_stringParam</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_setPublishMessage_add_stringParam"></a>c_MQTT_stepIdx_setPublishMessage_add_stringParam</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_add_stringParam := 16</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT set publish by adding a string parameter test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_stringParam" class=LFunction id=link395 onMouseOver="ShowTip(event, 'tt115', 'link395')" onMouseOut="HideTip('tt115')">f_MQTT_step_setPublishMessage_add_stringParam</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_setPublishMessage_add_stringParam"></a>c_MQTT_stepName_setPublishMessage_add_stringParam</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_add_stringParam := "MQTT Applib: setPublishMessage_add_stringParam"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT set publish by adding a string parameter test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_stringParam" class=LFunction id=link396 onMouseOver="ShowTip(event, 'tt115', 'link396')" onMouseOut="HideTip('tt115')">f_MQTT_step_setPublishMessage_add_stringParam</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_setPublishMessage_add_varParams"></a>c_MQTT_stepIdx_setPublishMessage_add_varParams</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_add_varParams := 17</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT set publish by adding variable parameters test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_varParams" class=LFunction id=link397 onMouseOver="ShowTip(event, 'tt116', 'link397')" onMouseOut="HideTip('tt116')">f_MQTT_step_setPublishMessage_add_varParams</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_setPublishMessage_add_varParams"></a>c_MQTT_stepName_setPublishMessage_add_varParams</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_add_varParams := "MQTT Applib: setPublishMessage_add_varParams"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT set publish by adding variable parameters test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_varParams" class=LFunction id=link398 onMouseOver="ShowTip(event, 'tt116', 'link398')" onMouseOut="HideTip('tt116')">f_MQTT_step_setPublishMessage_add_varParams</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_setPublishMessage_add_clientId"></a>c_MQTT_stepIdx_setPublishMessage_add_clientId</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_add_clientId := 18</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT set publish by adding the client id test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_clientId" class=LFunction id=link399 onMouseOver="ShowTip(event, 'tt117', 'link399')" onMouseOut="HideTip('tt117')">f_MQTT_step_setPublishMessage_add_clientId</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_setPublishMessage_add_clientId"></a>c_MQTT_stepName_setPublishMessage_add_clientId</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_add_clientId := "MQTT Applib: setPublishMessage_add_clientId"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT set publish by adding the client id test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_clientId" class=LFunction id=link400 onMouseOver="ShowTip(event, 'tt117', 'link400')" onMouseOut="HideTip('tt117')">f_MQTT_step_setPublishMessage_add_clientId</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_reportPingResponse"></a>c_MQTT_stepIdx_reportPingResponse</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_reportPingResponse := 19</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT enabling/disabling the reporting of a ping response test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_reportPingResponse" class=LFunction id=link401 onMouseOver="ShowTip(event, 'tt118', 'link401')" onMouseOut="HideTip('tt118')">f_MQTT_step_reportPingResponse</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_reportPingResponse"></a>c_MQTT_stepName_reportPingResponse</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_reportPingResponse := "MQTT Applib: reportPingResponse"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT enabling/disabling the reporting of a ping response test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_reportPingResponse" class=LFunction id=link402 onMouseOver="ShowTip(event, 'tt118', 'link402')" onMouseOut="HideTip('tt118')">f_MQTT_step_reportPingResponse</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepIdx_reportPublishResponse"></a>c_MQTT_stepIdx_reportPublishResponse</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_reportPublishResponse := 20</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Integer constant for the MQTT enabling/disabling the reporting of a publish response test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_reportPublishResponse" class=LFunction id=link403 onMouseOver="ShowTip(event, 'tt119', 'link403')" onMouseOut="HideTip('tt119')">f_MQTT_step_reportPublishResponse</a></li></ul></div></div></div>
+
+<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="c_MQTT_stepName_reportPublishResponse"></a>c_MQTT_stepName_reportPublishResponse</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_reportPublishResponse := "MQTT Applib: reportPublishResponse"</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Charstring constant for the MQTT enabling/disabling the reporting of a publish response test step</p><h4 class=CHeading>Related Function</h4><ul><li><a href="EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_reportPublishResponse" class=LFunction id=link404 onMouseOver="ShowTip(event, 'tt119', 'link404')" onMouseOut="HideTip('tt119')">f_MQTT_step_reportPublishResponse</a></li></ul></div></div></div>
+
+</div><!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Template</td></tr></table></blockquote>Grouping a MQTT_v3_1_1_ReqResp with an id</div></div><div class=CToolTip id="tt2"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of MQTT_Template MQTT_Template_List</td></tr></table></blockquote>List of MQTT_Template</div></div><div class=CToolTip id="tt3"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Template_DB</td></tr></table></blockquote>Storing MQTT_Template instances</div></div><div class=CToolTip id="tt4"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Session</td></tr></table></blockquote>Models and MQTT session</div></div><div class=CToolTip id="tt5"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of MQTT_Session MQTT_Session_List</td></tr></table></blockquote>List of MQTT_Session</div></div><div class=CToolTip id="tt6"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Session_DB</td></tr></table></blockquote>Storing MQTT_Session instances</div></div><div class=CToolTip id="tt7"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Subscription</td></tr></table></blockquote>Models an MQTT subscription</div></div><div class=CToolTip id="tt8"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of MQTT_Subscription MQTT_Subscription_List</td></tr></table></blockquote>List of MQTT_Subscription</div></div><div class=CToolTip id="tt9"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Subscription_DB</td></tr></table></blockquote>Storing MQTT_Subscription instances</div></div><div class=CToolTip id="tt10"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Publish</td></tr></table></blockquote>Models an MQTT publish</div></div><div class=CToolTip id="tt11"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type union MQTT_Publish_State</td></tr></table></blockquote>State of an MQTT_Publish</div></div><div class=CToolTip id="tt12"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of MQTT_Publish MQTT_Publish_List</td></tr></table></blockquote>List of MQTT_Publish</div></div><div class=CToolTip id="tt13"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Publish_DB</td></tr></table></blockquote>Storing MQTT_Publish instances</div></div><div class=CToolTip id="tt14"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_StepCtx</td></tr></table></blockquote>Type that stores the most important pointers</div></div><div class=CToolTip id="tt15"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of Socket MQTT_Address_List</td></tr></table></blockquote>List of Socket</div></div><div class=CToolTip id="tt16"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Address_DB</td></tr></table></blockquote>Storing Socket instances</div></div><div class=CToolTip id="tt17"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_messageReceived(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for reporting received MQTT messages</div></div><div class=CToolTip id="tt18"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type component EPTF_MQTT_LGen_CT extends EPTF_MQTT_Transport_User_CT, EPTF_LGenBase_CT, EPTF_Logging_CT</td></tr></table></blockquote>MQTT load generator component</div></div><div class=CToolTip id="tt19"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_transportSucc := 0</td></tr></table></blockquote>Integer constant for the MQTT transport succesful indication</div></div><div class=CToolTip id="tt20"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_transportSucc := "MQTT transport: succ rsp"</td></tr></table></blockquote>Charstring constant for the MQTT transport succesful indication</div></div><div class=CToolTip id="tt21"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_transportFail := 1</td></tr></table></blockquote>Integer constant for the MQTT transport fail indication</div></div><div class=CToolTip id="tt22"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_transportFail := "MQTT transport: fail rsp"</td></tr></table></blockquote>Charstring constant for the MQTT transport fail indication</div></div><div class=CToolTip id="tt23"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_transportClosed := 2</td></tr></table></blockquote>Integer constant for the MQTT transport closed indication</div></div><div class=CToolTip id="tt24"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_transportClosed := "MQTT transport: connection closed"</td></tr></table></blockquote>Charstring constant for the MQTT transport closed indication</div></div><div class=CToolTip id="tt25"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_CONNACK_Accepted := 3</td></tr></table></blockquote>Integer constant for the MQTT CONNACK accepted indication</div></div><div class=CToolTip id="tt26"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_CONNACK_Accepted := "MQTT rsp: CONNACK Accepted"</td></tr></table></blockquote>Charstring constant for the MQTT CONNACK accepted indication</div></div><div class=CToolTip id="tt27"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_CONNACK_Refused := 4</td></tr></table></blockquote>Integer constant for the MQTT CONNACK refused indication</div></div><div class=CToolTip id="tt28"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_CONNACK_Refused := "MQTT rsp: CONNACK Refused"</td></tr></table></blockquote>Charstring constant for the MQTT CONNACK refused indication</div></div><div class=CToolTip id="tt29"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_SUBACK_Accepted := 5</td></tr></table></blockquote>Integer constant for the MQTT SUBACK accepted indication</div></div><div class=CToolTip id="tt30"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_SUBACK_Accepted := "MQTT rsp: SUBACK Accepted"</td></tr></table></blockquote>Charstring constant for the MQTT SUBACK accepted indication</div></div><div class=CToolTip id="tt31"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_SUBACK_Refused := 6</td></tr></table></blockquote>Integer constant for the MQTT SUBACK refused indication</div></div><div class=CToolTip id="tt32"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_SUBACK_Refused := "MQTT rsp: SUBACK Refused"</td></tr></table></blockquote>Charstring constant for the MQTT SUBACK refused indication</div></div><div class=CToolTip id="tt33"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_UNSUBACK := 7</td></tr></table></blockquote>Integer constant for the MQTT UNSUBACK indication</div></div><div class=CToolTip id="tt34"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_UNSUBACK := "MQTT rsp: UNSUBACK"</td></tr></table></blockquote>Charstring constant for the MQTT UNSUBACK indication</div></div><div class=CToolTip id="tt35"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBLISH := 8</td></tr></table></blockquote>Integer constant for the MQTT PUBLISH indication</div></div><div class=CToolTip id="tt36"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBLISH := "MQTT req: PUBLISH"</td></tr></table></blockquote>Charstring constant for the MQTT PUBLISH indication</div></div><div class=CToolTip id="tt37"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PING_Request := 9</td></tr></table></blockquote>Integer constant for the MQTT PING request indication</div></div><div class=CToolTip id="tt38"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PING_Request := "MQTT req: PING"</td></tr></table></blockquote>Charstring constant for the MQTT PING request indication</div></div><div class=CToolTip id="tt39"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PING_Response := 10</td></tr></table></blockquote>Integer constant for the MQTT PING response indication</div></div><div class=CToolTip id="tt40"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PING_Response := "MQTT rsp: PING"</td></tr></table></blockquote>Charstring constant for the MQTT PING response indication</div></div><div class=CToolTip id="tt41"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBACK := 11</td></tr></table></blockquote>Integer constant for the MQTT PUBACK indication</div></div><div class=CToolTip id="tt42"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBACK := "MQTT rsp: PUBACK"</td></tr></table></blockquote>Charstring constant for the MQTT PUBACK indication</div></div><div class=CToolTip id="tt43"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBREC := 12</td></tr></table></blockquote>Integer constant for the MQTT PUBREC indication</div></div><div class=CToolTip id="tt44"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBREC := "MQTT rsp: PUBREC"</td></tr></table></blockquote>Charstring constant for the MQTT PUBREC indication</div></div><div class=CToolTip id="tt45"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBREL := 13</td></tr></table></blockquote>Integer constant for the MQTT PUBREL indication</div></div><div class=CToolTip id="tt46"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBREL := "MQTT req: PUBREL"</td></tr></table></blockquote>Charstring constant for the MQTT PUBREL indication</div></div><div class=CToolTip id="tt47"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBCOMP := 14</td></tr></table></blockquote>Integer constant for the MQTT PUBCOMP indication</div></div><div class=CToolTip id="tt48"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBCOMP := "MQTT rsp: PUBCOMP"</td></tr></table></blockquote>Charstring constant for the MQTT PUBCOMP indication</div></div><div class=CToolTip id="tt49"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBLISH_Timeout := 15</td></tr></table></blockquote>Integer constant for the MQTT PUBLISH timeout indication</div></div><div class=CToolTip id="tt50"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBLISH_Timeout := "MQTT timeout: PUBLISH Timeout"</td></tr></table></blockquote>Charstring constant for the MQTT PUBLISH timeout indication</div></div><div class=CToolTip id="tt51"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_init := 0</td></tr></table></blockquote>Integer constant for the MQTT init test step</div></div><div class=CToolTip id="tt52"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_init := "MQTT Applib: init"</td></tr></table></blockquote>Charstring constant for the MQTT init test step</div></div><div class=CToolTip id="tt53"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_cleanUp := 1</td></tr></table></blockquote>Integer constant for the MQTT clean up test step</div></div><div class=CToolTip id="tt54"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_cleanUp := "MQTT Applib: cleanUp"</td></tr></table></blockquote>Charstring constant for the MQTT clean up test step</div></div><div class=CToolTip id="tt55"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setLocalAddress_byVars := 2</td></tr></table></blockquote>Integer constant for the MQTT set local address by variables test step</div></div><div class=CToolTip id="tt56"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setLocalAddress_byVars := "MQTT Applib: setLocalAddress_byVars"</td></tr></table></blockquote>Integer constant for the MQTT set local address by variables test step</div></div><div class=CToolTip id="tt57"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setRemoteAddress_byVars := 3</td></tr></table></blockquote>Integer constant for the MQTT set remote address by variables test step</div></div><div class=CToolTip id="tt58"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setRemoteAddress_byVars := "MQTT Applib: setRemoteAddress_byVars"</td></tr></table></blockquote>Integer constant for the MQTT set remote address by variables test step</div></div><div class=CToolTip id="tt59"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_transportConnect := 4</td></tr></table></blockquote>Integer constant for the MQTT transport connect test step</div></div><div class=CToolTip id="tt60"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_transportConnect := "MQTT Applib: transportConnect"</td></tr></table></blockquote>Charstring constant for the MQTT transport connect test step</div></div><div class=CToolTip id="tt61"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_transportClose := 5</td></tr></table></blockquote>Integer constant for the MQTT transport close test step</div></div><div class=CToolTip id="tt62"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_transportClose := "MQTT Applib: transportClose"</td></tr></table></blockquote>Charstring constant for the MQTT transport close test step</div></div><div class=CToolTip id="tt63"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_startListening := 6</td></tr></table></blockquote>Integer constant for the MQTT start listening test step</div></div><div class=CToolTip id="tt64"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_startListening := "MQTT Applib: startListening"</td></tr></table></blockquote>Charstring constant for the MQTT start listening test step</div></div><div class=CToolTip id="tt65"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_loadTemplate_byIntIdx := 7</td></tr></table></blockquote>Integer constant for the MQTT load template by integer idx pointer test step</div></div><div class=CToolTip id="tt66"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_loadTemplate_byIntIdx := "MQTT Applib: loadTemplate_byIntIdx"</td></tr></table></blockquote>Charstring constant for the MQTT load template by integer idx pointer test step</div></div><div class=CToolTip id="tt67"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_loadTemplate_byStringId := 8</td></tr></table></blockquote>Integer constant for the MQTT load template by string id test step</div></div><div class=CToolTip id="tt68"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_loadTemplate_byStringId := "MQTT Applib: loadTemplate_byStringId"</td></tr></table></blockquote>Charstring constant for the MQTT load template by string id test step</div></div><div class=CToolTip id="tt69"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_send := 9</td></tr></table></blockquote>Integer constant for the MQTT send test step</div></div><div class=CToolTip id="tt70"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_send := "MQTT Applib: send"</td></tr></table></blockquote>Charstring constant for the MQTT send test step</div></div><div class=CToolTip id="tt71"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_stringParam := 10</td></tr></table></blockquote>Integer constant for the MQTT set topic by string parameter test step</div></div><div class=CToolTip id="tt72"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_stringParam := "MQTT Applib: setTopic_stringParam"</td></tr></table></blockquote>Charstring constant for the MQTT set topic by string parameter test step</div></div><div class=CToolTip id="tt73"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_add_stringParam := 11</td></tr></table></blockquote>Integer constant for the MQTT set topic by adding a string test step</div></div><div class=CToolTip id="tt74"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_add_stringParam := "MQTT Applib: setTopic_add_stringParam"</td></tr></table></blockquote>Charstring constant for the MQTT set topic by adding a string test step</div></div><div class=CToolTip id="tt75"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_add_varParams := 12</td></tr></table></blockquote>Integer constant for the MQTT set topic by adding variable parameters test step</div></div><div class=CToolTip id="tt76"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_add_varParams := "MQTT Applib: setTopic_add_varParams"</td></tr></table></blockquote>Charstring constant for the MQTT set topic by adding variable parameters test step</div></div><div class=CToolTip id="tt77"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_add_clientId := 13</td></tr></table></blockquote>Integer constant for the MQTT set topic by adding the client id test step</div></div><div class=CToolTip id="tt78"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_add_clientId := "MQTT Applib: setTopic_add_clientId"</td></tr></table></blockquote>Charstring constant for the MQTT set topic by adding the client id test step</div></div><div class=CToolTip id="tt79"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setQos_intParam := 14</td></tr></table></blockquote>Integer constant for the MQTT set QoS using integer parameter test step</div></div><div class=CToolTip id="tt80"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setQos_intParam := "MQTT Applib: setQos_intParam"</td></tr></table></blockquote>Charstring constant for the MQTT set QoS using integer parameter test step</div></div><div class=CToolTip id="tt81"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_stringParam := 15</td></tr></table></blockquote>Integer constant for the MQTT set publish message using a string parameter test step</div></div><div class=CToolTip id="tt82"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_stringParam := "MQTT Applib: setPublishMessage_stringParam"</td></tr></table></blockquote>Charstring constant for the MQTT set publish message using a string parameter test step</div></div><div class=CToolTip id="tt83"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_add_stringParam := 16</td></tr></table></blockquote>Integer constant for the MQTT set publish by adding a string parameter test step</div></div><div class=CToolTip id="tt84"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_add_stringParam := "MQTT Applib: setPublishMessage_add_stringParam"</td></tr></table></blockquote>Charstring constant for the MQTT set publish by adding a string parameter test step</div></div><div class=CToolTip id="tt85"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_add_varParams := 17</td></tr></table></blockquote>Integer constant for the MQTT set publish by adding variable parameters test step</div></div><div class=CToolTip id="tt86"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_add_varParams := "MQTT Applib: setPublishMessage_add_varParams"</td></tr></table></blockquote>Charstring constant for the MQTT set publish by adding variable parameters test step</div></div><div class=CToolTip id="tt87"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_add_clientId := 18</td></tr></table></blockquote>Integer constant for the MQTT set publish by adding the client id test step</div></div><div class=CToolTip id="tt88"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_add_clientId := "MQTT Applib: setPublishMessage_add_clientId"</td></tr></table></blockquote>Charstring constant for the MQTT set publish by adding the client id test step</div></div><div class=CToolTip id="tt89"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_reportPingResponse := 19</td></tr></table></blockquote>Integer constant for the MQTT enabling/disabling the reporting of a ping response test step</div></div><div class=CToolTip id="tt90"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_reportPingResponse := "MQTT Applib: reportPingResponse"</td></tr></table></blockquote>Charstring constant for the MQTT enabling/disabling the reporting of a ping response test step</div></div><div class=CToolTip id="tt91"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_reportPublishResponse := 20</td></tr></table></blockquote>Integer constant for the MQTT enabling/disabling the reporting of a publish response test step</div></div><div class=CToolTip id="tt92"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_reportPublishResponse := "MQTT Applib: reportPublishResponse"</td></tr></table></blockquote>Charstring constant for the MQTT enabling/disabling the reporting of a publish response test step</div></div><div class=CToolTip id="tt93"><div class=CFile>This module contains the definitions of callback functions for the Applib user API</div></div><div class=CToolTip id="tt94"><div class=CModuleParameter>Enabled/disable debug logging</div></div><div class=CToolTip id="tt95"><div class=CModuleParameter>Enabled/disable verbosity of debug logging</div></div><div class=CToolTip id="tt96"><div class=CModuleParameter>Can be used to limit the maximum number of contexts set it to -1 otherwise.</div></div><div class=CToolTip id="tt97"><div class=CModuleParameter>MQTT message template definitions for sending</div></div><div class=CToolTip id="tt98"><div class=CModuleParameter>Watchdog timer value to wait responses to an MQTT PUBLISH message</div></div><div class=CToolTip id="tt99"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_init(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test Step to dynamically allocate and initialize the MQTT FSM context for the caller FSM. </div></div><div class=CToolTip id="tt100"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_cleanUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test Step to free up the MQTT FSM context for the caller FSM. </div></div><div class=CToolTip id="tt101"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setLocalAddress_byVars(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the local address in the entity context.</div></div><div class=CToolTip id="tt102"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setRemoteAddress_byVars(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the remote address in the FSM context.</div></div><div class=CToolTip id="tt103"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_transportConnect(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The test step expects that local and remote socket adresses are set in the addressDB. </div></div><div class=CToolTip id="tt104"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_transportClose(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The test step expects that a transport endpoint is set in the addressDB as a local address. </div></div><div class=CToolTip id="tt105"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_startListening(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The test step expects that a transport endpoint is set in the addressDB as a local address. </div></div><div class=CToolTip id="tt106"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_loadTemplate_byIntIdx(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to load a MQTT_Template from tsp_EPTF_MQTT_LGen_templates into <b>v_MQTT_msgToSend</b> (which can be sent using the send test step) by its integer index in test step args.</div></div><div class=CToolTip id="tt107"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_loadTemplate_byStringId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to load a MQTT_Template from tsp_EPTF_MQTT_LGen_templates into <b>v_MQTT_msgToSend</b> (which can be sent using the send test step) by its string Id.</div></div><div class=CToolTip id="tt108"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to send out an MQTT message from <b>v_MQTT_msgToSend</b>. </div></div><div class=CToolTip id="tt109"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the string value referred by the test step argument as the topic of the first subscription entry in SUBSCRIBE and PUBLISH messages.</div></div><div class=CToolTip id="tt110"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_add_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add the string value referred by the test step argument to the topic of the first subscription entry in SUBSCRIBE and PUBLISH messages.</div></div><div class=CToolTip id="tt111"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_add_varParams(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add the string value of variables referred by the test step argument to the topic of the first subscription entry in SUBSCRIBE and PUBLISH messages.</div></div><div class=CToolTip id="tt112"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_add_clientId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add client ID in the current session to the topic in the first subscription in SUBSCRIBE and to PUBLISH message.</div></div><div class=CToolTip id="tt113"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setQos_intParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the QoS level in SUBSCRIBE and PUBLISH messages using test step arguments</div></div><div class=CToolTip id="tt114"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the content of the payload in PUBLISH message.</div></div><div class=CToolTip id="tt115"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_add_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to concatenate a string to the content of the PUBLISH message</div></div><div class=CToolTip id="tt116"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_add_varParams(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add the content of a set of variables to the payload of a PUBLISH message.</div></div><div class=CToolTip id="tt117"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_add_clientId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add client ID of the current session to the payload of a PUBLISH message.</div></div><div class=CToolTip id="tt118"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_reportPingResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the report ping response to enable/disable using using step arguments.</div></div><div class=CToolTip id="tt119"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_reportPublishResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the report publish response to enable/disable using step arguments</div></div><div class=CToolTip id="tt120"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_templateDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_templateDB</b> MQTT_Template_DB database by adding the templates given in tsp_EPTF_MQTT_LGen_templates</div></div><div class=CToolTip id="tt121"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_templateDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Template </td><td class="PParameter prettyprint " nowrap width=100%>p_template</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_templateDB</b> MQTT_Template_DB database</div></div><div class=CToolTip id="tt122"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_templateDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>p_id</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an MQTT_Template element in <b>v_MQTT_templateDB</b> MQTT_Template_DB database</div></div><div class=CToolTip id="tt123"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_templateDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_v3_1_1_ReqResp </td><td class="PParameter prettyprint " nowrap width=100%>p_pdu</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Retrieves an element from the <b>v_MQTT_templateDB</b> MQTT_Template_DB database</div></div><div class=CToolTip id="tt124"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_templateDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_templateDB</b> MQTT_Template_DB database</div></div><div class=CToolTip id="tt125"><div class=CType>States of an MQTT_Session state machine</div></div><div class=CToolTip id="tt126"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_fromApp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This is the entry point for an MQTT session fsm handling events coming from the application layer (e.g. </div></div><div class=CToolTip id="tt127"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_PDU</td></tr></table></blockquote>Encapsulates a MQTT PDU with the corresponding entity (and FSM) indices and transport information</div></div><div class=CToolTip id="tt128"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This is the entry point for an MQTT session fsm from the environment layer (e.g. </div></div><div class=CToolTip id="tt129"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_keepalive(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_ScheduledAction </td><td class="PParameter prettyprint " nowrap width=100%>pl_action,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eventIndex</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Handles the T_keepalive timer event in the MQTT_Session FSM</div></div><div class=CToolTip id="tt130"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_startT_keepalive(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_sIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>float </td><td class="PParameter prettyprint " nowrap width=100%>pl_time</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Starts the T_keepalive timer for an MQTT_Session FSM</div></div><div class=CToolTip id="tt131"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_cancelT_keepalive(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_sessionIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Cancels the T_keepalive timer of an MQTT_Session FSM</div></div><div class=CToolTip id="tt132"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_getNextPacketId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_StepCtx </td><td class="PParameter prettyprint " nowrap width=100%>p_ctx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Sets the value of the packet id field in the next message to be sent in a session</div></div><div class=CToolTip id="tt133"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_setState(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Session_State </td><td class="PParameter prettyprint " nowrap width=100%>p_nextState</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sets a new state for an MQTT_Session FSM</div></div><div class=CToolTip id="tt134"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sends a message to the transort layer with type EPTF_MQTT_PDU and the provided session index</div></div><div class=CToolTip id="tt135"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_registerSubscription(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Adds a subscription index to an MQTT_Session</div></div><div class=CToolTip id="tt136"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_deregisterSubscription(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes a subscription index from MQTT_Session</div></div><div class=CToolTip id="tt137"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_registerPublish(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Adds a publish index to an MQTT_Session</div></div><div class=CToolTip id="tt138"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_deregisterPublish(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes a publish index from an MQTT_Session</div></div><div class=CToolTip id="tt139"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Releases all resources related to an MQTT_Session and removes it from the MQTT_Session_DB</div></div><div class=CToolTip id="tt140"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_sessionDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database and adds its hash to <b>v_MQTT_sessionDB.hashRef</b></div></div><div class=CToolTip id="tt141"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Session </td><td class="PParameter prettyprint " nowrap width=100%>p_session</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database</div></div><div class=CToolTip id="tt142"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of a session in <b>v_MQTT_sessionDB</b> MQTT_Session_DB database by its socket address</div></div><div class=CToolTip id="tt143"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_Session </td><td class="PParameter prettyprint " nowrap width=100%>p_session</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Retrieves a session’s data from the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database</div></div><div class=CToolTip id="tt144"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_setKey(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sets the hash of the local socket address of a session by the session index</div></div><div class=CToolTip id="tt145"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_check(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks if a session element exists in the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database</div></div><div class=CToolTip id="tt146"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes an element from the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database and releases its resources</div></div><div class=CToolTip id="tt147"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_sessionDB_addrHash(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap>p_sock</td><td class="PAfterParameters prettyprint "nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a socket address in Socket type format to the string format “IP address:<port number>” to be used as a hash key</div></div><div class=CToolTip id="tt148"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_sessionDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database</div></div><div class=CToolTip id="tt149"><div class=CType>States of an MQTT_Subscription state machine</div></div><div class=CToolTip id="tt150"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_subscriptionDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt151"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Subscription </td><td class="PParameter prettyprint " nowrap width=100%>p_sub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt152"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_setKey_packetId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Insert an integer element to the subscription hashmap, key is composed from session ID and packet ID</div></div><div class=CToolTip id="tt153"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_removeKey_packetId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes the element from the subscription hashmap identified by its session ID and packet ID</div></div><div class=CToolTip id="tt154"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_lookUp_packetId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an MQTT_Subscription element in <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database by a session ID and packet ID</div></div><div class=CToolTip id="tt155"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_lookUp_topicName(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>p_topicName</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an MQTT_Subscription element in <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database by a session ID and packet ID</div></div><div class=CToolTip id="tt156"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_Subscription </td><td class="PParameter prettyprint " nowrap width=100%>p_sub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Retrieves an element from the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt157"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_check(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks if an element at an index exists the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt158"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes an element from the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt159"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_packetIdHash(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a pair of session ID & packet ID to the string format “session_sessionId:id_packetId” to be used as hash key</div></div><div class=CToolTip id="tt160"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_topicHash(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>p_topic</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a pair of session ID & topic to the string format “session_sessionId:topic_topic” to be used as hash key</div></div><div class=CToolTip id="tt161"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_subscriptionDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt162"><div class=CType>Side of an MQTT_Publish</div></div><div class=CToolTip id="tt163"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_fromSession(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Handles a publish transaction in case of QoS 1 and QoS 2 fsm requested by the application layer (e.g. </div></div><div class=CToolTip id="tt164"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Handles PUBLISH and publish response (PUB REC/PUB REL/PUB COMP) messages received from the peer (i.e. </div></div><div class=CToolTip id="tt165"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_watchdog(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_ScheduledAction </td><td class="PParameter prettyprint " nowrap width=100%>pl_action,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eventIndex</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Handles the T_watchdog event in the MQTT_Publish FSM</div></div><div class=CToolTip id="tt166"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_startT_watchdog(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_pIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>float </td><td class="PParameter prettyprint " nowrap width=100%>pl_time</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Start a T_watchdog timer in the MQTT_Publish FSM</div></div><div class=CToolTip id="tt167"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_cancelT_watchdog(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_publishIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Cancels the T_watchdog timer of an MQTT_Publish FSM</div></div><div class=CToolTip id="tt168"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_setState(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Publish_State </td><td class="PParameter prettyprint " nowrap width=100%>p_nextState</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sets the new state of a MQTT_Publish FSM</div></div><div class=CToolTip id="tt169"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Releaseing resources of an MQTT_Publish FSM</div></div><div class=CToolTip id="tt170"><div class=CType>Qos1 state of an MQTT_Publish_State</div></div><div class=CToolTip id="tt171"><div class=CType>Qos2 state of an MQTT_Publish_State</div></div><div class=CToolTip id="tt172"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_publishDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database and creates its hashmap</div></div><div class=CToolTip id="tt173"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Publish </td><td class="PParameter prettyprint " nowrap width=100%>p_pub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt174"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an MQTT_Publish element in <b>v_MQTT_publishDB</b> MQTT_Publish_DB database by its session and packet id-s</div></div><div class=CToolTip id="tt175"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_Publish </td><td class="PParameter prettyprint " nowrap width=100%>p_pub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Retrieves an element from the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt176"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_check(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks if an element exists in the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt177"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes an element from the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt178"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_packetIdHash(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a pair of session ID & packet ID to the string format “session_sessionId:id_packetId” to be used as a hash key</div></div><div class=CToolTip id="tt179"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_publishDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt180"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_addressDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Function to initialize the addressDB</div></div><div class=CToolTip id="tt181"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_addressDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_addr,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Add a socket address to the addressDB and return its index if no such entry yet, or return its index if already exists</div></div><div class=CToolTip id="tt182"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_addressDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Get the index of a socket entry in addressDB</div></div><div class=CToolTip id="tt183"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_addressDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_addr,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Get a socket address from the addressDB by its index</div></div><div class=CToolTip id="tt184"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_addressDB_Socket2String(</td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap>p_sock</td><td class="PAfterParameters prettyprint "nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a socket address in Socket type format to the string format “IP address:<port number>” to be used as hash key</div></div><div class=CToolTip id="tt185"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_addressDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Function to clean up the address database and release its resources</div></div><div class=CToolTip id="tt186"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type component EPTF_MQTT_Transport_User_CT</td></tr></table></blockquote>Base component type for a MQTT transport user realization</div></div><div class=CToolTip id="tt187"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_LGen_init(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap>pl_name</td><td class="PAfterParameters prettyprint "nowrap>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The main initialization function for the EPTF_MQTT_LGen_CT component type</div></div><div class=CToolTip id="tt188"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LGen_initLogging() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializing CLL’s logging feature on the EPTF_MQTT_LGen_CT component type</div></div><div class=CToolTip id="tt189"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_MQTT_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>The main clean up function for the EPTF_MQTT_LGen_CT component type</div></div><div class=CToolTip id="tt190"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_eCtxBind(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return EPTF_IntegerList</td></tr></table></td></tr></table></blockquote>This function is called by the CLL for each entity instance created on a particular instace of EPTF_MQTT_LGen_CT</div></div><div class=CToolTip id="tt191"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_MQTT_eCtxUnbind(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap>pl_eIdx</td><td class="PAfterParameters prettyprint "nowrap>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The reverse operation of f_MQTT_eCtxBind. </div></div><div class=CToolTip id="tt192"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_MQTT_eCtxReset(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap>pl_eIdx</td><td class="PAfterParameters prettyprint "nowrap>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The resources reserved during f_MQTT_eCtxBind are reinitalized (reset). </div></div><div class=CToolTip id="tt193"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_declareEvents() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Declares the FSM events to the CLL framework implemented by EPTF_MQTT_LGen_CT</div></div><div class=CToolTip id="tt194"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_declareSteps() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Declares the FSM steps to the CLL framework implemented by EPTF_MQTT_LGen_CT</div></div><div class=CToolTip id="tt195"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_receiveMessage(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The transport layer implementation EPTF_MQTT_Transport_Provider_CT can report received EPTF_MQTT_PDU message to the load generator layer EPTF_MQTT_Transport_User_CT extended by EPTF_MQTT_LGen_CT using this function.</div></div><div class=CToolTip id="tt196"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_receiveEvent(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>ASP_Event </td><td class="PParameter prettyprint " nowrap width=100%>p_event</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The transport layer implementation EPTF_MQTT_Transport_Provider_CT can report received ASP_Event events to the load generator layer EPTF_MQTT_Transport_User_CT extended by EPTF_MQTT_LGen_CT using this function.</div></div><div class=CToolTip id="tt197"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_transportApiResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Response </td><td class="PParameter prettyprint " nowrap width=100%>pl_rsp</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The transport layer implementation EPTF_MQTT_Transport_Provider_CT can report received EPTF_MQTT_Transport_Response responses to the load generator layer EPTF_MQTT_Transport_User_CT extended by EPTF_MQTT_LGen_CT using this function.</div></div><div class=CToolTip id="tt198"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_Response</td></tr></table></blockquote>Type for transport response</div></div><div class=CToolTip id="tt199"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This function is used to send out a message of a EPTF_MQTT_PDU using the registered function fcb_EPTF_MQTT_Transport_sendMessage of the underlying transport layer instance.</div></div><div class=CToolTip id="tt200"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_stack_fromApp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_StepCtx </td><td class="PParameter prettyprint " nowrap width=100%>p_ctx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This is the main entry point for the MQTT stack realization of the EPTF_MQTT_LGen_CT component that handles messages received from the application layer (e.g. </div></div><div class=CToolTip id="tt201"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_stack_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This is the main entry point for the MQTT stack realization of the EPTF_MQTT_LGen_CT component that handles messages received from the environment layer (e.g. </div></div><div class=CToolTip id="tt202"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_isFsmInitialized(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_fsmIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_sessionIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks if an FSM instance has already been initialized</div></div><div class=CToolTip id="tt203"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_VERBOSE(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the VERBOSE log level</div></div><div class=CToolTip id="tt204"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_DEBUG(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the DEBUG log level</div></div><div class=CToolTip id="tt205"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_WARNING(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the WARNING log level</div></div><div class=CToolTip id="tt206"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_ERROR(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the ERROR log level</div></div><div class=CToolTip id="tt207"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_dispatchEvent(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eventIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_fsmCtx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_IntegerList </td><td class="PParameter prettyprint " nowrap width=100%>pl_reportedArgs</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Dispatches events to an entity/fsm</div></div><!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/files/EPTF_MQTT_LGen_Functions-ttcn.html b/apidoc/html/files/EPTF_MQTT_LGen_Functions-ttcn.html
new file mode 100644
index 0000000..5aa4003
--- /dev/null
+++ b/apidoc/html/files/EPTF_MQTT_LGen_Functions-ttcn.html
@@ -0,0 +1,244 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>EPTF_MQTT_LGen_Functions - Massive IoT Test Tools</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script></head><body class="FramedContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="EPTF_MQTT_LGen_Functions"></a>EPTF_MQTT_LGen_Functions</h1><div class=CBody><h4 class=CHeading>Purpose</h4><p>This module contains the functions of the MQTT load generator component</p><h4 class=CHeading>See also</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_Definitions" class=LFile id=link193 onMouseOver="ShowTip(event, 'tt128', 'link193')" onMouseOut="HideTip('tt128')">EPTF_MQTT_LGen_Definitions</a></p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#EPTF_MQTT_LGen_Functions" >EPTF_MQTT_LGen_Functions</a></td><td class=SDescription>This module contains the functions of the MQTT load generator component</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_LGen_init" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">f_EPTF_MQTT_LGen_init</a></td><td class=SDescription>The main initialization function for the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a> component type</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_LGen_initLogging" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">f_EPTF_MQTT_LGen_initLogging</a></td><td class=SDescription>Initializing CLL’s logging feature on the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link4 onMouseOver="ShowTip(event, 'tt2', 'link4')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a> component type</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_MQTT_cleanUp" id=link5 onMouseOver="ShowTip(event, 'tt4', 'link5')" onMouseOut="HideTip('tt4')">f_MQTT_cleanUp</a></td><td class=SDescription>The main clean up function for the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link6 onMouseOver="ShowTip(event, 'tt2', 'link6')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a> component type</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_MQTT_eCtxBind" id=link7 onMouseOver="ShowTip(event, 'tt5', 'link7')" onMouseOut="HideTip('tt5')">f_MQTT_eCtxBind</a></td><td class=SDescription>This function is called by the CLL for each entity instance created on a particular instace of <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link8 onMouseOver="ShowTip(event, 'tt2', 'link8')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_MQTT_eCtxUnbind" id=link9 onMouseOver="ShowTip(event, 'tt6', 'link9')" onMouseOut="HideTip('tt6')">f_MQTT_eCtxUnbind</a></td><td class=SDescription>The reverse operation of <a href="#f_MQTT_eCtxBind" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt5', 'link10')" onMouseOut="HideTip('tt5')">f_MQTT_eCtxBind</a>. </td></tr><tr class="SFunction"><td class=SEntry><a href="#f_MQTT_eCtxReset" id=link11 onMouseOver="ShowTip(event, 'tt7', 'link11')" onMouseOut="HideTip('tt7')">f_MQTT_eCtxReset</a></td><td class=SDescription>The resources reserved during <a href="#f_MQTT_eCtxBind" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt5', 'link12')" onMouseOut="HideTip('tt5')">f_MQTT_eCtxBind</a> are reinitalized (reset). </td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_declareEvents" id=link13 onMouseOver="ShowTip(event, 'tt8', 'link13')" onMouseOut="HideTip('tt8')">f_EPTF_MQTT_declareEvents</a></td><td class=SDescription>Declares the FSM events to the CLL framework implemented by <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link14 onMouseOver="ShowTip(event, 'tt2', 'link14')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_declareSteps" id=link15 onMouseOver="ShowTip(event, 'tt9', 'link15')" onMouseOut="HideTip('tt9')">f_EPTF_MQTT_declareSteps</a></td><td class=SDescription>Declares the FSM steps to the CLL framework implemented by <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link16 onMouseOver="ShowTip(event, 'tt2', 'link16')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_LGen_receiveMessage" id=link17 onMouseOver="ShowTip(event, 'tt10', 'link17')" onMouseOut="HideTip('tt10')">f_EPTF_MQTT_LGen_receiveMessage</a></td><td class=SDescription>The transport layer implementation <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Provider_CT" class=LType id=link18 onMouseOver="ShowTip(event, 'tt11', 'link18')" onMouseOut="HideTip('tt11')">EPTF_MQTT_Transport_Provider_CT</a> can report received <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link19 onMouseOver="ShowTip(event, 'tt12', 'link19')" onMouseOut="HideTip('tt12')">EPTF_MQTT_PDU</a> message to the load generator layer <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_User_CT" class=LType id=link20 onMouseOver="ShowTip(event, 'tt13', 'link20')" onMouseOut="HideTip('tt13')">EPTF_MQTT_Transport_User_CT</a> extended by <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link21 onMouseOver="ShowTip(event, 'tt2', 'link21')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a> using this function.</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_LGen_receiveEvent" id=link22 onMouseOver="ShowTip(event, 'tt14', 'link22')" onMouseOut="HideTip('tt14')">f_EPTF_MQTT_LGen_receiveEvent</a></td><td class=SDescription>The transport layer implementation <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Provider_CT" class=LType id=link23 onMouseOver="ShowTip(event, 'tt11', 'link23')" onMouseOut="HideTip('tt11')">EPTF_MQTT_Transport_Provider_CT</a> can report received <ASP_Event> events to the load generator layer <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_User_CT" class=LType id=link24 onMouseOver="ShowTip(event, 'tt13', 'link24')" onMouseOut="HideTip('tt13')">EPTF_MQTT_Transport_User_CT</a> extended by <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link25 onMouseOver="ShowTip(event, 'tt2', 'link25')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a> using this function.</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_LGen_transportApiResponse" id=link26 onMouseOver="ShowTip(event, 'tt15', 'link26')" onMouseOut="HideTip('tt15')">f_EPTF_MQTT_LGen_transportApiResponse</a></td><td class=SDescription>The transport layer implementation <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Provider_CT" class=LType id=link27 onMouseOver="ShowTip(event, 'tt11', 'link27')" onMouseOut="HideTip('tt11')">EPTF_MQTT_Transport_Provider_CT</a> can report received <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Response" class=LType id=link28 onMouseOver="ShowTip(event, 'tt16', 'link28')" onMouseOut="HideTip('tt16')">EPTF_MQTT_Transport_Response</a> responses to the load generator layer <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_User_CT" class=LType id=link29 onMouseOver="ShowTip(event, 'tt13', 'link29')" onMouseOut="HideTip('tt13')">EPTF_MQTT_Transport_User_CT</a> extended by <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link30 onMouseOver="ShowTip(event, 'tt2', 'link30')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a> using this function.</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_LGen_send" id=link31 onMouseOver="ShowTip(event, 'tt17', 'link31')" onMouseOut="HideTip('tt17')">f_EPTF_MQTT_LGen_send</a></td><td class=SDescription>This function is used to send out a message of a <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link32 onMouseOver="ShowTip(event, 'tt12', 'link32')" onMouseOut="HideTip('tt12')">EPTF_MQTT_PDU</a> using the registered function <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_sendMessage" class=LType id=link33 onMouseOver="ShowTip(event, 'tt18', 'link33')" onMouseOut="HideTip('tt18')">fcb_EPTF_MQTT_Transport_sendMessage</a> of the underlying transport layer instance.</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_MQTT_step_init" id=link34 onMouseOver="ShowTip(event, 'tt19', 'link34')" onMouseOut="HideTip('tt19')">f_MQTT_step_init</a></td><td class=SDescription>Test Step to dynamically allocate and initialize the MQTT FSM context for the caller FSM. </td></tr><tr class="SFunction"><td class=SEntry><a href="#f_MQTT_step_cleanUp" id=link35 onMouseOver="ShowTip(event, 'tt20', 'link35')" onMouseOut="HideTip('tt20')">f_MQTT_step_cleanUp</a></td><td class=SDescription>Test Step to free up the MQTT FSM context for the caller FSM. </td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_MQTT_step_setLocalAddress_byVars" id=link36 onMouseOver="ShowTip(event, 'tt21', 'link36')" onMouseOut="HideTip('tt21')">f_MQTT_step_setLocalAddress_byVars</a></td><td class=SDescription>Test step to set the local address in the entity context.</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_MQTT_step_setRemoteAddress_byVars" id=link37 onMouseOver="ShowTip(event, 'tt22', 'link37')" onMouseOut="HideTip('tt22')">f_MQTT_step_setRemoteAddress_byVars</a></td><td class=SDescription>Test step to set the remote address in the FSM context.</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_MQTT_step_startListening" id=link38 onMouseOver="ShowTip(event, 'tt23', 'link38')" onMouseOut="HideTip('tt23')">f_MQTT_step_startListening</a></td><td class=SDescription>The test step expects that a transport endpoint is set in the addressDB as a local address. </td></tr><tr class="SFunction"><td class=SEntry><a href="#f_MQTT_step_transportConnect" id=link39 onMouseOver="ShowTip(event, 'tt24', 'link39')" onMouseOut="HideTip('tt24')">f_MQTT_step_transportConnect</a></td><td class=SDescription>The test step expects that local and remote socket adresses are set in the addressDB. </td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_MQTT_step_transportClose" id=link40 onMouseOver="ShowTip(event, 'tt25', 'link40')" onMouseOut="HideTip('tt25')">f_MQTT_step_transportClose</a></td><td class=SDescription>The test step expects that a transport endpoint is set in the addressDB as a local address. </td></tr><tr class="SFunction"><td class=SEntry><a href="#f_MQTT_step_loadTemplate_byIntIdx" id=link41 onMouseOver="ShowTip(event, 'tt26', 'link41')" onMouseOut="HideTip('tt26')">f_MQTT_step_loadTemplate_byIntIdx</a></td><td class=SDescription>Test step to load a <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template" class=LType id=link42 onMouseOver="ShowTip(event, 'tt27', 'link42')" onMouseOut="HideTip('tt27')">MQTT_Template</a> from <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_templates" class=LModuleParameter id=link43 onMouseOver="ShowTip(event, 'tt28', 'link43')" onMouseOut="HideTip('tt28')">tsp_EPTF_MQTT_LGen_templates</a> into <b>v_MQTT_msgToSend</b> (which can be sent using the send test step) by its integer index in test step args.</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_MQTT_step_loadTemplate_byStringId" id=link44 onMouseOver="ShowTip(event, 'tt29', 'link44')" onMouseOut="HideTip('tt29')">f_MQTT_step_loadTemplate_byStringId</a></td><td class=SDescription>Test step to load a <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template" class=LType id=link45 onMouseOver="ShowTip(event, 'tt27', 'link45')" onMouseOut="HideTip('tt27')">MQTT_Template</a> from <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_templates" class=LModuleParameter id=link46 onMouseOver="ShowTip(event, 'tt28', 'link46')" onMouseOut="HideTip('tt28')">tsp_EPTF_MQTT_LGen_templates</a> into <b>v_MQTT_msgToSend</b> (which can be sent using the send test step) by its string Id.</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_MQTT_step_setTopic_stringParam" id=link47 onMouseOver="ShowTip(event, 'tt30', 'link47')" onMouseOut="HideTip('tt30')">f_MQTT_step_setTopic_stringParam</a></td><td class=SDescription>Test step to set the string value referred by the test step argument as the topic of the first subscription entry in SUBSCRIBE and PUBLISH messages.</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_MQTT_step_setTopic_add_stringParam" id=link48 onMouseOver="ShowTip(event, 'tt31', 'link48')" onMouseOut="HideTip('tt31')">f_MQTT_step_setTopic_add_stringParam</a></td><td class=SDescription>Test step to add the string value referred by the test step argument to the topic of the first subscription entry in SUBSCRIBE and PUBLISH messages.</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_MQTT_step_setTopic_add_varParams" id=link49 onMouseOver="ShowTip(event, 'tt32', 'link49')" onMouseOut="HideTip('tt32')">f_MQTT_step_setTopic_add_varParams</a></td><td class=SDescription>Test step to add the string value of variables referred by the test step argument to the topic of the first subscription entry in SUBSCRIBE and PUBLISH messages.</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_MQTT_step_setTopic_add_clientId" id=link50 onMouseOver="ShowTip(event, 'tt33', 'link50')" onMouseOut="HideTip('tt33')">f_MQTT_step_setTopic_add_clientId</a></td><td class=SDescription>Test step to add client ID in the current session to the topic in the first subscription in SUBSCRIBE and to PUBLISH message.</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_MQTT_step_setQos_intParam" id=link51 onMouseOver="ShowTip(event, 'tt34', 'link51')" onMouseOut="HideTip('tt34')">f_MQTT_step_setQos_intParam</a></td><td class=SDescription>Test step to set the QoS level in SUBSCRIBE and PUBLISH messages using test step arguments</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_MQTT_step_setPublishMessage_stringParam" id=link52 onMouseOver="ShowTip(event, 'tt35', 'link52')" onMouseOut="HideTip('tt35')">f_MQTT_step_setPublishMessage_stringParam</a></td><td class=SDescription>Test step to set the content of the payload in PUBLISH message.</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_MQTT_step_setPublishMessage_add_stringParam" id=link53 onMouseOver="ShowTip(event, 'tt36', 'link53')" onMouseOut="HideTip('tt36')">f_MQTT_step_setPublishMessage_add_stringParam</a></td><td class=SDescription>Test step to concatenate a string to the content of the PUBLISH message</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_MQTT_step_setPublishMessage_add_varParams" id=link54 onMouseOver="ShowTip(event, 'tt37', 'link54')" onMouseOut="HideTip('tt37')">f_MQTT_step_setPublishMessage_add_varParams</a></td><td class=SDescription>Test step to add the content of a set of variables to the payload of a PUBLISH message.</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_MQTT_step_setPublishMessage_add_clientId" id=link55 onMouseOver="ShowTip(event, 'tt38', 'link55')" onMouseOut="HideTip('tt38')">f_MQTT_step_setPublishMessage_add_clientId</a></td><td class=SDescription>Test step to add client ID of the current session to the payload of a PUBLISH message.</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_MQTT_step_reportPingResponse" id=link56 onMouseOver="ShowTip(event, 'tt39', 'link56')" onMouseOut="HideTip('tt39')">f_MQTT_step_reportPingResponse</a></td><td class=SDescription>Test step to set the report ping response to enable/disable using using step arguments.</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_MQTT_step_reportPublishResponse" id=link57 onMouseOver="ShowTip(event, 'tt40', 'link57')" onMouseOut="HideTip('tt40')">f_MQTT_step_reportPublishResponse</a></td><td class=SDescription>Test step to set the report publish response to enable/disable using step arguments</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_MQTT_step_send" id=link58 onMouseOver="ShowTip(event, 'tt41', 'link58')" onMouseOut="HideTip('tt41')">f_MQTT_step_send</a></td><td class=SDescription>Test step to send out an MQTT message from <b>v_MQTT_msgToSend</b>. </td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_addressDB_init" id=link59 onMouseOver="ShowTip(event, 'tt42', 'link59')" onMouseOut="HideTip('tt42')">f_EPTF_MQTT_addressDB_init</a></td><td class=SDescription>Function to initialize the addressDB</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_addressDB_cleanUp" id=link60 onMouseOver="ShowTip(event, 'tt43', 'link60')" onMouseOut="HideTip('tt43')">f_EPTF_MQTT_addressDB_cleanUp</a></td><td class=SDescription>Function to clean up the address database and release its resources</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_addressDB_add" id=link61 onMouseOver="ShowTip(event, 'tt44', 'link61')" onMouseOut="HideTip('tt44')">f_EPTF_MQTT_addressDB_add</a></td><td class=SDescription>Add a socket address to the addressDB and return its index if no such entry yet, or return its index if already exists</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_addressDB_get" id=link62 onMouseOver="ShowTip(event, 'tt45', 'link62')" onMouseOut="HideTip('tt45')">f_EPTF_MQTT_addressDB_get</a></td><td class=SDescription>Get a socket address from the addressDB by its index</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_addressDB_lookUp" id=link63 onMouseOver="ShowTip(event, 'tt46', 'link63')" onMouseOut="HideTip('tt46')">f_EPTF_MQTT_addressDB_lookUp</a></td><td class=SDescription>Get the index of a socket entry in addressDB</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_addressDB_Socket2String" id=link64 onMouseOver="ShowTip(event, 'tt47', 'link64')" onMouseOut="HideTip('tt47')">f_EPTF_MQTT_addressDB_Socket2String</a></td><td class=SDescription>Converts a socket address in <Socket> type format to the string format “<IP address>:<port number>” to be used as hash key</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_templateDB_init" id=link65 onMouseOver="ShowTip(event, 'tt48', 'link65')" onMouseOut="HideTip('tt48')">f_EPTF_MQTT_templateDB_init</a></td><td class=SDescription>Initializes the <b>v_MQTT_templateDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" class=LType id=link66 onMouseOver="ShowTip(event, 'tt49', 'link66')" onMouseOut="HideTip('tt49')">MQTT_Template_DB</a> database by adding the templates given in <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_templates" class=LModuleParameter id=link67 onMouseOver="ShowTip(event, 'tt28', 'link67')" onMouseOut="HideTip('tt28')">tsp_EPTF_MQTT_LGen_templates</a></td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_templateDB_add" id=link68 onMouseOver="ShowTip(event, 'tt50', 'link68')" onMouseOut="HideTip('tt50')">f_EPTF_MQTT_templateDB_add</a></td><td class=SDescription>Adds a new element to the <b>v_MQTT_templateDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" class=LType id=link69 onMouseOver="ShowTip(event, 'tt49', 'link69')" onMouseOut="HideTip('tt49')">MQTT_Template_DB</a> database</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_templateDB_lookUp" id=link70 onMouseOver="ShowTip(event, 'tt51', 'link70')" onMouseOut="HideTip('tt51')">f_EPTF_MQTT_templateDB_lookUp</a></td><td class=SDescription>Gets the index of an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template" class=LType id=link71 onMouseOver="ShowTip(event, 'tt27', 'link71')" onMouseOut="HideTip('tt27')">MQTT_Template</a> element in <b>v_MQTT_templateDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" class=LType id=link72 onMouseOver="ShowTip(event, 'tt49', 'link72')" onMouseOut="HideTip('tt49')">MQTT_Template_DB</a> database</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_templateDB_get" id=link73 onMouseOver="ShowTip(event, 'tt52', 'link73')" onMouseOut="HideTip('tt52')">f_EPTF_MQTT_templateDB_get</a></td><td class=SDescription>Retrieves an element from the <b>v_MQTT_templateDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" class=LType id=link74 onMouseOver="ShowTip(event, 'tt49', 'link74')" onMouseOut="HideTip('tt49')">MQTT_Template_DB</a> database</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_templateDB_cleanUp" id=link75 onMouseOver="ShowTip(event, 'tt53', 'link75')" onMouseOut="HideTip('tt53')">f_EPTF_MQTT_templateDB_cleanUp</a></td><td class=SDescription>Cleans up the reserved resources of the <b>v_MQTT_templateDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" class=LType id=link76 onMouseOver="ShowTip(event, 'tt49', 'link76')" onMouseOut="HideTip('tt49')">MQTT_Template_DB</a> database</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_sessionDB_init" id=link77 onMouseOver="ShowTip(event, 'tt54', 'link77')" onMouseOut="HideTip('tt54')">f_EPTF_MQTT_sessionDB_init</a></td><td class=SDescription>Initializes the <b>v_MQTT_sessionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link78 onMouseOver="ShowTip(event, 'tt55', 'link78')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a> database and adds its hash to <b>v_MQTT_sessionDB.hashRef</b></td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_sessionDB_cleanUp" id=link79 onMouseOver="ShowTip(event, 'tt56', 'link79')" onMouseOut="HideTip('tt56')">f_EPTF_MQTT_sessionDB_cleanUp</a></td><td class=SDescription>Cleans up the reserved resources of the <b>v_MQTT_sessionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link80 onMouseOver="ShowTip(event, 'tt55', 'link80')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a> database</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_sessionDB_add" id=link81 onMouseOver="ShowTip(event, 'tt57', 'link81')" onMouseOut="HideTip('tt57')">f_EPTF_MQTT_sessionDB_add</a></td><td class=SDescription>Adds a new element to the <b>v_MQTT_sessionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link82 onMouseOver="ShowTip(event, 'tt55', 'link82')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a> database</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_sessionDB_setKey" id=link83 onMouseOver="ShowTip(event, 'tt58', 'link83')" onMouseOut="HideTip('tt58')">f_EPTF_MQTT_sessionDB_setKey</a></td><td class=SDescription>Sets the hash of the local socket address of a session by the session index</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_sessionDB_lookUp" id=link84 onMouseOver="ShowTip(event, 'tt59', 'link84')" onMouseOut="HideTip('tt59')">f_EPTF_MQTT_sessionDB_lookUp</a></td><td class=SDescription>Gets the index of a session in <b>v_MQTT_sessionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link85 onMouseOver="ShowTip(event, 'tt55', 'link85')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a> database by its socket address</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_sessionDB_get" id=link86 onMouseOver="ShowTip(event, 'tt60', 'link86')" onMouseOut="HideTip('tt60')">f_EPTF_MQTT_sessionDB_get</a></td><td class=SDescription>Retrieves a session’s data from the <b>v_MQTT_sessionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link87 onMouseOver="ShowTip(event, 'tt55', 'link87')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a> database</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_sessionDB_check" id=link88 onMouseOver="ShowTip(event, 'tt61', 'link88')" onMouseOut="HideTip('tt61')">f_EPTF_MQTT_sessionDB_check</a></td><td class=SDescription>Checks if a session element exists in the <b>v_MQTT_sessionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link89 onMouseOver="ShowTip(event, 'tt55', 'link89')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a> database</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_sessionDB_remove" id=link90 onMouseOver="ShowTip(event, 'tt62', 'link90')" onMouseOut="HideTip('tt62')">f_EPTF_MQTT_sessionDB_remove</a></td><td class=SDescription>Removes an element from the <b>v_MQTT_sessionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link91 onMouseOver="ShowTip(event, 'tt55', 'link91')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a> database and releases its resources</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_sessionDB_addrHash" id=link92 onMouseOver="ShowTip(event, 'tt63', 'link92')" onMouseOut="HideTip('tt63')">f_EPTF_MQTT_sessionDB_addrHash</a></td><td class=SDescription>Converts a socket address in <Socket> type format to the string format “<IP address>:<port number>” to be used as a hash key</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_publishDB_init" id=link93 onMouseOver="ShowTip(event, 'tt64', 'link93')" onMouseOut="HideTip('tt64')">f_EPTF_MQTT_publishDB_init</a></td><td class=SDescription>Initializes the <b>v_MQTT_publishDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link94 onMouseOver="ShowTip(event, 'tt65', 'link94')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a> database and creates its hashmap</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_publishDB_cleanUp" id=link95 onMouseOver="ShowTip(event, 'tt66', 'link95')" onMouseOut="HideTip('tt66')">f_EPTF_MQTT_publishDB_cleanUp</a></td><td class=SDescription>Cleans up the reserved resources of the <b>v_MQTT_publishDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link96 onMouseOver="ShowTip(event, 'tt65', 'link96')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a> database</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_publishDB_add" id=link97 onMouseOver="ShowTip(event, 'tt67', 'link97')" onMouseOut="HideTip('tt67')">f_EPTF_MQTT_publishDB_add</a></td><td class=SDescription>Adds a new element to the <b>v_MQTT_publishDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link98 onMouseOver="ShowTip(event, 'tt65', 'link98')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a> database</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_publishDB_lookUp" id=link99 onMouseOver="ShowTip(event, 'tt68', 'link99')" onMouseOut="HideTip('tt68')">f_EPTF_MQTT_publishDB_lookUp</a></td><td class=SDescription>Gets the index of an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link100 onMouseOver="ShowTip(event, 'tt69', 'link100')" onMouseOut="HideTip('tt69')">MQTT_Publish</a> element in <b>v_MQTT_publishDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link101 onMouseOver="ShowTip(event, 'tt65', 'link101')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a> database by its session and packet id-s</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_publishDB_get" id=link102 onMouseOver="ShowTip(event, 'tt70', 'link102')" onMouseOut="HideTip('tt70')">f_EPTF_MQTT_publishDB_get</a></td><td class=SDescription>Retrieves an element from the <b>v_MQTT_publishDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link103 onMouseOver="ShowTip(event, 'tt65', 'link103')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a> database</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_publishDB_check" id=link104 onMouseOver="ShowTip(event, 'tt71', 'link104')" onMouseOut="HideTip('tt71')">f_EPTF_MQTT_publishDB_check</a></td><td class=SDescription>Checks if an element exists in the <b>v_MQTT_publishDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link105 onMouseOver="ShowTip(event, 'tt65', 'link105')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a> database</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_publishDB_remove" id=link106 onMouseOver="ShowTip(event, 'tt72', 'link106')" onMouseOut="HideTip('tt72')">f_EPTF_MQTT_publishDB_remove</a></td><td class=SDescription>Removes an element from the <b>v_MQTT_publishDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link107 onMouseOver="ShowTip(event, 'tt65', 'link107')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a> database</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_publishDB_packetIdHash" id=link108 onMouseOver="ShowTip(event, 'tt73', 'link108')" onMouseOut="HideTip('tt73')">f_EPTF_MQTT_publishDB_packetIdHash</a></td><td class=SDescription>Converts a pair of session ID & packet ID to the string format “session_<sessionId>:id_<packetId>” to be used as a hash key</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_subscriptionDB_init" id=link109 onMouseOver="ShowTip(event, 'tt74', 'link109')" onMouseOut="HideTip('tt74')">f_EPTF_MQTT_subscriptionDB_init</a></td><td class=SDescription>Initializes the <b>v_MQTT_subscriptionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link110 onMouseOver="ShowTip(event, 'tt75', 'link110')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a> database</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_subscriptionDB_cleanUp" id=link111 onMouseOver="ShowTip(event, 'tt76', 'link111')" onMouseOut="HideTip('tt76')">f_EPTF_MQTT_subscriptionDB_cleanUp</a></td><td class=SDescription>Cleans up the reserved resources of the <b>v_MQTT_subscriptionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link112 onMouseOver="ShowTip(event, 'tt75', 'link112')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a> database</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_subscriptionDB_add" id=link113 onMouseOver="ShowTip(event, 'tt77', 'link113')" onMouseOut="HideTip('tt77')">f_EPTF_MQTT_subscriptionDB_add</a></td><td class=SDescription>Adds a new element to the <b>v_MQTT_subscriptionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link114 onMouseOver="ShowTip(event, 'tt75', 'link114')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a> database</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_subscriptionDB_setKey_packetId" id=link115 onMouseOver="ShowTip(event, 'tt78', 'link115')" onMouseOut="HideTip('tt78')">f_EPTF_MQTT_subscriptionDB_setKey_packetId</a></td><td class=SDescription>Insert an integer element to the subscription hashmap, key is composed from session ID and packet ID</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_subscriptionDB_removeKey_packetId" id=link116 onMouseOver="ShowTip(event, 'tt79', 'link116')" onMouseOut="HideTip('tt79')">f_EPTF_MQTT_subscriptionDB_removeKey_packetId</a></td><td class=SDescription>Removes the element from the subscription hashmap identified by its session ID and packet ID</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_subscriptionDB_lookUp_packetId" id=link117 onMouseOver="ShowTip(event, 'tt80', 'link117')" onMouseOut="HideTip('tt80')">f_EPTF_MQTT_subscriptionDB_lookUp_packetId</a></td><td class=SDescription>Gets the index of an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=LType id=link118 onMouseOver="ShowTip(event, 'tt81', 'link118')" onMouseOut="HideTip('tt81')">MQTT_Subscription</a> element in <b>v_MQTT_subscriptionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link119 onMouseOver="ShowTip(event, 'tt75', 'link119')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a> database by a session ID and packet ID</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_subscriptionDB_lookUp_topicName" id=link120 onMouseOver="ShowTip(event, 'tt82', 'link120')" onMouseOut="HideTip('tt82')">f_EPTF_MQTT_subscriptionDB_lookUp_topicName</a></td><td class=SDescription>Gets the index of an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=LType id=link121 onMouseOver="ShowTip(event, 'tt81', 'link121')" onMouseOut="HideTip('tt81')">MQTT_Subscription</a> element in <b>v_MQTT_subscriptionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link122 onMouseOver="ShowTip(event, 'tt75', 'link122')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a> database by a session ID and packet ID</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_subscriptionDB_get" id=link123 onMouseOver="ShowTip(event, 'tt83', 'link123')" onMouseOut="HideTip('tt83')">f_EPTF_MQTT_subscriptionDB_get</a></td><td class=SDescription>Retrieves an element from the <b>v_MQTT_subscriptionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link124 onMouseOver="ShowTip(event, 'tt75', 'link124')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a> database</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_subscriptionDB_check" id=link125 onMouseOver="ShowTip(event, 'tt84', 'link125')" onMouseOut="HideTip('tt84')">f_EPTF_MQTT_subscriptionDB_check</a></td><td class=SDescription>Checks if an element at an index exists the <b>v_MQTT_subscriptionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link126 onMouseOver="ShowTip(event, 'tt75', 'link126')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a> database</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_subscriptionDB_remove" id=link127 onMouseOver="ShowTip(event, 'tt85', 'link127')" onMouseOut="HideTip('tt85')">f_EPTF_MQTT_subscriptionDB_remove</a></td><td class=SDescription>Removes an element from the <b>v_MQTT_subscriptionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link128 onMouseOver="ShowTip(event, 'tt75', 'link128')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a> database</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_subscriptionDB_packetIdHash" id=link129 onMouseOver="ShowTip(event, 'tt86', 'link129')" onMouseOut="HideTip('tt86')">f_EPTF_MQTT_subscriptionDB_packetIdHash</a></td><td class=SDescription>Converts a pair of session ID & packet ID to the string format “session_<sessionId>:id_<packetId>” to be used as hash key</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_subscriptionDB_topicHash" id=link130 onMouseOver="ShowTip(event, 'tt87', 'link130')" onMouseOut="HideTip('tt87')">f_EPTF_MQTT_subscriptionDB_topicHash</a></td><td class=SDescription>Converts a pair of session ID & topic to the string format “session_<sessionId>:topic_<topic>” to be used as hash key</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_stack_fromApp" id=link131 onMouseOver="ShowTip(event, 'tt88', 'link131')" onMouseOut="HideTip('tt88')">f_EPTF_MQTT_stack_fromApp</a></td><td class=SDescription>This is the main entry point for the MQTT stack realization of the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link132 onMouseOver="ShowTip(event, 'tt2', 'link132')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a> component that handles messages received from the application layer (e.g. </td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_stack_fromEnv" id=link133 onMouseOver="ShowTip(event, 'tt89', 'link133')" onMouseOut="HideTip('tt89')">f_EPTF_MQTT_stack_fromEnv</a></td><td class=SDescription>This is the main entry point for the MQTT stack realization of the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link134 onMouseOver="ShowTip(event, 'tt2', 'link134')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a> component that handles messages received from the environment layer (e.g. </td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_session_fromApp" id=link135 onMouseOver="ShowTip(event, 'tt90', 'link135')" onMouseOut="HideTip('tt90')">f_EPTF_MQTT_session_fromApp</a></td><td class=SDescription>This is the entry point for an MQTT session fsm handling events coming from the application layer (e.g. </td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_session_fromEnv" id=link136 onMouseOver="ShowTip(event, 'tt91', 'link136')" onMouseOut="HideTip('tt91')">f_EPTF_MQTT_session_fromEnv</a></td><td class=SDescription>This is the entry point for an MQTT session fsm from the environment layer (e.g. </td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_session_keepalive" id=link137 onMouseOver="ShowTip(event, 'tt92', 'link137')" onMouseOut="HideTip('tt92')">f_EPTF_MQTT_session_keepalive</a></td><td class=SDescription>Handles the T_keepalive timer event in the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link138 onMouseOver="ShowTip(event, 'tt93', 'link138')" onMouseOut="HideTip('tt93')">MQTT_Session</a> FSM</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_session_startT_keepalive" id=link139 onMouseOver="ShowTip(event, 'tt94', 'link139')" onMouseOut="HideTip('tt94')">f_EPTF_MQTT_session_startT_keepalive</a></td><td class=SDescription>Starts the T_keepalive timer for an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link140 onMouseOver="ShowTip(event, 'tt93', 'link140')" onMouseOut="HideTip('tt93')">MQTT_Session</a> FSM</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_session_cancelT_keepalive" id=link141 onMouseOver="ShowTip(event, 'tt95', 'link141')" onMouseOut="HideTip('tt95')">f_EPTF_MQTT_session_cancelT_keepalive</a></td><td class=SDescription>Cancels the T_keepalive timer of an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link142 onMouseOver="ShowTip(event, 'tt93', 'link142')" onMouseOut="HideTip('tt93')">MQTT_Session</a> FSM</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_session_getNextPacketId" id=link143 onMouseOver="ShowTip(event, 'tt96', 'link143')" onMouseOut="HideTip('tt96')">f_EPTF_MQTT_session_getNextPacketId</a></td><td class=SDescription>Sets the value of the packet id field in the next message to be sent in a session</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_session_setState" id=link144 onMouseOver="ShowTip(event, 'tt97', 'link144')" onMouseOut="HideTip('tt97')">f_EPTF_MQTT_session_setState</a></td><td class=SDescription>Sets a new state for an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link145 onMouseOver="ShowTip(event, 'tt93', 'link145')" onMouseOut="HideTip('tt93')">MQTT_Session</a> FSM</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_session_send" id=link146 onMouseOver="ShowTip(event, 'tt98', 'link146')" onMouseOut="HideTip('tt98')">f_EPTF_MQTT_session_send</a></td><td class=SDescription>Sends a message to the transort layer with type <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link147 onMouseOver="ShowTip(event, 'tt12', 'link147')" onMouseOut="HideTip('tt12')">EPTF_MQTT_PDU</a> and the provided session index</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_session_registerSubscription" id=link148 onMouseOver="ShowTip(event, 'tt99', 'link148')" onMouseOut="HideTip('tt99')">f_EPTF_MQTT_session_registerSubscription</a></td><td class=SDescription>Adds a subscription index to an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link149 onMouseOver="ShowTip(event, 'tt93', 'link149')" onMouseOut="HideTip('tt93')">MQTT_Session</a></td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_session_deregisterSubscription" id=link150 onMouseOver="ShowTip(event, 'tt100', 'link150')" onMouseOut="HideTip('tt100')">f_EPTF_MQTT_session_deregisterSubscription</a></td><td class=SDescription>Removes a subscription index from <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link151 onMouseOver="ShowTip(event, 'tt93', 'link151')" onMouseOut="HideTip('tt93')">MQTT_Session</a></td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_session_registerPublish" id=link152 onMouseOver="ShowTip(event, 'tt101', 'link152')" onMouseOut="HideTip('tt101')">f_EPTF_MQTT_session_registerPublish</a></td><td class=SDescription>Adds a publish index to an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link153 onMouseOver="ShowTip(event, 'tt93', 'link153')" onMouseOut="HideTip('tt93')">MQTT_Session</a></td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_session_deregisterPublish" id=link154 onMouseOver="ShowTip(event, 'tt102', 'link154')" onMouseOut="HideTip('tt102')">f_EPTF_MQTT_session_deregisterPublish</a></td><td class=SDescription>Removes a publish index from an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link155 onMouseOver="ShowTip(event, 'tt93', 'link155')" onMouseOut="HideTip('tt93')">MQTT_Session</a></td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_session_remove" id=link156 onMouseOver="ShowTip(event, 'tt103', 'link156')" onMouseOut="HideTip('tt103')">f_EPTF_MQTT_session_remove</a></td><td class=SDescription>Releases all resources related to an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link157 onMouseOver="ShowTip(event, 'tt93', 'link157')" onMouseOut="HideTip('tt93')">MQTT_Session</a> and removes it from the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link158 onMouseOver="ShowTip(event, 'tt55', 'link158')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a></td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_subscription_fromSession" id=link159 onMouseOver="ShowTip(event, 'tt104', 'link159')" onMouseOut="HideTip('tt104')">f_EPTF_MQTT_subscription_fromSession</a></td><td class=SDescription>Implements part of the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=LType id=link160 onMouseOver="ShowTip(event, 'tt81', 'link160')" onMouseOut="HideTip('tt81')">MQTT_Subscription</a> FSM that handles the events coming from the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link161 onMouseOver="ShowTip(event, 'tt93', 'link161')" onMouseOut="HideTip('tt93')">MQTT_Session</a></td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_subscription_fromEnv" id=link162 onMouseOver="ShowTip(event, 'tt105', 'link162')" onMouseOut="HideTip('tt105')">f_EPTF_MQTT_subscription_fromEnv</a></td><td class=SDescription>Implements part of the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=LType id=link163 onMouseOver="ShowTip(event, 'tt81', 'link163')" onMouseOut="HideTip('tt81')">MQTT_Subscription</a> FSM that handles the events coming from the environment</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_subscription_setState" id=link164 onMouseOver="ShowTip(event, 'tt106', 'link164')" onMouseOut="HideTip('tt106')">f_EPTF_MQTT_subscription_setState</a></td><td class=SDescription>Sets a new state of a <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=LType id=link165 onMouseOver="ShowTip(event, 'tt81', 'link165')" onMouseOut="HideTip('tt81')">MQTT_Subscription</a> FSM</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_subscription_remove" id=link166 onMouseOver="ShowTip(event, 'tt107', 'link166')" onMouseOut="HideTip('tt107')">f_EPTF_MQTT_subscription_remove</a></td><td class=SDescription>Removing resources related to <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=LType id=link167 onMouseOver="ShowTip(event, 'tt81', 'link167')" onMouseOut="HideTip('tt81')">MQTT_Subscription</a> FSM</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_publish_fromSession" id=link168 onMouseOver="ShowTip(event, 'tt108', 'link168')" onMouseOut="HideTip('tt108')">f_EPTF_MQTT_publish_fromSession</a></td><td class=SDescription>Handles a publish transaction in case of QoS 1 and QoS 2 fsm requested by the application layer (e.g. </td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_publish_fromEnv" id=link169 onMouseOver="ShowTip(event, 'tt109', 'link169')" onMouseOut="HideTip('tt109')">f_EPTF_MQTT_publish_fromEnv</a></td><td class=SDescription>Handles PUBLISH and publish response (PUB REC/PUB REL/PUB COMP) messages received from the peer (i.e. </td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_publish_watchdog" id=link170 onMouseOver="ShowTip(event, 'tt110', 'link170')" onMouseOut="HideTip('tt110')">f_EPTF_MQTT_publish_watchdog</a></td><td class=SDescription>Handles the T_watchdog event in the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link171 onMouseOver="ShowTip(event, 'tt69', 'link171')" onMouseOut="HideTip('tt69')">MQTT_Publish</a> FSM</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_publish_startT_watchdog" id=link172 onMouseOver="ShowTip(event, 'tt111', 'link172')" onMouseOut="HideTip('tt111')">f_EPTF_MQTT_publish_startT_watchdog</a></td><td class=SDescription>Start a T_watchdog timer in the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link173 onMouseOver="ShowTip(event, 'tt69', 'link173')" onMouseOut="HideTip('tt69')">MQTT_Publish</a> FSM</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_publish_setState" id=link174 onMouseOver="ShowTip(event, 'tt112', 'link174')" onMouseOut="HideTip('tt112')">f_EPTF_MQTT_publish_setState</a></td><td class=SDescription>Sets the new state of a <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link175 onMouseOver="ShowTip(event, 'tt69', 'link175')" onMouseOut="HideTip('tt69')">MQTT_Publish</a> FSM</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_publish_cancelT_watchdog" id=link176 onMouseOver="ShowTip(event, 'tt113', 'link176')" onMouseOut="HideTip('tt113')">f_EPTF_MQTT_publish_cancelT_watchdog</a></td><td class=SDescription>Cancels the T_watchdog timer of an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link177 onMouseOver="ShowTip(event, 'tt69', 'link177')" onMouseOut="HideTip('tt69')">MQTT_Publish</a> FSM</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_publish_remove" id=link178 onMouseOver="ShowTip(event, 'tt114', 'link178')" onMouseOut="HideTip('tt114')">f_EPTF_MQTT_publish_remove</a></td><td class=SDescription>Releaseing resources of an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link179 onMouseOver="ShowTip(event, 'tt69', 'link179')" onMouseOut="HideTip('tt69')">MQTT_Publish</a> FSM</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_setStepCtx" id=link180 onMouseOver="ShowTip(event, 'tt115', 'link180')" onMouseOut="HideTip('tt115')">f_EPTF_MQTT_setStepCtx</a></td><td class=SDescription>Sets the entity and FSM indexes in the MQTT step context</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_setCtx" id=link181 onMouseOver="ShowTip(event, 'tt116', 'link181')" onMouseOut="HideTip('tt116')">f_EPTF_MQTT_setCtx</a></td><td class=SDescription>Sets the instance pointers of <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_StepCtx" class=LType id=link182 onMouseOver="ShowTip(event, 'tt117', 'link182')" onMouseOut="HideTip('tt117')">MQTT_StepCtx</a> to the related instances of a simulated device (entity) and FSM</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_isFsmInitialized" id=link183 onMouseOver="ShowTip(event, 'tt118', 'link183')" onMouseOut="HideTip('tt118')">f_EPTF_MQTT_isFsmInitialized</a></td><td class=SDescription>Checks if an FSM instance has already been initialized</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_getIntValue" id=link184 onMouseOver="ShowTip(event, 'tt119', 'link184')" onMouseOut="HideTip('tt119')">f_EPTF_MQTT_getIntValue</a></td><td class=SDescription>Retreives an element of an <EPTF_IntegerList> if it exists</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_Logging_VERBOSE" id=link185 onMouseOver="ShowTip(event, 'tt120', 'link185')" onMouseOut="HideTip('tt120')">f_EPTF_MQTT_Logging_VERBOSE</a></td><td class=SDescription>Logging functions for the VERBOSE log level</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_Logging_DEBUG" id=link186 onMouseOver="ShowTip(event, 'tt121', 'link186')" onMouseOut="HideTip('tt121')">f_EPTF_MQTT_Logging_DEBUG</a></td><td class=SDescription>Logging functions for the DEBUG log level</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_Logging_WARNING" id=link187 onMouseOver="ShowTip(event, 'tt122', 'link187')" onMouseOut="HideTip('tt122')">f_EPTF_MQTT_Logging_WARNING</a></td><td class=SDescription>Logging functions for the WARNING log level</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_Logging_ERROR" id=link188 onMouseOver="ShowTip(event, 'tt123', 'link188')" onMouseOut="HideTip('tt123')">f_EPTF_MQTT_Logging_ERROR</a></td><td class=SDescription>Logging functions for the ERROR log level</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_dispatchEvent" id=link189 onMouseOver="ShowTip(event, 'tt124', 'link189')" onMouseOut="HideTip('tt124')">f_EPTF_MQTT_dispatchEvent</a></td><td class=SDescription>Dispatches events to an entity/fsm</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_qos_int2enum" id=link190 onMouseOver="ShowTip(event, 'tt125', 'link190')" onMouseOut="HideTip('tt125')">f_EPTF_MQTT_qos_int2enum</a></td><td class=SDescription>Converts the integer value of QoS to its enumerated value</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_publishResponseType" id=link191 onMouseOver="ShowTip(event, 'tt126', 'link191')" onMouseOut="HideTip('tt126')">f_EPTF_MQTT_publishResponseType</a></td><td class=SDescription>Checks if an MQTT message is a response to a PUBLISH</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_publishResponsePacketId" id=link192 onMouseOver="ShowTip(event, 'tt127', 'link192')" onMouseOut="HideTip('tt127')">f_EPTF_MQTT_publishResponsePacketId</a></td><td class=SDescription>Get the packet identifier of an MQTT message, if it is a response to a PUBLISH</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LGen_init"></a>f_EPTF_MQTT_LGen_init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_LGen_init(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap>pl_name</td><td class="PAfterParameters prettyprint "nowrap>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>The main initialization function for the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link194 onMouseOver="ShowTip(event, 'tt2', 'link194')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a> component type</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_name</td><td class=CDLDescription><b>in</b> <b>charstring</b> - the name for the component instance</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link195 onMouseOver="ShowTip(event, 'tt2', 'link195')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LGen_initLogging"></a>f_EPTF_MQTT_LGen_initLogging</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LGen_initLogging() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Initializing CLL’s logging feature on the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link196 onMouseOver="ShowTip(event, 'tt2', 'link196')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a> component type</p><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link197 onMouseOver="ShowTip(event, 'tt2', 'link197')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_cleanUp"></a>f_MQTT_cleanUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_MQTT_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>The main clean up function for the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link198 onMouseOver="ShowTip(event, 'tt2', 'link198')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a> component type</p><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link199 onMouseOver="ShowTip(event, 'tt2', 'link199')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_eCtxBind"></a>f_MQTT_eCtxBind</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_eCtxBind(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return EPTF_IntegerList</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>This function is called by the CLL for each entity instance created on a particular instace of <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link200 onMouseOver="ShowTip(event, 'tt2', 'link200')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_eIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the index of the entity instance on this load generator component instance</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><EPTF_IntegerList></td><td class=CDLDescription>The list will contain the index of the entity the context belongs to</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link201 onMouseOver="ShowTip(event, 'tt2', 'link201')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_eCtxUnbind"></a>f_MQTT_eCtxUnbind</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_MQTT_eCtxUnbind(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap>pl_eIdx</td><td class="PAfterParameters prettyprint "nowrap>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>The reverse operation of <a href="#f_MQTT_eCtxBind" class=LFunction id=link202 onMouseOver="ShowTip(event, 'tt5', 'link202')" onMouseOut="HideTip('tt5')">f_MQTT_eCtxBind</a>. Cleans up resources reserved during <a href="#f_MQTT_eCtxBind" class=LFunction id=link203 onMouseOver="ShowTip(event, 'tt5', 'link203')" onMouseOut="HideTip('tt5')">f_MQTT_eCtxBind</a>. Called by the CLL.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_eIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the index of the entity instance on this load generator component instance</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link204 onMouseOver="ShowTip(event, 'tt2', 'link204')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_eCtxReset"></a>f_MQTT_eCtxReset</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_MQTT_eCtxReset(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap>pl_eIdx</td><td class="PAfterParameters prettyprint "nowrap>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>The resources reserved during <a href="#f_MQTT_eCtxBind" class=LFunction id=link205 onMouseOver="ShowTip(event, 'tt5', 'link205')" onMouseOut="HideTip('tt5')">f_MQTT_eCtxBind</a> are reinitalized (reset). Called by the CLL.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_eIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the index of the entity instance on this load generator component instance</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link206 onMouseOver="ShowTip(event, 'tt2', 'link206')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_declareEvents"></a>f_EPTF_MQTT_declareEvents</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_declareEvents() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Declares the FSM events to the CLL framework implemented by <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link207 onMouseOver="ShowTip(event, 'tt2', 'link207')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link208 onMouseOver="ShowTip(event, 'tt2', 'link208')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_declareSteps"></a>f_EPTF_MQTT_declareSteps</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_declareSteps() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Declares the FSM steps to the CLL framework implemented by <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link209 onMouseOver="ShowTip(event, 'tt2', 'link209')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link210 onMouseOver="ShowTip(event, 'tt2', 'link210')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LGen_receiveMessage"></a>f_EPTF_MQTT_LGen_receiveMessage</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_receiveMessage(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>The transport layer implementation <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Provider_CT" class=LType id=link211 onMouseOver="ShowTip(event, 'tt11', 'link211')" onMouseOut="HideTip('tt11')">EPTF_MQTT_Transport_Provider_CT</a> can report received <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link212 onMouseOver="ShowTip(event, 'tt12', 'link212')" onMouseOut="HideTip('tt12')">EPTF_MQTT_PDU</a> message to the load generator layer <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_User_CT" class=LType id=link213 onMouseOver="ShowTip(event, 'tt13', 'link213')" onMouseOut="HideTip('tt13')">EPTF_MQTT_Transport_User_CT</a> extended by <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link214 onMouseOver="ShowTip(event, 'tt2', 'link214')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a> using this function.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_message</td><td class=CDLDescription><b>in</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link215 onMouseOver="ShowTip(event, 'tt12', 'link215')" onMouseOut="HideTip('tt12')">EPTF_MQTT_PDU</a> - received message</td></tr></table><h4 class=CHeading>Related Types</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link216 onMouseOver="ShowTip(event, 'tt2', 'link216')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></li><li><a href="EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_receiveMessage" class=LType id=link217 onMouseOver="ShowTip(event, 'tt129', 'link217')" onMouseOut="HideTip('tt129')">fcb_EPTF_MQTT_Transport_receiveMessage</a></li><li><a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Provider_CT" class=LType id=link218 onMouseOver="ShowTip(event, 'tt11', 'link218')" onMouseOut="HideTip('tt11')">EPTF_MQTT_Transport_Provider_CT</a></li><li><a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_User_CT" class=LType id=link219 onMouseOver="ShowTip(event, 'tt13', 'link219')" onMouseOut="HideTip('tt13')">EPTF_MQTT_Transport_User_CT</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LGen_receiveEvent"></a>f_EPTF_MQTT_LGen_receiveEvent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_receiveEvent(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>ASP_Event </td><td class="PParameter prettyprint " nowrap width=100%>p_event</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>The transport layer implementation <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Provider_CT" class=LType id=link220 onMouseOver="ShowTip(event, 'tt11', 'link220')" onMouseOut="HideTip('tt11')">EPTF_MQTT_Transport_Provider_CT</a> can report received <ASP_Event> events to the load generator layer <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_User_CT" class=LType id=link221 onMouseOver="ShowTip(event, 'tt13', 'link221')" onMouseOut="HideTip('tt13')">EPTF_MQTT_Transport_User_CT</a> extended by <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link222 onMouseOver="ShowTip(event, 'tt2', 'link222')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a> using this function.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_message</td><td class=CDLDescription><b>in</b> <ASP_Event> - received event</td></tr></table><h4 class=CHeading>Related Types</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link223 onMouseOver="ShowTip(event, 'tt2', 'link223')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></li><li><a href="EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_receiveEvent" class=LType id=link224 onMouseOver="ShowTip(event, 'tt130', 'link224')" onMouseOut="HideTip('tt130')">fcb_EPTF_MQTT_Transport_receiveEvent</a></li><li><a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Provider_CT" class=LType id=link225 onMouseOver="ShowTip(event, 'tt11', 'link225')" onMouseOut="HideTip('tt11')">EPTF_MQTT_Transport_Provider_CT</a></li><li><a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_User_CT" class=LType id=link226 onMouseOver="ShowTip(event, 'tt13', 'link226')" onMouseOut="HideTip('tt13')">EPTF_MQTT_Transport_User_CT</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LGen_transportApiResponse"></a>f_EPTF_MQTT_LGen_transportApiResponse</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_transportApiResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Response </td><td class="PParameter prettyprint " nowrap width=100%>pl_rsp</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>The transport layer implementation <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Provider_CT" class=LType id=link227 onMouseOver="ShowTip(event, 'tt11', 'link227')" onMouseOut="HideTip('tt11')">EPTF_MQTT_Transport_Provider_CT</a> can report received <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Response" class=LType id=link228 onMouseOver="ShowTip(event, 'tt16', 'link228')" onMouseOut="HideTip('tt16')">EPTF_MQTT_Transport_Response</a> responses to the load generator layer <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_User_CT" class=LType id=link229 onMouseOver="ShowTip(event, 'tt13', 'link229')" onMouseOut="HideTip('tt13')">EPTF_MQTT_Transport_User_CT</a> extended by <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link230 onMouseOver="ShowTip(event, 'tt2', 'link230')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a> using this function.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_rsp</td><td class=CDLDescription><b>in</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Response" class=LType id=link231 onMouseOver="ShowTip(event, 'tt16', 'link231')" onMouseOut="HideTip('tt16')">EPTF_MQTT_Transport_Response</a> - received transport api response</td></tr></table><h4 class=CHeading>Related Types</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link232 onMouseOver="ShowTip(event, 'tt2', 'link232')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></li><li><a href="EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_apiResponse" class=LType id=link233 onMouseOver="ShowTip(event, 'tt131', 'link233')" onMouseOut="HideTip('tt131')">fcb_EPTF_MQTT_Transport_apiResponse</a></li><li><a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Provider_CT" class=LType id=link234 onMouseOver="ShowTip(event, 'tt11', 'link234')" onMouseOut="HideTip('tt11')">EPTF_MQTT_Transport_Provider_CT</a></li><li><a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_User_CT" class=LType id=link235 onMouseOver="ShowTip(event, 'tt13', 'link235')" onMouseOut="HideTip('tt13')">EPTF_MQTT_Transport_User_CT</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LGen_send"></a>f_EPTF_MQTT_LGen_send</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>This function is used to send out a message of a <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link236 onMouseOver="ShowTip(event, 'tt12', 'link236')" onMouseOut="HideTip('tt12')">EPTF_MQTT_PDU</a> using the registered function <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_sendMessage" class=LType id=link237 onMouseOver="ShowTip(event, 'tt18', 'link237')" onMouseOut="HideTip('tt18')">fcb_EPTF_MQTT_Transport_sendMessage</a> of the underlying transport layer instance.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_msg</td><td class=CDLDescription><b>intout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link238 onMouseOver="ShowTip(event, 'tt12', 'link238')" onMouseOut="HideTip('tt12')">EPTF_MQTT_PDU</a> - the message to be sent</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link239 onMouseOver="ShowTip(event, 'tt12', 'link239')" onMouseOut="HideTip('tt12')">EPTF_MQTT_PDU</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_init"></a>f_MQTT_step_init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_init(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Test Step to dynamically allocate and initialize the MQTT FSM context for the caller FSM. Prerequisite to call any other MQTT test step.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_init" class=LConstant id=link240 onMouseOver="ShowTip(event, 'tt132', 'link240')" onMouseOut="HideTip('tt132')">c_MQTT_stepIdx_init</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_init" class=LConstant id=link241 onMouseOver="ShowTip(event, 'tt133', 'link241')" onMouseOut="HideTip('tt133')">c_MQTT_stepName_init</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_cleanUp"></a>f_MQTT_step_cleanUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_cleanUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Test Step to free up the MQTT FSM context for the caller FSM. Frees up all allocated instances that were used by this FSM instance.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_cleanUp" class=LConstant id=link242 onMouseOver="ShowTip(event, 'tt134', 'link242')" onMouseOut="HideTip('tt134')">c_MQTT_stepIdx_cleanUp</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_cleanUp" class=LConstant id=link243 onMouseOver="ShowTip(event, 'tt135', 'link243')" onMouseOut="HideTip('tt135')">c_MQTT_stepName_cleanUp</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_setLocalAddress_byVars"></a>f_MQTT_step_setLocalAddress_byVars</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setLocalAddress_byVars(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Test step to set the local address in the entity context.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args (1st param: remoteHost: charstring, 2nd param: remotePort: integer)</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setLocalAddress_byVars" class=LConstant id=link244 onMouseOver="ShowTip(event, 'tt136', 'link244')" onMouseOut="HideTip('tt136')">c_MQTT_stepIdx_setLocalAddress_byVars</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setLocalAddress_byVars" class=LConstant id=link245 onMouseOver="ShowTip(event, 'tt137', 'link245')" onMouseOut="HideTip('tt137')">c_MQTT_stepName_setLocalAddress_byVars</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_setRemoteAddress_byVars"></a>f_MQTT_step_setRemoteAddress_byVars</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setRemoteAddress_byVars(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Test step to set the remote address in the FSM context.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args (1st param: remoteHost: charstring, 2nd param: remotePort: integer)</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setRemoteAddress_byVars" class=LConstant id=link246 onMouseOver="ShowTip(event, 'tt138', 'link246')" onMouseOut="HideTip('tt138')">c_MQTT_stepIdx_setRemoteAddress_byVars</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setRemoteAddress_byVars" class=LConstant id=link247 onMouseOver="ShowTip(event, 'tt139', 'link247')" onMouseOut="HideTip('tt139')">c_MQTT_stepName_setRemoteAddress_byVars</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_startListening"></a>f_MQTT_step_startListening</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_startListening(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>The test step expects that a transport endpoint is set in the addressDB as a local address. The step will initiate allocating the local address associated with the current session in the MQTT context and call the callback function to start listening.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_startListening" class=LConstant id=link248 onMouseOver="ShowTip(event, 'tt140', 'link248')" onMouseOut="HideTip('tt140')">c_MQTT_stepIdx_startListening</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_startListening" class=LConstant id=link249 onMouseOver="ShowTip(event, 'tt141', 'link249')" onMouseOut="HideTip('tt141')">c_MQTT_stepName_startListening</a></li></ul><h4 class=CHeading>Related Steps</h4><ul><li><a href="#f_MQTT_step_setLocalAddress_byVars" class=LFunction id=link250 onMouseOver="ShowTip(event, 'tt21', 'link250')" onMouseOut="HideTip('tt21')">f_MQTT_step_setLocalAddress_byVars</a></li></ul><h4 class=CHeading>Related Callback Function Type</h4><p><a href="EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_apiRequest" class=LType id=link251 onMouseOver="ShowTip(event, 'tt142', 'link251')" onMouseOut="HideTip('tt142')">fcb_EPTF_MQTT_Transport_apiRequest</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_transportConnect"></a>f_MQTT_step_transportConnect</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_transportConnect(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>The test step expects that local and remote socket adresses are set in the addressDB. The step will initiate allocating the local and remote addresses associated with the current session in the MQTT context and call the callback function to establish a connection.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_transportConnect" class=LConstant id=link252 onMouseOver="ShowTip(event, 'tt143', 'link252')" onMouseOut="HideTip('tt143')">c_MQTT_stepIdx_transportConnect</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_transportConnect" class=LConstant id=link253 onMouseOver="ShowTip(event, 'tt144', 'link253')" onMouseOut="HideTip('tt144')">c_MQTT_stepName_transportConnect</a></li></ul><h4 class=CHeading>Related Events</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_transportSucc" class=LConstant id=link254 onMouseOver="ShowTip(event, 'tt145', 'link254')" onMouseOut="HideTip('tt145')">c_MQTT_eventIdx_transportSucc</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_transportFail" class=LConstant id=link255 onMouseOver="ShowTip(event, 'tt146', 'link255')" onMouseOut="HideTip('tt146')">c_MQTT_eventIdx_transportFail</a></li></ul><h4 class=CHeading>Related Steps</h4><ul><li><a href="#f_MQTT_step_setLocalAddress_byVars" class=LFunction id=link256 onMouseOver="ShowTip(event, 'tt21', 'link256')" onMouseOut="HideTip('tt21')">f_MQTT_step_setLocalAddress_byVars</a></li></ul><h4 class=CHeading>Related Callback Function Type</h4><p><a href="EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_apiRequest" class=LType id=link257 onMouseOver="ShowTip(event, 'tt142', 'link257')" onMouseOut="HideTip('tt142')">fcb_EPTF_MQTT_Transport_apiRequest</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_transportClose"></a>f_MQTT_step_transportClose</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_transportClose(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>The test step expects that a transport endpoint is set in the addressDB as a local address. The step will call the callback function to close the connection by the local address associated with the current session in the MQTT context.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args (1st param int: expectResponse (optional))</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_transportClose" class=LConstant id=link258 onMouseOver="ShowTip(event, 'tt147', 'link258')" onMouseOut="HideTip('tt147')">c_MQTT_stepIdx_transportClose</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_transportClose" class=LConstant id=link259 onMouseOver="ShowTip(event, 'tt148', 'link259')" onMouseOut="HideTip('tt148')">c_MQTT_stepName_transportClose</a></li></ul><h4 class=CHeading>Related Steps</h4><ul><li><a href="#f_MQTT_step_startListening" class=LFunction id=link260 onMouseOver="ShowTip(event, 'tt23', 'link260')" onMouseOut="HideTip('tt23')">f_MQTT_step_startListening</a></li><li><a href="#f_MQTT_step_transportConnect" class=LFunction id=link261 onMouseOver="ShowTip(event, 'tt24', 'link261')" onMouseOut="HideTip('tt24')">f_MQTT_step_transportConnect</a></li></ul><h4 class=CHeading>Related Callback Function Type</h4><p><a href="EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_apiRequest" class=LType id=link262 onMouseOver="ShowTip(event, 'tt142', 'link262')" onMouseOut="HideTip('tt142')">fcb_EPTF_MQTT_Transport_apiRequest</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_loadTemplate_byIntIdx"></a>f_MQTT_step_loadTemplate_byIntIdx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_loadTemplate_byIntIdx(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Test step to load a <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template" class=LType id=link263 onMouseOver="ShowTip(event, 'tt27', 'link263')" onMouseOut="HideTip('tt27')">MQTT_Template</a> from <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_templates" class=LModuleParameter id=link264 onMouseOver="ShowTip(event, 'tt28', 'link264')" onMouseOut="HideTip('tt28')">tsp_EPTF_MQTT_LGen_templates</a> into <b>v_MQTT_msgToSend</b> (which can be sent using the send test step) by its integer index in test step args.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_loadTemplate_byIntIdx" class=LConstant id=link265 onMouseOver="ShowTip(event, 'tt149', 'link265')" onMouseOut="HideTip('tt149')">c_MQTT_stepIdx_loadTemplate_byIntIdx</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_loadTemplate_byIntIdx" class=LConstant id=link266 onMouseOver="ShowTip(event, 'tt150', 'link266')" onMouseOut="HideTip('tt150')">c_MQTT_stepName_loadTemplate_byIntIdx</a></li></ul><h4 class=CHeading>Related Function</h4><p><a href="#f_MQTT_step_send" class=LFunction id=link267 onMouseOver="ShowTip(event, 'tt41', 'link267')" onMouseOut="HideTip('tt41')">f_MQTT_step_send</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_loadTemplate_byStringId"></a>f_MQTT_step_loadTemplate_byStringId</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_loadTemplate_byStringId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Test step to load a <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template" class=LType id=link268 onMouseOver="ShowTip(event, 'tt27', 'link268')" onMouseOut="HideTip('tt27')">MQTT_Template</a> from <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_templates" class=LModuleParameter id=link269 onMouseOver="ShowTip(event, 'tt28', 'link269')" onMouseOut="HideTip('tt28')">tsp_EPTF_MQTT_LGen_templates</a> into <b>v_MQTT_msgToSend</b> (which can be sent using the send test step) by its string Id.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_loadTemplate_byStringId" class=LConstant id=link270 onMouseOver="ShowTip(event, 'tt151', 'link270')" onMouseOut="HideTip('tt151')">c_MQTT_stepIdx_loadTemplate_byStringId</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_loadTemplate_byStringId" class=LConstant id=link271 onMouseOver="ShowTip(event, 'tt152', 'link271')" onMouseOut="HideTip('tt152')">c_MQTT_stepName_loadTemplate_byStringId</a></li></ul><h4 class=CHeading>Related Function</h4><p><a href="#f_MQTT_step_send" class=LFunction id=link272 onMouseOver="ShowTip(event, 'tt41', 'link272')" onMouseOut="HideTip('tt41')">f_MQTT_step_send</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_setTopic_stringParam"></a>f_MQTT_step_setTopic_stringParam</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Test step to set the string value referred by the test step argument as the topic of the first subscription entry in SUBSCRIBE and PUBLISH messages.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args(1st param: topic name charstring)</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_stringParam" class=LConstant id=link273 onMouseOver="ShowTip(event, 'tt153', 'link273')" onMouseOut="HideTip('tt153')">c_MQTT_stepIdx_setTopic_stringParam</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_stringParam" class=LConstant id=link274 onMouseOver="ShowTip(event, 'tt154', 'link274')" onMouseOut="HideTip('tt154')">c_MQTT_stepName_setTopic_stringParam</a></li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_setTopic_add_stringParam"></a>f_MQTT_step_setTopic_add_stringParam</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_add_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Test step to add the string value referred by the test step argument to the topic of the first subscription entry in SUBSCRIBE and PUBLISH messages.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args(1st param: topic name charstring)</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_add_stringParam" class=LConstant id=link275 onMouseOver="ShowTip(event, 'tt155', 'link275')" onMouseOut="HideTip('tt155')">c_MQTT_stepIdx_setTopic_add_stringParam</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_add_stringParam" class=LConstant id=link276 onMouseOver="ShowTip(event, 'tt156', 'link276')" onMouseOut="HideTip('tt156')">c_MQTT_stepName_setTopic_add_stringParam</a></li></ul><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link277 onMouseOver="ShowTip(event, 'tt2', 'link277')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_setTopic_add_varParams"></a>f_MQTT_step_setTopic_add_varParams</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_add_varParams(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Test step to add the string value of variables referred by the test step argument to the topic of the first subscription entry in SUBSCRIBE and PUBLISH messages.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args(params: variables)</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_add_varParams" class=LConstant id=link278 onMouseOver="ShowTip(event, 'tt157', 'link278')" onMouseOut="HideTip('tt157')">c_MQTT_stepIdx_setTopic_add_varParams</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_add_varParams" class=LConstant id=link279 onMouseOver="ShowTip(event, 'tt158', 'link279')" onMouseOut="HideTip('tt158')">c_MQTT_stepName_setTopic_add_varParams</a></li></ul><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link280 onMouseOver="ShowTip(event, 'tt2', 'link280')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_setTopic_add_clientId"></a>f_MQTT_step_setTopic_add_clientId</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_add_clientId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Test step to add client ID in the current session to the topic in the first subscription in SUBSCRIBE and to PUBLISH message.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args(param: clientId)</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_add_clientId" class=LConstant id=link281 onMouseOver="ShowTip(event, 'tt159', 'link281')" onMouseOut="HideTip('tt159')">c_MQTT_stepIdx_setTopic_add_clientId</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_add_clientId" class=LConstant id=link282 onMouseOver="ShowTip(event, 'tt160', 'link282')" onMouseOut="HideTip('tt160')">c_MQTT_stepName_setTopic_add_clientId</a></li></ul><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link283 onMouseOver="ShowTip(event, 'tt2', 'link283')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_setQos_intParam"></a>f_MQTT_step_setQos_intParam</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setQos_intParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Test step to set the QoS level in SUBSCRIBE and PUBLISH messages using test step arguments</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args(1st param: qos level (0,1,2) integer)</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setQos_intParam" class=LConstant id=link284 onMouseOver="ShowTip(event, 'tt161', 'link284')" onMouseOut="HideTip('tt161')">c_MQTT_stepIdx_setQos_intParam</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setQos_intParam" class=LConstant id=link285 onMouseOver="ShowTip(event, 'tt162', 'link285')" onMouseOut="HideTip('tt162')">c_MQTT_stepName_setQos_intParam</a></li></ul><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link286 onMouseOver="ShowTip(event, 'tt2', 'link286')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_setPublishMessage_stringParam"></a>f_MQTT_step_setPublishMessage_stringParam</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Test step to set the content of the payload in PUBLISH message.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args(1st param: publish message charstring)</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_stringParam" class=LConstant id=link287 onMouseOver="ShowTip(event, 'tt163', 'link287')" onMouseOut="HideTip('tt163')">c_MQTT_stepIdx_setPublishMessage_stringParam</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_stringParam" class=LConstant id=link288 onMouseOver="ShowTip(event, 'tt164', 'link288')" onMouseOut="HideTip('tt164')">c_MQTT_stepName_setPublishMessage_stringParam</a></li></ul><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link289 onMouseOver="ShowTip(event, 'tt2', 'link289')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_setPublishMessage_add_stringParam"></a>f_MQTT_step_setPublishMessage_add_stringParam</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_add_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Test step to concatenate a string to the content of the PUBLISH message</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args(1st param: publish message charstring)</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_add_stringParam" class=LConstant id=link290 onMouseOver="ShowTip(event, 'tt165', 'link290')" onMouseOut="HideTip('tt165')">c_MQTT_stepIdx_setPublishMessage_add_stringParam</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_add_stringParam" class=LConstant id=link291 onMouseOver="ShowTip(event, 'tt166', 'link291')" onMouseOut="HideTip('tt166')">c_MQTT_stepName_setPublishMessage_add_stringParam</a></li></ul><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link292 onMouseOver="ShowTip(event, 'tt2', 'link292')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_setPublishMessage_add_varParams"></a>f_MQTT_step_setPublishMessage_add_varParams</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_add_varParams(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Test step to add the content of a set of variables to the payload of a PUBLISH message.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args(params: variables)</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_add_varParams" class=LConstant id=link293 onMouseOver="ShowTip(event, 'tt167', 'link293')" onMouseOut="HideTip('tt167')">c_MQTT_stepIdx_setPublishMessage_add_varParams</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_add_varParams" class=LConstant id=link294 onMouseOver="ShowTip(event, 'tt168', 'link294')" onMouseOut="HideTip('tt168')">c_MQTT_stepName_setPublishMessage_add_varParams</a></li></ul><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link295 onMouseOver="ShowTip(event, 'tt2', 'link295')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_setPublishMessage_add_clientId"></a>f_MQTT_step_setPublishMessage_add_clientId</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_add_clientId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Test step to add client ID of the current session to the payload of a PUBLISH message.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args(param: clientId)</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_add_clientId" class=LConstant id=link296 onMouseOver="ShowTip(event, 'tt169', 'link296')" onMouseOut="HideTip('tt169')">c_MQTT_stepIdx_setPublishMessage_add_clientId</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_add_clientId" class=LConstant id=link297 onMouseOver="ShowTip(event, 'tt170', 'link297')" onMouseOut="HideTip('tt170')">c_MQTT_stepName_setPublishMessage_add_clientId</a></li></ul><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link298 onMouseOver="ShowTip(event, 'tt2', 'link298')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_reportPingResponse"></a>f_MQTT_step_reportPingResponse</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_reportPingResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Test step to set the report ping response to enable/disable using using step arguments.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args - 1:enable, 0:disable</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_reportPingResponse" class=LConstant id=link299 onMouseOver="ShowTip(event, 'tt171', 'link299')" onMouseOut="HideTip('tt171')">c_MQTT_stepIdx_reportPingResponse</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_reportPingResponse" class=LConstant id=link300 onMouseOver="ShowTip(event, 'tt172', 'link300')" onMouseOut="HideTip('tt172')">c_MQTT_stepName_reportPingResponse</a></li></ul><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link301 onMouseOver="ShowTip(event, 'tt2', 'link301')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_reportPublishResponse"></a>f_MQTT_step_reportPublishResponse</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_reportPublishResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Test step to set the report publish response to enable/disable using step arguments</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args(1st param: enable (1)/disable (0): integer)</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_reportPublishResponse" class=LConstant id=link302 onMouseOver="ShowTip(event, 'tt173', 'link302')" onMouseOut="HideTip('tt173')">c_MQTT_stepIdx_reportPublishResponse</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_reportPublishResponse" class=LConstant id=link303 onMouseOver="ShowTip(event, 'tt174', 'link303')" onMouseOut="HideTip('tt174')">c_MQTT_stepName_reportPublishResponse</a></li></ul><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link304 onMouseOver="ShowTip(event, 'tt2', 'link304')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_step_send"></a>f_MQTT_step_send</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Test step to send out an MQTT message from <b>v_MQTT_msgToSend</b>. The message will be processed by the Applib’s MQTT stack The step expects the localAddress and the remoteAddress to be configured in addressDB.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args</td></tr></table><h4 class=CHeading>Related Constants</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_send" class=LConstant id=link305 onMouseOver="ShowTip(event, 'tt175', 'link305')" onMouseOut="HideTip('tt175')">c_MQTT_stepIdx_send</a></li><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_send" class=LConstant id=link306 onMouseOver="ShowTip(event, 'tt176', 'link306')" onMouseOut="HideTip('tt176')">c_MQTT_stepName_send</a></li></ul><h4 class=CHeading>Related Functions</h4><ul><li><a href="#f_MQTT_step_loadTemplate_byIntIdx" class=LFunction id=link307 onMouseOver="ShowTip(event, 'tt26', 'link307')" onMouseOut="HideTip('tt26')">f_MQTT_step_loadTemplate_byIntIdx</a></li><li><a href="#f_MQTT_step_loadTemplate_byStringId" class=LFunction id=link308 onMouseOver="ShowTip(event, 'tt29', 'link308')" onMouseOut="HideTip('tt29')">f_MQTT_step_loadTemplate_byStringId</a></li></ul><h4 class=CHeading>Related functions</h4><p><a href="#f_EPTF_MQTT_stack_fromApp" class=LFunction id=link309 onMouseOver="ShowTip(event, 'tt88', 'link309')" onMouseOut="HideTip('tt88')">f_EPTF_MQTT_stack_fromApp</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_addressDB_init"></a>f_EPTF_MQTT_addressDB_init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_addressDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Function to initialize the addressDB</p><h4 class=CHeading>Parameters</h4><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Address_DB" class=LType id=link310 onMouseOver="ShowTip(event, 'tt177', 'link310')" onMouseOut="HideTip('tt177')">MQTT_Address_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_addressDB_cleanUp"></a>f_EPTF_MQTT_addressDB_cleanUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_addressDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Function to clean up the address database and release its resources</p><h4 class=CHeading>Parameters</h4><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Address_DB" class=LType id=link311 onMouseOver="ShowTip(event, 'tt177', 'link311')" onMouseOut="HideTip('tt177')">MQTT_Address_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_addressDB_add"></a>f_EPTF_MQTT_addressDB_add</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_addressDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_addr,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Add a socket address to the addressDB and return its index if no such entry yet, or return its index if already exists</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_addr</td><td class=CDLDescription><b>in</b> <Socket> - socket address</td></tr><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>inout</b> <b>integer</b> - index of the address entry</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Address_DB" class=LType id=link312 onMouseOver="ShowTip(event, 'tt177', 'link312')" onMouseOut="HideTip('tt177')">MQTT_Address_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_addressDB_get"></a>f_EPTF_MQTT_addressDB_get</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_addressDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_addr,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Get a socket address from the addressDB by its index</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_addr</td><td class=CDLDescription><b>inout</b> <Socket> - returned socket address</td></tr><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>in</b> <b>integer</b> - index of the address to get</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Address_DB" class=LType id=link313 onMouseOver="ShowTip(event, 'tt177', 'link313')" onMouseOut="HideTip('tt177')">MQTT_Address_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_addressDB_lookUp"></a>f_EPTF_MQTT_addressDB_lookUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_addressDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Get the index of a socket entry in addressDB</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sock</td><td class=CDLDescription><b>in</b> <Socket> - socket address</td></tr></table><h4 class=CHeading>Return Type</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*integer*</td><td class=CDLDescription>The index of the socket entry</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Address_DB" class=LType id=link314 onMouseOver="ShowTip(event, 'tt177', 'link314')" onMouseOut="HideTip('tt177')">MQTT_Address_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_addressDB_Socket2String"></a>f_EPTF_MQTT_addressDB_Socket2String</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_addressDB_Socket2String(</td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap>p_sock</td><td class="PAfterParameters prettyprint "nowrap>) return charstring</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Converts a socket address in <Socket> type format to the string format “<IP address>:<port number>” to be used as hash key</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sock</td><td class=CDLDescription><b>inout</b> <Socket> - socket address</td></tr></table><h4 class=CHeading>Return Type</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*charstring*</td><td class=CDLDescription>Socket address in string format</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Address_DB" class=LType id=link315 onMouseOver="ShowTip(event, 'tt177', 'link315')" onMouseOut="HideTip('tt177')">MQTT_Address_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_templateDB_init"></a>f_EPTF_MQTT_templateDB_init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_templateDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Initializes the <b>v_MQTT_templateDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" class=LType id=link316 onMouseOver="ShowTip(event, 'tt49', 'link316')" onMouseOut="HideTip('tt49')">MQTT_Template_DB</a> database by adding the templates given in <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_templates" class=LModuleParameter id=link317 onMouseOver="ShowTip(event, 'tt28', 'link317')" onMouseOut="HideTip('tt28')">tsp_EPTF_MQTT_LGen_templates</a></p><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" class=LType id=link318 onMouseOver="ShowTip(event, 'tt49', 'link318')" onMouseOut="HideTip('tt49')">MQTT_Template_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_templateDB_add"></a>f_EPTF_MQTT_templateDB_add</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_templateDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Template </td><td class="PParameter prettyprint " nowrap width=100%>p_template</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Adds a new element to the <b>v_MQTT_templateDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" class=LType id=link319 onMouseOver="ShowTip(event, 'tt49', 'link319')" onMouseOut="HideTip('tt49')">MQTT_Template_DB</a> database</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_template</td><td class=CDLDescription><b>in</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template" class=LType id=link320 onMouseOver="ShowTip(event, 'tt27', 'link320')" onMouseOut="HideTip('tt27')">MQTT_Template</a> - the element to be added</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*integer*</td><td class=CDLDescription>the index of the added element in the database</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" class=LType id=link321 onMouseOver="ShowTip(event, 'tt49', 'link321')" onMouseOut="HideTip('tt49')">MQTT_Template_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_templateDB_lookUp"></a>f_EPTF_MQTT_templateDB_lookUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_templateDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>p_id</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Gets the index of an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template" class=LType id=link322 onMouseOver="ShowTip(event, 'tt27', 'link322')" onMouseOut="HideTip('tt27')">MQTT_Template</a> element in <b>v_MQTT_templateDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" class=LType id=link323 onMouseOver="ShowTip(event, 'tt49', 'link323')" onMouseOut="HideTip('tt49')">MQTT_Template_DB</a> database</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_id</td><td class=CDLDescription><b>in</b> <b>charstring</b> - the id of the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template" class=LType id=link324 onMouseOver="ShowTip(event, 'tt27', 'link324')" onMouseOut="HideTip('tt27')">MQTT_Template</a></td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*integer*</td><td class=CDLDescription>the index of the searched template in the database, or -1 if not found</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" class=LType id=link325 onMouseOver="ShowTip(event, 'tt49', 'link325')" onMouseOut="HideTip('tt49')">MQTT_Template_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_templateDB_get"></a>f_EPTF_MQTT_templateDB_get</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_templateDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_v3_1_1_ReqResp </td><td class="PParameter prettyprint " nowrap width=100%>p_pdu</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Retrieves an element from the <b>v_MQTT_templateDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" class=LType id=link326 onMouseOver="ShowTip(event, 'tt49', 'link326')" onMouseOut="HideTip('tt49')">MQTT_Template_DB</a> database</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the index of the element to be retrieved</td></tr><tr><td class=CDLEntry>p_pdu</td><td class=CDLDescription><b>inout</b> <MQTT_v3_1_1_ReqResp> - the retrieved element</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" class=LType id=link327 onMouseOver="ShowTip(event, 'tt49', 'link327')" onMouseOut="HideTip('tt49')">MQTT_Template_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_templateDB_cleanUp"></a>f_EPTF_MQTT_templateDB_cleanUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_templateDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Cleans up the reserved resources of the <b>v_MQTT_templateDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" class=LType id=link328 onMouseOver="ShowTip(event, 'tt49', 'link328')" onMouseOut="HideTip('tt49')">MQTT_Template_DB</a> database</p><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" class=LType id=link329 onMouseOver="ShowTip(event, 'tt49', 'link329')" onMouseOut="HideTip('tt49')">MQTT_Template_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_sessionDB_init"></a>f_EPTF_MQTT_sessionDB_init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_sessionDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Initializes the <b>v_MQTT_sessionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link330 onMouseOver="ShowTip(event, 'tt55', 'link330')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a> database and adds its hash to <b>v_MQTT_sessionDB.hashRef</b></p><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link331 onMouseOver="ShowTip(event, 'tt55', 'link331')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_sessionDB_cleanUp"></a>f_EPTF_MQTT_sessionDB_cleanUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_sessionDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Cleans up the reserved resources of the <b>v_MQTT_sessionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link332 onMouseOver="ShowTip(event, 'tt55', 'link332')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a> database</p><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link333 onMouseOver="ShowTip(event, 'tt55', 'link333')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_sessionDB_add"></a>f_EPTF_MQTT_sessionDB_add</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Session </td><td class="PParameter prettyprint " nowrap width=100%>p_session</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Adds a new element to the <b>v_MQTT_sessionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link334 onMouseOver="ShowTip(event, 'tt55', 'link334')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a> database</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_session</td><td class=CDLDescription><b>in</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link335 onMouseOver="ShowTip(event, 'tt93', 'link335')" onMouseOut="HideTip('tt93')">MQTT_Session</a> - the element to be added</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*integer*</td><td class=CDLDescription>the index of the added element in the database</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link336 onMouseOver="ShowTip(event, 'tt55', 'link336')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_sessionDB_setKey"></a>f_EPTF_MQTT_sessionDB_setKey</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_setKey(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Sets the hash of the local socket address of a session by the session index</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the session index</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link337 onMouseOver="ShowTip(event, 'tt55', 'link337')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_sessionDB_lookUp"></a>f_EPTF_MQTT_sessionDB_lookUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Gets the index of a session in <b>v_MQTT_sessionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link338 onMouseOver="ShowTip(event, 'tt55', 'link338')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a> database by its socket address</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sock</td><td class=CDLDescription><b>in</b> <Socket> - the socket address to look up</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*integer*</td><td class=CDLDescription>the index of the added element in the database, or -1 if not found</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link339 onMouseOver="ShowTip(event, 'tt55', 'link339')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_sessionDB_get"></a>f_EPTF_MQTT_sessionDB_get</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_Session </td><td class="PParameter prettyprint " nowrap width=100%>p_session</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Retrieves a session’s data from the <b>v_MQTT_sessionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link340 onMouseOver="ShowTip(event, 'tt55', 'link340')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a> database</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the index of the element to be retrieved</td></tr><tr><td class=CDLEntry>p_session</td><td class=CDLDescription><b>inout</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link341 onMouseOver="ShowTip(event, 'tt93', 'link341')" onMouseOut="HideTip('tt93')">MQTT_Session</a> - the retrieved session context</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*boolean*</td><td class=CDLDescription>true if OK, false if no session element with this index</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link342 onMouseOver="ShowTip(event, 'tt55', 'link342')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_sessionDB_check"></a>f_EPTF_MQTT_sessionDB_check</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_check(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Checks if a session element exists in the <b>v_MQTT_sessionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link343 onMouseOver="ShowTip(event, 'tt55', 'link343')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a> database</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the index of the element to be checked</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>boolean</td><td class=CDLDescription>true if the session exists</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link344 onMouseOver="ShowTip(event, 'tt55', 'link344')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_sessionDB_remove"></a>f_EPTF_MQTT_sessionDB_remove</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Removes an element from the <b>v_MQTT_sessionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link345 onMouseOver="ShowTip(event, 'tt55', 'link345')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a> database and releases its resources</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the index of the element to be removed</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link346 onMouseOver="ShowTip(event, 'tt55', 'link346')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_sessionDB_addrHash"></a>f_EPTF_MQTT_sessionDB_addrHash</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_sessionDB_addrHash(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap>p_sock</td><td class="PAfterParameters prettyprint "nowrap>) return charstring</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Converts a socket address in <Socket> type format to the string format “<IP address>:<port number>” to be used as a hash key</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sock</td><td class=CDLDescription><b>in</b> <Socket> - socket address</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>charstring</td><td class=CDLDescription>socket address in string format</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_publishDB_init"></a>f_EPTF_MQTT_publishDB_init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_publishDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Initializes the <b>v_MQTT_publishDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link347 onMouseOver="ShowTip(event, 'tt65', 'link347')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a> database and creates its hashmap</p><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link348 onMouseOver="ShowTip(event, 'tt65', 'link348')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_publishDB_cleanUp"></a>f_EPTF_MQTT_publishDB_cleanUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_publishDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Cleans up the reserved resources of the <b>v_MQTT_publishDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link349 onMouseOver="ShowTip(event, 'tt65', 'link349')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a> database</p><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link350 onMouseOver="ShowTip(event, 'tt65', 'link350')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_publishDB_add"></a>f_EPTF_MQTT_publishDB_add</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Publish </td><td class="PParameter prettyprint " nowrap width=100%>p_pub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Adds a new element to the <b>v_MQTT_publishDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link351 onMouseOver="ShowTip(event, 'tt65', 'link351')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a> database</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_pub</td><td class=CDLDescription><b>in</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link352 onMouseOver="ShowTip(event, 'tt69', 'link352')" onMouseOut="HideTip('tt69')">MQTT_Publish</a> - the element to be added</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*integer*</td><td class=CDLDescription>the index of the added element in the database</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link353 onMouseOver="ShowTip(event, 'tt65', 'link353')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_publishDB_lookUp"></a>f_EPTF_MQTT_publishDB_lookUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Gets the index of an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link354 onMouseOver="ShowTip(event, 'tt69', 'link354')" onMouseOut="HideTip('tt69')">MQTT_Publish</a> element in <b>v_MQTT_publishDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link355 onMouseOver="ShowTip(event, 'tt65', 'link355')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a> database by its session and packet id-s</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sessionIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - input session id</td></tr><tr><td class=CDLEntry>p_packetId</td><td class=CDLDescription><b>in</b> <b>integer</b> - input packet id</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*integer*</td><td class=CDLDescription>the index of the searched element in the database, or -1 if not found</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link356 onMouseOver="ShowTip(event, 'tt65', 'link356')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_publishDB_get"></a>f_EPTF_MQTT_publishDB_get</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_Publish </td><td class="PParameter prettyprint " nowrap width=100%>p_pub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Retrieves an element from the <b>v_MQTT_publishDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link357 onMouseOver="ShowTip(event, 'tt65', 'link357')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a> database</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the index of the element to be retrieved</td></tr><tr><td class=CDLEntry>p_pub</td><td class=CDLDescription><b>inout</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link358 onMouseOver="ShowTip(event, 'tt69', 'link358')" onMouseOut="HideTip('tt69')">MQTT_Publish</a> - the retrieved element</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>boolean</td><td class=CDLDescription>true: success, false: no element with the index p_idx</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link359 onMouseOver="ShowTip(event, 'tt65', 'link359')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_publishDB_check"></a>f_EPTF_MQTT_publishDB_check</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_check(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Checks if an element exists in the <b>v_MQTT_publishDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link360 onMouseOver="ShowTip(event, 'tt65', 'link360')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a> database</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the index of the element to be checked</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>boolean</td><td class=CDLDescription>true: element present, false: element doesn’t exists</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link361 onMouseOver="ShowTip(event, 'tt65', 'link361')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_publishDB_remove"></a>f_EPTF_MQTT_publishDB_remove</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Removes an element from the <b>v_MQTT_publishDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link362 onMouseOver="ShowTip(event, 'tt65', 'link362')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a> database</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the index of the element to be Removed</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link363 onMouseOver="ShowTip(event, 'tt65', 'link363')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_publishDB_packetIdHash"></a>f_EPTF_MQTT_publishDB_packetIdHash</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_packetIdHash(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Converts a pair of session ID & packet ID to the string format “session_<sessionId>:id_<packetId>” to be used as a hash key</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sessionIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - input session ID</td></tr><tr><td class=CDLEntry>p_packetId</td><td class=CDLDescription><b>in</b> <b>integer</b> - input packet ID</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>charstring</td><td class=CDLDescription>converted IDs</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=LType id=link364 onMouseOver="ShowTip(event, 'tt65', 'link364')" onMouseOut="HideTip('tt65')">MQTT_Publish_DB</a> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link365 onMouseOver="ShowTip(event, 'tt2', 'link365')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_subscriptionDB_init"></a>f_EPTF_MQTT_subscriptionDB_init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_subscriptionDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Initializes the <b>v_MQTT_subscriptionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link366 onMouseOver="ShowTip(event, 'tt75', 'link366')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a> database</p><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link367 onMouseOver="ShowTip(event, 'tt75', 'link367')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_subscriptionDB_cleanUp"></a>f_EPTF_MQTT_subscriptionDB_cleanUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_subscriptionDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Cleans up the reserved resources of the <b>v_MQTT_subscriptionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link368 onMouseOver="ShowTip(event, 'tt75', 'link368')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a> database</p><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link369 onMouseOver="ShowTip(event, 'tt75', 'link369')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_subscriptionDB_add"></a>f_EPTF_MQTT_subscriptionDB_add</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Subscription </td><td class="PParameter prettyprint " nowrap width=100%>p_sub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Adds a new element to the <b>v_MQTT_subscriptionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link370 onMouseOver="ShowTip(event, 'tt75', 'link370')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a> database</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sub</td><td class=CDLDescription><b>in</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=LType id=link371 onMouseOver="ShowTip(event, 'tt81', 'link371')" onMouseOut="HideTip('tt81')">MQTT_Subscription</a> - the element to be added</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*integer*</td><td class=CDLDescription>the index of the added element in the database</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link372 onMouseOver="ShowTip(event, 'tt75', 'link372')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_subscriptionDB_setKey_packetId"></a>f_EPTF_MQTT_subscriptionDB_setKey_packetId</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_setKey_packetId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Insert an integer element to the subscription hashmap, key is composed from session ID and packet ID</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>in</b> <b>integer</b> - data to be inserted</td></tr><tr><td class=CDLEntry>p_sessionIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - input session ID, used in hashmap key</td></tr><tr><td class=CDLEntry>p_packetId</td><td class=CDLDescription><b>in</b> <b>integer</b> - input packet ID, used in hashmap key</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link373 onMouseOver="ShowTip(event, 'tt75', 'link373')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_subscriptionDB_removeKey_packetId"></a>f_EPTF_MQTT_subscriptionDB_removeKey_packetId</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_removeKey_packetId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><p>Removes the element from the subscription hashmap identified by its session ID and packet ID</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>in</b> <b>integer</b> - NOT USED</td></tr><tr><td class=CDLEntry>p_sessionIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - input session ID, used in hashmap key</td></tr><tr><td class=CDLEntry>p_packetId</td><td class=CDLDescription><b>in</b> <b>integer</b> - input packet ID, used in hashmap key</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link374 onMouseOver="ShowTip(event, 'tt75', 'link374')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_subscriptionDB_lookUp_packetId"></a>f_EPTF_MQTT_subscriptionDB_lookUp_packetId</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_lookUp_packetId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Gets the index of an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=LType id=link375 onMouseOver="ShowTip(event, 'tt81', 'link375')" onMouseOut="HideTip('tt81')">MQTT_Subscription</a> element in <b>v_MQTT_subscriptionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link376 onMouseOver="ShowTip(event, 'tt75', 'link376')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a> database by a session ID and packet ID</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sessionIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - input session ID, used in hashmap key</td></tr><tr><td class=CDLEntry>p_packetId</td><td class=CDLDescription><b>in</b> <b>integer</b> - input packet ID, used in hashmap key</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*integer*</td><td class=CDLDescription>the index of the searched element in the database, or -1 if not found</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link377 onMouseOver="ShowTip(event, 'tt75', 'link377')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_subscriptionDB_lookUp_topicName"></a>f_EPTF_MQTT_subscriptionDB_lookUp_topicName</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_lookUp_topicName(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>p_topicName</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Gets the index of an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=LType id=link378 onMouseOver="ShowTip(event, 'tt81', 'link378')" onMouseOut="HideTip('tt81')">MQTT_Subscription</a> element in <b>v_MQTT_subscriptionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link379 onMouseOver="ShowTip(event, 'tt75', 'link379')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a> database by a session ID and packet ID</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sessionIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - input session ID, used in hashmap key</td></tr><tr><td class=CDLEntry>p_topicName</td><td class=CDLDescription><b>in</b> <b>charstring</b> - input topic, used in hashmap key</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*integer*</td><td class=CDLDescription>the index of the searched element in the database, or -1 if not found</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link380 onMouseOver="ShowTip(event, 'tt75', 'link380')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_subscriptionDB_get"></a>f_EPTF_MQTT_subscriptionDB_get</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_Subscription </td><td class="PParameter prettyprint " nowrap width=100%>p_sub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Retrieves an element from the <b>v_MQTT_subscriptionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link381 onMouseOver="ShowTip(event, 'tt75', 'link381')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a> database</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the index of the element to be retrieved</td></tr><tr><td class=CDLEntry>p_sub</td><td class=CDLDescription><b>inout</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=LType id=link382 onMouseOver="ShowTip(event, 'tt81', 'link382')" onMouseOut="HideTip('tt81')">MQTT_Subscription</a> - the retrieved element</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*boolean*</td><td class=CDLDescription>true: success, false: element with this index doesn’t exist</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link383 onMouseOver="ShowTip(event, 'tt75', 'link383')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_subscriptionDB_check"></a>f_EPTF_MQTT_subscriptionDB_check</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_check(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Checks if an element at an index exists the <b>v_MQTT_subscriptionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link384 onMouseOver="ShowTip(event, 'tt75', 'link384')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a> database</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the index of the element to be checked</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*boolean*</td><td class=CDLDescription>true: success, false: element at this index is not present</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link385 onMouseOver="ShowTip(event, 'tt75', 'link385')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_subscriptionDB_remove"></a>f_EPTF_MQTT_subscriptionDB_remove</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Removes an element from the <b>v_MQTT_subscriptionDB</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link386 onMouseOver="ShowTip(event, 'tt75', 'link386')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a> database</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the index of the element to be removed</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link387 onMouseOver="ShowTip(event, 'tt75', 'link387')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_subscriptionDB_packetIdHash"></a>f_EPTF_MQTT_subscriptionDB_packetIdHash</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_packetIdHash(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Converts a pair of session ID & packet ID to the string format “session_<sessionId>:id_<packetId>” to be used as hash key</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sessionIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - input session ID</td></tr><tr><td class=CDLEntry>p_packetId</td><td class=CDLDescription><b>in</b> <b>integer</b> - input packet ID</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>charstring</td><td class=CDLDescription>converted IDs</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link388 onMouseOver="ShowTip(event, 'tt75', 'link388')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_subscriptionDB_topicHash"></a>f_EPTF_MQTT_subscriptionDB_topicHash</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_topicHash(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>p_topic</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Converts a pair of session ID & topic to the string format “session_<sessionId>:topic_<topic>” to be used as hash key</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sessionIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - input session ID</td></tr><tr><td class=CDLEntry>p_topic</td><td class=CDLDescription><b>in</b> <b>charstring</b> - input topic string</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>charstring</td><td class=CDLDescription>converted IDs</td></tr></table><h4 class=CHeading>Related Type</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=LType id=link389 onMouseOver="ShowTip(event, 'tt75', 'link389')" onMouseOut="HideTip('tt75')">MQTT_Subscription_DB</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_stack_fromApp"></a>f_EPTF_MQTT_stack_fromApp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_stack_fromApp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_StepCtx </td><td class="PParameter prettyprint " nowrap width=100%>p_ctx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>This is the main entry point for the MQTT stack realization of the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link390 onMouseOver="ShowTip(event, 'tt2', 'link390')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a> component that handles messages received from the application layer (e.g. FSMs)</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_msg</td><td class=CDLDescription><b>inout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link391 onMouseOver="ShowTip(event, 'tt12', 'link391')" onMouseOut="HideTip('tt12')">EPTF_MQTT_PDU</a> - message that enters into the stack (will be modified by the stack)</td></tr><tr><td class=CDLEntry>p_ctx</td><td class=CDLDescription><b>in</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_StepCtx" class=LType id=link392 onMouseOver="ShowTip(event, 'tt117', 'link392')" onMouseOut="HideTip('tt117')">MQTT_StepCtx</a> - pointers for the instances related to a particular simulated entity</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link393 onMouseOver="ShowTip(event, 'tt2', 'link393')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_stack_fromEnv"></a>f_EPTF_MQTT_stack_fromEnv</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_stack_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>This is the main entry point for the MQTT stack realization of the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link394 onMouseOver="ShowTip(event, 'tt2', 'link394')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a> component that handles messages received from the environment layer (e.g. transport layer)</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_msg</td><td class=CDLDescription><b>inout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link395 onMouseOver="ShowTip(event, 'tt12', 'link395')" onMouseOut="HideTip('tt12')">EPTF_MQTT_PDU</a> - message that enters into the stack (will be modified by the stack)</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link396 onMouseOver="ShowTip(event, 'tt2', 'link396')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_session_fromApp"></a>f_EPTF_MQTT_session_fromApp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_fromApp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>This is the entry point for an MQTT session fsm handling events coming from the application layer (e.g. client/broker FSMs)</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_msg</td><td class=CDLDescription><b>inout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link397 onMouseOver="ShowTip(event, 'tt12', 'link397')" onMouseOut="HideTip('tt12')">EPTF_MQTT_PDU</a> - next transport message to be sent</td></tr><tr><td class=CDLEntry>p_sIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - session index</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link398 onMouseOver="ShowTip(event, 'tt93', 'link398')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p><h4 class=CHeading>FSM Diagram of a MQTT session</h4><p>(see EPTF_MQTT_LGen_Functions.MQTT_Session.jpg)</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_session_fromEnv"></a>f_EPTF_MQTT_session_fromEnv</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>This is the entry point for an MQTT session fsm from the environment layer (e.g. transport layer)</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_msg</td><td class=CDLDescription><b>inout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link399 onMouseOver="ShowTip(event, 'tt12', 'link399')" onMouseOut="HideTip('tt12')">EPTF_MQTT_PDU</a> - transport message received</td></tr><tr><td class=CDLEntry>p_sIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - session index</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link400 onMouseOver="ShowTip(event, 'tt93', 'link400')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p><h4 class=CHeading>FSM Diagram of a MQTT session</h4><p>(see EPTF_MQTT_LGen_Functions.MQTT_Session.jpg)</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_session_keepalive"></a>f_EPTF_MQTT_session_keepalive</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_keepalive(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_ScheduledAction </td><td class="PParameter prettyprint " nowrap width=100%>pl_action,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eventIndex</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Handles the T_keepalive timer event in the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link401 onMouseOver="ShowTip(event, 'tt93', 'link401')" onMouseOut="HideTip('tt93')">MQTT_Session</a> FSM</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_action</td><td class=CDLDescription><b>inout</b> <EPTF_ScheduledAction> - the scheduled action <></td></tr><tr><td class=CDLEntry>pl_eventIndex</td><td class=CDLDescription><b>in</b> <b>integer</b> - eveny index in the scheduler</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*boolean*</td><td class=CDLDescription>true <always></td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link402 onMouseOver="ShowTip(event, 'tt93', 'link402')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_session_startT_keepalive"></a>f_EPTF_MQTT_session_startT_keepalive</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_startT_keepalive(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_sIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>float </td><td class="PParameter prettyprint " nowrap width=100%>pl_time</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Starts the T_keepalive timer for an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link403 onMouseOver="ShowTip(event, 'tt93', 'link403')" onMouseOut="HideTip('tt93')">MQTT_Session</a> FSM</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_sIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - session index (?)</td></tr><tr><td class=CDLEntry>pl_time</td><td class=CDLDescription><b>in</b> <b>float</b> - value of the keepalive timer</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*boolean*</td><td class=CDLDescription>true: succesful , false: 0 or negative timer value</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link404 onMouseOver="ShowTip(event, 'tt93', 'link404')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_session_cancelT_keepalive"></a>f_EPTF_MQTT_session_cancelT_keepalive</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_cancelT_keepalive(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_sessionIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Cancels the T_keepalive timer of an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link405 onMouseOver="ShowTip(event, 'tt93', 'link405')" onMouseOut="HideTip('tt93')">MQTT_Session</a> FSM</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_sessionIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - session index</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link406 onMouseOver="ShowTip(event, 'tt93', 'link406')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_session_getNextPacketId"></a>f_EPTF_MQTT_session_getNextPacketId</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_getNextPacketId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_StepCtx </td><td class="PParameter prettyprint " nowrap width=100%>p_ctx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Sets the value of the packet id field in the next message to be sent in a session</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_ctx</td><td class=CDLDescription><b>in</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_StepCtx" class=LType id=link407 onMouseOver="ShowTip(event, 'tt117', 'link407')" onMouseOut="HideTip('tt117')">MQTT_StepCtx</a> - Pointer of the context embedding the session id.</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*integer*</td><td class=CDLDescription>packet id for the next message</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link408 onMouseOver="ShowTip(event, 'tt93', 'link408')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_session_setState"></a>f_EPTF_MQTT_session_setState</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_setState(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Session_State </td><td class="PParameter prettyprint " nowrap width=100%>p_nextState</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Sets a new state for an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link409 onMouseOver="ShowTip(event, 'tt93', 'link409')" onMouseOut="HideTip('tt93')">MQTT_Session</a> FSM</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sessionIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - index of session</td></tr><tr><td class=CDLEntry>p_nextState</td><td class=CDLDescription><b>in</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_State" class=LType id=link410 onMouseOver="ShowTip(event, 'tt178', 'link410')" onMouseOut="HideTip('tt178')">MQTT_Session_State</a> - new state of the state machine</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link411 onMouseOver="ShowTip(event, 'tt93', 'link411')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_session_send"></a>f_EPTF_MQTT_session_send</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Sends a message to the transort layer with type <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link412 onMouseOver="ShowTip(event, 'tt12', 'link412')" onMouseOut="HideTip('tt12')">EPTF_MQTT_PDU</a> and the provided session index</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sessionIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - session index</td></tr><tr><td class=CDLEntry>p_msg</td><td class=CDLDescription><b>intout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link413 onMouseOver="ShowTip(event, 'tt12', 'link413')" onMouseOut="HideTip('tt12')">EPTF_MQTT_PDU</a> - the message to be sent</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link414 onMouseOver="ShowTip(event, 'tt93', 'link414')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_session_registerSubscription"></a>f_EPTF_MQTT_session_registerSubscription</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_registerSubscription(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Adds a subscription index to an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link415 onMouseOver="ShowTip(event, 'tt93', 'link415')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sessionIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - session index</td></tr><tr><td class=CDLEntry>p_subIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - subscription index to add</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link416 onMouseOver="ShowTip(event, 'tt93', 'link416')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_session_deregisterSubscription"></a>f_EPTF_MQTT_session_deregisterSubscription</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_deregisterSubscription(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Removes a subscription index from <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link417 onMouseOver="ShowTip(event, 'tt93', 'link417')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sessionIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - session index</td></tr><tr><td class=CDLEntry>p_subIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - subscription index to remove</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link418 onMouseOver="ShowTip(event, 'tt93', 'link418')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_session_registerPublish"></a>f_EPTF_MQTT_session_registerPublish</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_registerPublish(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Adds a publish index to an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link419 onMouseOver="ShowTip(event, 'tt93', 'link419')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sessionIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - session index</td></tr><tr><td class=CDLEntry>p_subIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - publish index to add</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link420 onMouseOver="ShowTip(event, 'tt93', 'link420')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_session_deregisterPublish"></a>f_EPTF_MQTT_session_deregisterPublish</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_deregisterPublish(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Removes a publish index from an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link421 onMouseOver="ShowTip(event, 'tt93', 'link421')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sessionIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - session index</td></tr><tr><td class=CDLEntry>p_subIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - publish index to add</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link422 onMouseOver="ShowTip(event, 'tt93', 'link422')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_session_remove"></a>f_EPTF_MQTT_session_remove</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Releases all resources related to an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link423 onMouseOver="ShowTip(event, 'tt93', 'link423')" onMouseOut="HideTip('tt93')">MQTT_Session</a> and removes it from the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=LType id=link424 onMouseOver="ShowTip(event, 'tt55', 'link424')" onMouseOut="HideTip('tt55')">MQTT_Session_DB</a></p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sessionIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - session index</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link425 onMouseOver="ShowTip(event, 'tt93', 'link425')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_subscription_fromSession"></a>f_EPTF_MQTT_subscription_fromSession</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscription_fromSession(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Implements part of the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=LType id=link426 onMouseOver="ShowTip(event, 'tt81', 'link426')" onMouseOut="HideTip('tt81')">MQTT_Subscription</a> FSM that handles the events coming from the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link427 onMouseOver="ShowTip(event, 'tt93', 'link427')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_msg</td><td class=CDLDescription><b>inout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link428 onMouseOver="ShowTip(event, 'tt12', 'link428')" onMouseOut="HideTip('tt12')">EPTF_MQTT_PDU</a> - message that</td></tr><tr><td class=CDLEntry>p_subIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - subscription index</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=LType id=link429 onMouseOver="ShowTip(event, 'tt81', 'link429')" onMouseOut="HideTip('tt81')">MQTT_Subscription</a></p><h4 class=CHeading>FSM Diagram of a MQTT subscription</h4><p>(see EPTF_MQTT_LGen_Functions.MQTT_Subscription.jpg)</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_subscription_fromEnv"></a>f_EPTF_MQTT_subscription_fromEnv</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscription_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Implements part of the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=LType id=link430 onMouseOver="ShowTip(event, 'tt81', 'link430')" onMouseOut="HideTip('tt81')">MQTT_Subscription</a> FSM that handles the events coming from the environment</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_msg</td><td class=CDLDescription><b>inout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link431 onMouseOver="ShowTip(event, 'tt12', 'link431')" onMouseOut="HideTip('tt12')">EPTF_MQTT_PDU</a> - received transport message</td></tr><tr><td class=CDLEntry>p_subIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - subscription index</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=LType id=link432 onMouseOver="ShowTip(event, 'tt81', 'link432')" onMouseOut="HideTip('tt81')">MQTT_Subscription</a></p><h4 class=CHeading>FSM Diagram of a MQTT subscription</h4><p>(see EPTF_MQTT_LGen_Functions.MQTT_Subscription.jpg)</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_subscription_setState"></a>f_EPTF_MQTT_subscription_setState</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscription_setState(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Subscription_State </td><td class="PParameter prettyprint " nowrap width=100%>p_nextState</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Sets a new state of a <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=LType id=link433 onMouseOver="ShowTip(event, 'tt81', 'link433')" onMouseOut="HideTip('tt81')">MQTT_Subscription</a> FSM</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_subIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - subscription index</td></tr><tr><td class=CDLEntry>p_nextState</td><td class=CDLDescription><b>in</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_State" class=LType id=link434 onMouseOver="ShowTip(event, 'tt179', 'link434')" onMouseOut="HideTip('tt179')">MQTT_Subscription_State</a> - new state in the state machine</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=LType id=link435 onMouseOver="ShowTip(event, 'tt81', 'link435')" onMouseOut="HideTip('tt81')">MQTT_Subscription</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_subscription_remove"></a>f_EPTF_MQTT_subscription_remove</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscription_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Removing resources related to <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=LType id=link436 onMouseOver="ShowTip(event, 'tt81', 'link436')" onMouseOut="HideTip('tt81')">MQTT_Subscription</a> FSM</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_subIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - subscription index</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=LType id=link437 onMouseOver="ShowTip(event, 'tt81', 'link437')" onMouseOut="HideTip('tt81')">MQTT_Subscription</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_publish_fromSession"></a>f_EPTF_MQTT_publish_fromSession</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_fromSession(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Handles a publish transaction in case of QoS 1 and QoS 2 fsm requested by the application layer (e.g. client/broker FSMs)</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_msg</td><td class=CDLDescription><b>inout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link438 onMouseOver="ShowTip(event, 'tt12', 'link438')" onMouseOut="HideTip('tt12')">EPTF_MQTT_PDU</a> - transport message</td></tr><tr><td class=CDLEntry>p_pubIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - publish index</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link439 onMouseOver="ShowTip(event, 'tt69', 'link439')" onMouseOut="HideTip('tt69')">MQTT_Publish</a></p><h4 class=CHeading>FSM Diagram of a MQTT publish</h4><p>(see EPTF_MQTT_LGen_Functions.MQTT_Publish_qos1.jpg)</p><p>(see EPTF_MQTT_LGen_Functions.MQTT_Publish_qos2.jpg)</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_publish_fromEnv"></a>f_EPTF_MQTT_publish_fromEnv</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Handles PUBLISH and publish response (PUB REC/PUB REL/PUB COMP) messages received from the peer (i.e. from transport layer) based on its QoS and originator</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_msg</td><td class=CDLDescription><b>inout</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link440 onMouseOver="ShowTip(event, 'tt12', 'link440')" onMouseOut="HideTip('tt12')">EPTF_MQTT_PDU</a> - received transport message</td></tr><tr><td class=CDLEntry>p_pubIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - publish index</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link441 onMouseOver="ShowTip(event, 'tt69', 'link441')" onMouseOut="HideTip('tt69')">MQTT_Publish</a></p><h4 class=CHeading>FSM Diagram of a MQTT publish</h4><p>(see EPTF_MQTT_LGen_Functions.MQTT_Publish_qos1.jpg)</p><p>(see EPTF_MQTT_LGen_Functions.MQTT_Publish_qos2.jpg)</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_publish_watchdog"></a>f_EPTF_MQTT_publish_watchdog</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_watchdog(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_ScheduledAction </td><td class="PParameter prettyprint " nowrap width=100%>pl_action,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eventIndex</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Handles the T_watchdog event in the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link442 onMouseOver="ShowTip(event, 'tt69', 'link442')" onMouseOut="HideTip('tt69')">MQTT_Publish</a> FSM</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_action</td><td class=CDLDescription><b>in</b> <EPTF_ScheduledAction> - scheduled action</td></tr><tr><td class=CDLEntry>pl_eventIndex</td><td class=CDLDescription><b>in</b> <b>integer</b> - event index</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*boolean*</td><td class=CDLDescription>true <always></td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link443 onMouseOver="ShowTip(event, 'tt69', 'link443')" onMouseOut="HideTip('tt69')">MQTT_Publish</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_publish_startT_watchdog"></a>f_EPTF_MQTT_publish_startT_watchdog</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_startT_watchdog(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_pIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>float </td><td class="PParameter prettyprint " nowrap width=100%>pl_time</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Start a T_watchdog timer in the <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link444 onMouseOver="ShowTip(event, 'tt69', 'link444')" onMouseOut="HideTip('tt69')">MQTT_Publish</a> FSM</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_pIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - publish transaction index</td></tr><tr><td class=CDLEntry>pl_time</td><td class=CDLDescription><b>in</b> <b>float</b> - time from now when the action takes place</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*boolean*</td><td class=CDLDescription>true: action scheduled , false: 0 or negative timer value is passed</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link445 onMouseOver="ShowTip(event, 'tt69', 'link445')" onMouseOut="HideTip('tt69')">MQTT_Publish</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_publish_setState"></a>f_EPTF_MQTT_publish_setState</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_setState(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Publish_State </td><td class="PParameter prettyprint " nowrap width=100%>p_nextState</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Sets the new state of a <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link446 onMouseOver="ShowTip(event, 'tt69', 'link446')" onMouseOut="HideTip('tt69')">MQTT_Publish</a> FSM</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_pubIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - index of the publish FSM in publishDB</td></tr><tr><td class=CDLEntry>p_nextState</td><td class=CDLDescription><b>in</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_State" class=LType id=link447 onMouseOver="ShowTip(event, 'tt180', 'link447')" onMouseOut="HideTip('tt180')">MQTT_Publish_State</a> - new state of the state machine</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link448 onMouseOver="ShowTip(event, 'tt69', 'link448')" onMouseOut="HideTip('tt69')">MQTT_Publish</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_publish_cancelT_watchdog"></a>f_EPTF_MQTT_publish_cancelT_watchdog</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_cancelT_watchdog(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_publishIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Cancels the T_watchdog timer of an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link449 onMouseOver="ShowTip(event, 'tt69', 'link449')" onMouseOut="HideTip('tt69')">MQTT_Publish</a> FSM</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_publishIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - index of the publish FSM in publishDB</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link450 onMouseOver="ShowTip(event, 'tt69', 'link450')" onMouseOut="HideTip('tt69')">MQTT_Publish</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_publish_remove"></a>f_EPTF_MQTT_publish_remove</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Releaseing resources of an <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link451 onMouseOver="ShowTip(event, 'tt69', 'link451')" onMouseOut="HideTip('tt69')">MQTT_Publish</a> FSM</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_pubIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - publish index</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=LType id=link452 onMouseOver="ShowTip(event, 'tt69', 'link452')" onMouseOut="HideTip('tt69')">MQTT_Publish</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_setStepCtx"></a>f_EPTF_MQTT_setStepCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_setStepCtx(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_StepCtx </td><td class="PParameter prettyprint " nowrap width=100%>p_ctx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Sets the entity and FSM indexes in the MQTT step context</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_ptr</td><td class=CDLDescription><b>in</b> <EPTF_LGenBase_TestStepArgs> - test step args</td></tr><tr><td class=CDLEntry>p_ctx</td><td class=CDLDescription><b>inout</b> <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_StepCtx" class=LType id=link453 onMouseOver="ShowTip(event, 'tt117', 'link453')" onMouseOut="HideTip('tt117')">MQTT_StepCtx</a> - returns MQTT step context</td></tr></table><h4 class=CHeading>Return Type</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*boolean*</td><td class=CDLDescription>was the operation successful?</td></tr></table><h4 class=CHeading>Related Function</h4><p><a href="#f_MQTT_step_init" class=LFunction id=link454 onMouseOver="ShowTip(event, 'tt19', 'link454')" onMouseOut="HideTip('tt19')">f_MQTT_step_init</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_setCtx"></a>f_EPTF_MQTT_setCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_setCtx(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_eIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_fsmIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_StepCtx </td><td class="PParameter prettyprint " nowrap width=100%>p_ctx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Sets the instance pointers of <a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_StepCtx" class=LType id=link455 onMouseOver="ShowTip(event, 'tt117', 'link455')" onMouseOut="HideTip('tt117')">MQTT_StepCtx</a> to the related instances of a simulated device (entity) and FSM</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_eIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - entity index</td></tr><tr><td class=CDLEntry>p_fsmIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - FSM index</td></tr><tr><td class=CDLEntry>p_ctx</td><td class=CDLDescription><b>inout</b> MQTT_StepCtx - returned context value</td></tr></table><h4 class=CHeading>Related Functions</h4><p><a href="#f_MQTT_step_init" class=LFunction id=link456 onMouseOver="ShowTip(event, 'tt19', 'link456')" onMouseOut="HideTip('tt19')">f_MQTT_step_init</a></p><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_StepCtx" class=LType id=link457 onMouseOver="ShowTip(event, 'tt117', 'link457')" onMouseOut="HideTip('tt117')">MQTT_StepCtx</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_isFsmInitialized"></a>f_EPTF_MQTT_isFsmInitialized</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_isFsmInitialized(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_fsmIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_sessionIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Checks if an FSM instance has already been initialized</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_eIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - entity index</td></tr><tr><td class=CDLEntry>p_fsmIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - FSM index</td></tr><tr><td class=CDLEntry>pl_sessionIdx</td><td class=CDLDescription><b>inout</b> <b>integer</b> - returns session index if initialized, -1 if not</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>boolean</td><td class=CDLDescription>true: initialized, false: not initialized</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=LType id=link458 onMouseOver="ShowTip(event, 'tt93', 'link458')" onMouseOut="HideTip('tt93')">MQTT_Session</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_getIntValue"></a>f_EPTF_MQTT_getIntValue</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_getIntValue(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_IntegerList </td><td class="PParameter prettyprint " nowrap width=100%>pl_intList,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_number,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_value</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Retreives an element of an <EPTF_IntegerList> if it exists</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_intList</td><td class=CDLDescription><b>in</b> <EPTF_IntegerList> - list of integers</td></tr><tr><td class=CDLEntry>pl_number</td><td class=CDLDescription><b>in</b> <b>integer</b> - index of the integer to be retrieved</td></tr><tr><td class=CDLEntry>pl_value</td><td class=CDLDescription><b>inout</b> <b>integer</b> - returns the value of the retrieved integer</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*boolean*</td><td class=CDLDescription>true if the element exists in the integer list</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_Logging_VERBOSE"></a>f_EPTF_MQTT_Logging_VERBOSE</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_VERBOSE(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Logging functions for the VERBOSE log level</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_message</td><td class=CDLDescription><b>in</b> <b>charstring</b> - string to be logged</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link459 onMouseOver="ShowTip(event, 'tt2', 'link459')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_Logging_DEBUG"></a>f_EPTF_MQTT_Logging_DEBUG</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_DEBUG(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Logging functions for the DEBUG log level</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_message</td><td class=CDLDescription><b>in</b> <b>charstring</b> - string to be logged</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link460 onMouseOver="ShowTip(event, 'tt2', 'link460')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_Logging_WARNING"></a>f_EPTF_MQTT_Logging_WARNING</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_WARNING(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Logging functions for the WARNING log level</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_message</td><td class=CDLDescription><b>in</b> <b>charstring</b> - string to be logged</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link461 onMouseOver="ShowTip(event, 'tt2', 'link461')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_Logging_ERROR"></a>f_EPTF_MQTT_Logging_ERROR</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_ERROR(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Logging functions for the ERROR log level</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_message</td><td class=CDLDescription><b>in</b> <b>charstring</b> - string to be logged</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link462 onMouseOver="ShowTip(event, 'tt2', 'link462')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_dispatchEvent"></a>f_EPTF_MQTT_dispatchEvent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_dispatchEvent(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eventIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_fsmCtx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_IntegerList </td><td class="PParameter prettyprint " nowrap width=100%>pl_reportedArgs</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Dispatches events to an entity/fsm</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_eventIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - index of the event</td></tr><tr><td class=CDLEntry>pl_eIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the index of the entity</td></tr><tr><td class=CDLEntry>pl_fsmCtx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the index of FSM</td></tr><tr><td class=CDLEntry>pl_reportedArgs</td><td class=CDLDescription><b>in</b> <EPTF_IntegerList> - additional arguments to be reported to the entity/FSM</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link463 onMouseOver="ShowTip(event, 'tt2', 'link463')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_qos_int2enum"></a>f_EPTF_MQTT_qos_int2enum</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_qos_int2enum(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap>p_qos</td><td class="PAfterParameters prettyprint "nowrap>) return QoS</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Converts the integer value of QoS to its enumerated value</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_qos</td><td class=CDLDescription><b>in</b> <b>integer</b> - integer QoS value</td></tr></table><h4 class=CHeading>Return Type</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><QoS></td><td class=CDLDescription>enumerated value of the input QoS</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link464 onMouseOver="ShowTip(event, 'tt2', 'link464')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_publishResponseType"></a>f_EPTF_MQTT_publishResponseType</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishResponseType(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_v3_1_1_ReqResp </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Checks if an MQTT message is a response to a PUBLISH</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_msg</td><td class=CDLDescription><b>in</b> <MQTT_v3_1_1_ReqResp> - the MQTT message to be checked</td></tr></table><h4 class=CHeading>Return Type</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*boolean*</td><td class=CDLDescription>true: message is a publish response type message</td></tr></table><h4 class=CHeading>Related Types</h4><p><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=LType id=link465 onMouseOver="ShowTip(event, 'tt2', 'link465')" onMouseOut="HideTip('tt2')">EPTF_MQTT_LGen_CT</a></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_publishResponsePacketId"></a>f_EPTF_MQTT_publishResponsePacketId</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishResponsePacketId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_v3_1_1_ReqResp </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return integer</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Get the packet identifier of an MQTT message, if it is a response to a PUBLISH</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_msg</td><td class=CDLDescription><b>in</b> <MQTT_v3_1_1_ReqResp> - the input MQTT message</td></tr></table><h4 class=CHeading>Return Type</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*integer*</td><td class=CDLDescription>Packet identifier value if the message was of a PUBLISH response type, -1 in other cases</td></tr></table></div></div></div>
+
+</div><!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_LGen_init(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap>pl_name</td><td class="PAfterParameters prettyprint "nowrap>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The main initialization function for the EPTF_MQTT_LGen_CT component type</div></div><div class=CToolTip id="tt2"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type component EPTF_MQTT_LGen_CT extends EPTF_MQTT_Transport_User_CT, EPTF_LGenBase_CT, EPTF_Logging_CT</td></tr></table></blockquote>MQTT load generator component</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LGen_initLogging() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializing CLL’s logging feature on the EPTF_MQTT_LGen_CT component type</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_MQTT_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>The main clean up function for the EPTF_MQTT_LGen_CT component type</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_eCtxBind(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return EPTF_IntegerList</td></tr></table></td></tr></table></blockquote>This function is called by the CLL for each entity instance created on a particular instace of EPTF_MQTT_LGen_CT</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_MQTT_eCtxUnbind(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap>pl_eIdx</td><td class="PAfterParameters prettyprint "nowrap>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The reverse operation of f_MQTT_eCtxBind. </div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_MQTT_eCtxReset(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap>pl_eIdx</td><td class="PAfterParameters prettyprint "nowrap>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The resources reserved during f_MQTT_eCtxBind are reinitalized (reset). </div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_declareEvents() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Declares the FSM events to the CLL framework implemented by EPTF_MQTT_LGen_CT</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_declareSteps() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Declares the FSM steps to the CLL framework implemented by EPTF_MQTT_LGen_CT</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_receiveMessage(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The transport layer implementation EPTF_MQTT_Transport_Provider_CT can report received EPTF_MQTT_PDU message to the load generator layer EPTF_MQTT_Transport_User_CT extended by EPTF_MQTT_LGen_CT using this function.</div></div><div class=CToolTip id="tt11"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type component EPTF_MQTT_Transport_Provider_CT</td></tr></table></blockquote>Base component type for a MQTT transport realization, declares variables to register the transport user functions</div></div><div class=CToolTip id="tt12"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_PDU</td></tr></table></blockquote>Encapsulates a MQTT PDU with the corresponding entity (and FSM) indices and transport information</div></div><div class=CToolTip id="tt13"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type component EPTF_MQTT_Transport_User_CT</td></tr></table></blockquote>Base component type for a MQTT transport user realization</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_receiveEvent(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>ASP_Event </td><td class="PParameter prettyprint " nowrap width=100%>p_event</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The transport layer implementation EPTF_MQTT_Transport_Provider_CT can report received ASP_Event events to the load generator layer EPTF_MQTT_Transport_User_CT extended by EPTF_MQTT_LGen_CT using this function.</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_transportApiResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Response </td><td class="PParameter prettyprint " nowrap width=100%>pl_rsp</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The transport layer implementation EPTF_MQTT_Transport_Provider_CT can report received EPTF_MQTT_Transport_Response responses to the load generator layer EPTF_MQTT_Transport_User_CT extended by EPTF_MQTT_LGen_CT using this function.</div></div><div class=CToolTip id="tt16"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_Response</td></tr></table></blockquote>Type for transport response</div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This function is used to send out a message of a EPTF_MQTT_PDU using the registered function fcb_EPTF_MQTT_Transport_sendMessage of the underlying transport layer instance.</div></div><div class=CToolTip id="tt18"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_sendMessage(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for sending a EPTF_MQTT_PDU MQTT message</div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_init(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test Step to dynamically allocate and initialize the MQTT FSM context for the caller FSM. </div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_cleanUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test Step to free up the MQTT FSM context for the caller FSM. </div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setLocalAddress_byVars(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the local address in the entity context.</div></div><div class=CToolTip id="tt22"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setRemoteAddress_byVars(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the remote address in the FSM context.</div></div><div class=CToolTip id="tt23"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_startListening(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The test step expects that a transport endpoint is set in the addressDB as a local address. </div></div><div class=CToolTip id="tt24"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_transportConnect(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The test step expects that local and remote socket adresses are set in the addressDB. </div></div><div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_transportClose(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The test step expects that a transport endpoint is set in the addressDB as a local address. </div></div><div class=CToolTip id="tt26"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_loadTemplate_byIntIdx(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to load a MQTT_Template from tsp_EPTF_MQTT_LGen_templates into <b>v_MQTT_msgToSend</b> (which can be sent using the send test step) by its integer index in test step args.</div></div><div class=CToolTip id="tt27"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Template</td></tr></table></blockquote>Grouping a MQTT_v3_1_1_ReqResp with an id</div></div><div class=CToolTip id="tt28"><div class=CModuleParameter>MQTT message template definitions for sending</div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_loadTemplate_byStringId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to load a MQTT_Template from tsp_EPTF_MQTT_LGen_templates into <b>v_MQTT_msgToSend</b> (which can be sent using the send test step) by its string Id.</div></div><div class=CToolTip id="tt30"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the string value referred by the test step argument as the topic of the first subscription entry in SUBSCRIBE and PUBLISH messages.</div></div><div class=CToolTip id="tt31"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_add_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add the string value referred by the test step argument to the topic of the first subscription entry in SUBSCRIBE and PUBLISH messages.</div></div><div class=CToolTip id="tt32"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_add_varParams(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add the string value of variables referred by the test step argument to the topic of the first subscription entry in SUBSCRIBE and PUBLISH messages.</div></div><div class=CToolTip id="tt33"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_add_clientId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add client ID in the current session to the topic in the first subscription in SUBSCRIBE and to PUBLISH message.</div></div><div class=CToolTip id="tt34"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setQos_intParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the QoS level in SUBSCRIBE and PUBLISH messages using test step arguments</div></div><div class=CToolTip id="tt35"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the content of the payload in PUBLISH message.</div></div><div class=CToolTip id="tt36"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_add_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to concatenate a string to the content of the PUBLISH message</div></div><div class=CToolTip id="tt37"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_add_varParams(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add the content of a set of variables to the payload of a PUBLISH message.</div></div><div class=CToolTip id="tt38"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_add_clientId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add client ID of the current session to the payload of a PUBLISH message.</div></div><div class=CToolTip id="tt39"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_reportPingResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the report ping response to enable/disable using using step arguments.</div></div><div class=CToolTip id="tt40"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_reportPublishResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the report publish response to enable/disable using step arguments</div></div><div class=CToolTip id="tt41"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to send out an MQTT message from <b>v_MQTT_msgToSend</b>. </div></div><div class=CToolTip id="tt42"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_addressDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Function to initialize the addressDB</div></div><div class=CToolTip id="tt43"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_addressDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Function to clean up the address database and release its resources</div></div><div class=CToolTip id="tt44"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_addressDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_addr,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Add a socket address to the addressDB and return its index if no such entry yet, or return its index if already exists</div></div><div class=CToolTip id="tt45"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_addressDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_addr,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Get a socket address from the addressDB by its index</div></div><div class=CToolTip id="tt46"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_addressDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Get the index of a socket entry in addressDB</div></div><div class=CToolTip id="tt47"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_addressDB_Socket2String(</td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap>p_sock</td><td class="PAfterParameters prettyprint "nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a socket address in Socket type format to the string format “IP address:<port number>” to be used as hash key</div></div><div class=CToolTip id="tt48"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_templateDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_templateDB</b> MQTT_Template_DB database by adding the templates given in tsp_EPTF_MQTT_LGen_templates</div></div><div class=CToolTip id="tt49"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Template_DB</td></tr></table></blockquote>Storing MQTT_Template instances</div></div><div class=CToolTip id="tt50"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_templateDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Template </td><td class="PParameter prettyprint " nowrap width=100%>p_template</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_templateDB</b> MQTT_Template_DB database</div></div><div class=CToolTip id="tt51"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_templateDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>p_id</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an MQTT_Template element in <b>v_MQTT_templateDB</b> MQTT_Template_DB database</div></div><div class=CToolTip id="tt52"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_templateDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_v3_1_1_ReqResp </td><td class="PParameter prettyprint " nowrap width=100%>p_pdu</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Retrieves an element from the <b>v_MQTT_templateDB</b> MQTT_Template_DB database</div></div><div class=CToolTip id="tt53"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_templateDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_templateDB</b> MQTT_Template_DB database</div></div><div class=CToolTip id="tt54"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_sessionDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database and adds its hash to <b>v_MQTT_sessionDB.hashRef</b></div></div><div class=CToolTip id="tt55"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Session_DB</td></tr></table></blockquote>Storing MQTT_Session instances</div></div><div class=CToolTip id="tt56"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_sessionDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database</div></div><div class=CToolTip id="tt57"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Session </td><td class="PParameter prettyprint " nowrap width=100%>p_session</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database</div></div><div class=CToolTip id="tt58"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_setKey(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sets the hash of the local socket address of a session by the session index</div></div><div class=CToolTip id="tt59"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of a session in <b>v_MQTT_sessionDB</b> MQTT_Session_DB database by its socket address</div></div><div class=CToolTip id="tt60"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_Session </td><td class="PParameter prettyprint " nowrap width=100%>p_session</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Retrieves a session’s data from the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database</div></div><div class=CToolTip id="tt61"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_check(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks if a session element exists in the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database</div></div><div class=CToolTip id="tt62"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes an element from the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database and releases its resources</div></div><div class=CToolTip id="tt63"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_sessionDB_addrHash(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap>p_sock</td><td class="PAfterParameters prettyprint "nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a socket address in Socket type format to the string format “IP address:<port number>” to be used as a hash key</div></div><div class=CToolTip id="tt64"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_publishDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database and creates its hashmap</div></div><div class=CToolTip id="tt65"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Publish_DB</td></tr></table></blockquote>Storing MQTT_Publish instances</div></div><div class=CToolTip id="tt66"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_publishDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt67"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Publish </td><td class="PParameter prettyprint " nowrap width=100%>p_pub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt68"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an MQTT_Publish element in <b>v_MQTT_publishDB</b> MQTT_Publish_DB database by its session and packet id-s</div></div><div class=CToolTip id="tt69"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Publish</td></tr></table></blockquote>Models an MQTT publish</div></div><div class=CToolTip id="tt70"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_Publish </td><td class="PParameter prettyprint " nowrap width=100%>p_pub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Retrieves an element from the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt71"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_check(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks if an element exists in the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt72"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes an element from the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt73"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_packetIdHash(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a pair of session ID & packet ID to the string format “session_sessionId:id_packetId” to be used as a hash key</div></div><div class=CToolTip id="tt74"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_subscriptionDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt75"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Subscription_DB</td></tr></table></blockquote>Storing MQTT_Subscription instances</div></div><div class=CToolTip id="tt76"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_subscriptionDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt77"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Subscription </td><td class="PParameter prettyprint " nowrap width=100%>p_sub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt78"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_setKey_packetId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Insert an integer element to the subscription hashmap, key is composed from session ID and packet ID</div></div><div class=CToolTip id="tt79"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_removeKey_packetId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes the element from the subscription hashmap identified by its session ID and packet ID</div></div><div class=CToolTip id="tt80"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_lookUp_packetId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an MQTT_Subscription element in <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database by a session ID and packet ID</div></div><div class=CToolTip id="tt81"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Subscription</td></tr></table></blockquote>Models an MQTT subscription</div></div><div class=CToolTip id="tt82"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_lookUp_topicName(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>p_topicName</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an MQTT_Subscription element in <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database by a session ID and packet ID</div></div><div class=CToolTip id="tt83"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_Subscription </td><td class="PParameter prettyprint " nowrap width=100%>p_sub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Retrieves an element from the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt84"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_check(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks if an element at an index exists the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt85"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes an element from the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt86"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_packetIdHash(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a pair of session ID & packet ID to the string format “session_sessionId:id_packetId” to be used as hash key</div></div><div class=CToolTip id="tt87"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_topicHash(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>p_topic</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a pair of session ID & topic to the string format “session_sessionId:topic_topic” to be used as hash key</div></div><div class=CToolTip id="tt88"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_stack_fromApp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_StepCtx </td><td class="PParameter prettyprint " nowrap width=100%>p_ctx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This is the main entry point for the MQTT stack realization of the EPTF_MQTT_LGen_CT component that handles messages received from the application layer (e.g. </div></div><div class=CToolTip id="tt89"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_stack_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This is the main entry point for the MQTT stack realization of the EPTF_MQTT_LGen_CT component that handles messages received from the environment layer (e.g. </div></div><div class=CToolTip id="tt90"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_fromApp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This is the entry point for an MQTT session fsm handling events coming from the application layer (e.g. </div></div><div class=CToolTip id="tt91"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This is the entry point for an MQTT session fsm from the environment layer (e.g. </div></div><div class=CToolTip id="tt92"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_keepalive(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_ScheduledAction </td><td class="PParameter prettyprint " nowrap width=100%>pl_action,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eventIndex</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Handles the T_keepalive timer event in the MQTT_Session FSM</div></div><div class=CToolTip id="tt93"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Session</td></tr></table></blockquote>Models and MQTT session</div></div><div class=CToolTip id="tt94"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_startT_keepalive(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_sIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>float </td><td class="PParameter prettyprint " nowrap width=100%>pl_time</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Starts the T_keepalive timer for an MQTT_Session FSM</div></div><div class=CToolTip id="tt95"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_cancelT_keepalive(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_sessionIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Cancels the T_keepalive timer of an MQTT_Session FSM</div></div><div class=CToolTip id="tt96"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_getNextPacketId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_StepCtx </td><td class="PParameter prettyprint " nowrap width=100%>p_ctx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Sets the value of the packet id field in the next message to be sent in a session</div></div><div class=CToolTip id="tt97"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_setState(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Session_State </td><td class="PParameter prettyprint " nowrap width=100%>p_nextState</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sets a new state for an MQTT_Session FSM</div></div><div class=CToolTip id="tt98"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sends a message to the transort layer with type EPTF_MQTT_PDU and the provided session index</div></div><div class=CToolTip id="tt99"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_registerSubscription(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Adds a subscription index to an MQTT_Session</div></div><div class=CToolTip id="tt100"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_deregisterSubscription(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes a subscription index from MQTT_Session</div></div><div class=CToolTip id="tt101"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_registerPublish(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Adds a publish index to an MQTT_Session</div></div><div class=CToolTip id="tt102"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_deregisterPublish(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes a publish index from an MQTT_Session</div></div><div class=CToolTip id="tt103"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Releases all resources related to an MQTT_Session and removes it from the MQTT_Session_DB</div></div><div class=CToolTip id="tt104"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscription_fromSession(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Implements part of the MQTT_Subscription FSM that handles the events coming from the MQTT_Session</div></div><div class=CToolTip id="tt105"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscription_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Implements part of the MQTT_Subscription FSM that handles the events coming from the environment</div></div><div class=CToolTip id="tt106"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscription_setState(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Subscription_State </td><td class="PParameter prettyprint " nowrap width=100%>p_nextState</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sets a new state of a MQTT_Subscription FSM</div></div><div class=CToolTip id="tt107"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscription_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removing resources related to MQTT_Subscription FSM</div></div><div class=CToolTip id="tt108"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_fromSession(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Handles a publish transaction in case of QoS 1 and QoS 2 fsm requested by the application layer (e.g. </div></div><div class=CToolTip id="tt109"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Handles PUBLISH and publish response (PUB REC/PUB REL/PUB COMP) messages received from the peer (i.e. </div></div><div class=CToolTip id="tt110"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_watchdog(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_ScheduledAction </td><td class="PParameter prettyprint " nowrap width=100%>pl_action,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eventIndex</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Handles the T_watchdog event in the MQTT_Publish FSM</div></div><div class=CToolTip id="tt111"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_startT_watchdog(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_pIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>float </td><td class="PParameter prettyprint " nowrap width=100%>pl_time</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Start a T_watchdog timer in the MQTT_Publish FSM</div></div><div class=CToolTip id="tt112"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_setState(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Publish_State </td><td class="PParameter prettyprint " nowrap width=100%>p_nextState</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sets the new state of a MQTT_Publish FSM</div></div><div class=CToolTip id="tt113"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_cancelT_watchdog(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_publishIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Cancels the T_watchdog timer of an MQTT_Publish FSM</div></div><div class=CToolTip id="tt114"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Releaseing resources of an MQTT_Publish FSM</div></div><div class=CToolTip id="tt115"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_setStepCtx(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_StepCtx </td><td class="PParameter prettyprint " nowrap width=100%>p_ctx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Sets the entity and FSM indexes in the MQTT step context</div></div><div class=CToolTip id="tt116"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_setCtx(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_eIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_fsmIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_StepCtx </td><td class="PParameter prettyprint " nowrap width=100%>p_ctx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Sets the instance pointers of MQTT_StepCtx to the related instances of a simulated device (entity) and FSM</div></div><div class=CToolTip id="tt117"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_StepCtx</td></tr></table></blockquote>Type that stores the most important pointers</div></div><div class=CToolTip id="tt118"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_isFsmInitialized(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_fsmIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_sessionIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks if an FSM instance has already been initialized</div></div><div class=CToolTip id="tt119"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_getIntValue(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_IntegerList </td><td class="PParameter prettyprint " nowrap width=100%>pl_intList,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_number,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_value</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return boolean</td></tr></table></td></tr></table></blockquote>Retreives an element of an EPTF_IntegerList if it exists</div></div><div class=CToolTip id="tt120"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_VERBOSE(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the VERBOSE log level</div></div><div class=CToolTip id="tt121"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_DEBUG(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the DEBUG log level</div></div><div class=CToolTip id="tt122"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_WARNING(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the WARNING log level</div></div><div class=CToolTip id="tt123"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_ERROR(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the ERROR log level</div></div><div class=CToolTip id="tt124"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_dispatchEvent(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eventIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_fsmCtx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_IntegerList </td><td class="PParameter prettyprint " nowrap width=100%>pl_reportedArgs</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Dispatches events to an entity/fsm</div></div><div class=CToolTip id="tt125"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_qos_int2enum(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap>p_qos</td><td class="PAfterParameters prettyprint "nowrap>) return QoS</td></tr></table></td></tr></table></blockquote>Converts the integer value of QoS to its enumerated value</div></div><div class=CToolTip id="tt126"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishResponseType(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_v3_1_1_ReqResp </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return boolean</td></tr></table></td></tr></table></blockquote>Checks if an MQTT message is a response to a PUBLISH</div></div><div class=CToolTip id="tt127"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishResponsePacketId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_v3_1_1_ReqResp </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>Get the packet identifier of an MQTT message, if it is a response to a PUBLISH</div></div><div class=CToolTip id="tt128"><div class=CFile>This module contains the definitions for the MQTT load generator component</div></div><div class=CToolTip id="tt129"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_receiveMessage(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for reporting received EPTF_MQTT_PDU MQTT message</div></div><div class=CToolTip id="tt130"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_receiveEvent(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>ASP_Event </td><td class="PParameter prettyprint " nowrap width=100%>p_event</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for reporting received ASP_Event MQTT event</div></div><div class=CToolTip id="tt131"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_apiResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Response </td><td class="PParameter prettyprint " nowrap width=100%>pl_rsp</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for reporting a EPTF_MQTT_Transport_Response MQTT transport response</div></div><div class=CToolTip id="tt132"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_init := 0</td></tr></table></blockquote>Integer constant for the MQTT init test step</div></div><div class=CToolTip id="tt133"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_init := "MQTT Applib: init"</td></tr></table></blockquote>Charstring constant for the MQTT init test step</div></div><div class=CToolTip id="tt134"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_cleanUp := 1</td></tr></table></blockquote>Integer constant for the MQTT clean up test step</div></div><div class=CToolTip id="tt135"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_cleanUp := "MQTT Applib: cleanUp"</td></tr></table></blockquote>Charstring constant for the MQTT clean up test step</div></div><div class=CToolTip id="tt136"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setLocalAddress_byVars := 2</td></tr></table></blockquote>Integer constant for the MQTT set local address by variables test step</div></div><div class=CToolTip id="tt137"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setLocalAddress_byVars := "MQTT Applib: setLocalAddress_byVars"</td></tr></table></blockquote>Integer constant for the MQTT set local address by variables test step</div></div><div class=CToolTip id="tt138"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setRemoteAddress_byVars := 3</td></tr></table></blockquote>Integer constant for the MQTT set remote address by variables test step</div></div><div class=CToolTip id="tt139"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setRemoteAddress_byVars := "MQTT Applib: setRemoteAddress_byVars"</td></tr></table></blockquote>Integer constant for the MQTT set remote address by variables test step</div></div><div class=CToolTip id="tt140"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_startListening := 6</td></tr></table></blockquote>Integer constant for the MQTT start listening test step</div></div><div class=CToolTip id="tt141"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_startListening := "MQTT Applib: startListening"</td></tr></table></blockquote>Charstring constant for the MQTT start listening test step</div></div><div class=CToolTip id="tt142"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_apiRequest(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Request </td><td class="PParameter prettyprint " nowrap width=100%>pl_req</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for sending a EPTF_MQTT_Transport_Request MQTT transport request</div></div><div class=CToolTip id="tt143"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_transportConnect := 4</td></tr></table></blockquote>Integer constant for the MQTT transport connect test step</div></div><div class=CToolTip id="tt144"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_transportConnect := "MQTT Applib: transportConnect"</td></tr></table></blockquote>Charstring constant for the MQTT transport connect test step</div></div><div class=CToolTip id="tt145"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_transportSucc := 0</td></tr></table></blockquote>Integer constant for the MQTT transport succesful indication</div></div><div class=CToolTip id="tt146"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_transportFail := 1</td></tr></table></blockquote>Integer constant for the MQTT transport fail indication</div></div><div class=CToolTip id="tt147"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_transportClose := 5</td></tr></table></blockquote>Integer constant for the MQTT transport close test step</div></div><div class=CToolTip id="tt148"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_transportClose := "MQTT Applib: transportClose"</td></tr></table></blockquote>Charstring constant for the MQTT transport close test step</div></div><div class=CToolTip id="tt149"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_loadTemplate_byIntIdx := 7</td></tr></table></blockquote>Integer constant for the MQTT load template by integer idx pointer test step</div></div><div class=CToolTip id="tt150"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_loadTemplate_byIntIdx := "MQTT Applib: loadTemplate_byIntIdx"</td></tr></table></blockquote>Charstring constant for the MQTT load template by integer idx pointer test step</div></div><div class=CToolTip id="tt151"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_loadTemplate_byStringId := 8</td></tr></table></blockquote>Integer constant for the MQTT load template by string id test step</div></div><div class=CToolTip id="tt152"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_loadTemplate_byStringId := "MQTT Applib: loadTemplate_byStringId"</td></tr></table></blockquote>Charstring constant for the MQTT load template by string id test step</div></div><div class=CToolTip id="tt153"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_stringParam := 10</td></tr></table></blockquote>Integer constant for the MQTT set topic by string parameter test step</div></div><div class=CToolTip id="tt154"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_stringParam := "MQTT Applib: setTopic_stringParam"</td></tr></table></blockquote>Charstring constant for the MQTT set topic by string parameter test step</div></div><div class=CToolTip id="tt155"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_add_stringParam := 11</td></tr></table></blockquote>Integer constant for the MQTT set topic by adding a string test step</div></div><div class=CToolTip id="tt156"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_add_stringParam := "MQTT Applib: setTopic_add_stringParam"</td></tr></table></blockquote>Charstring constant for the MQTT set topic by adding a string test step</div></div><div class=CToolTip id="tt157"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_add_varParams := 12</td></tr></table></blockquote>Integer constant for the MQTT set topic by adding variable parameters test step</div></div><div class=CToolTip id="tt158"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_add_varParams := "MQTT Applib: setTopic_add_varParams"</td></tr></table></blockquote>Charstring constant for the MQTT set topic by adding variable parameters test step</div></div><div class=CToolTip id="tt159"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_add_clientId := 13</td></tr></table></blockquote>Integer constant for the MQTT set topic by adding the client id test step</div></div><div class=CToolTip id="tt160"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_add_clientId := "MQTT Applib: setTopic_add_clientId"</td></tr></table></blockquote>Charstring constant for the MQTT set topic by adding the client id test step</div></div><div class=CToolTip id="tt161"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setQos_intParam := 14</td></tr></table></blockquote>Integer constant for the MQTT set QoS using integer parameter test step</div></div><div class=CToolTip id="tt162"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setQos_intParam := "MQTT Applib: setQos_intParam"</td></tr></table></blockquote>Charstring constant for the MQTT set QoS using integer parameter test step</div></div><div class=CToolTip id="tt163"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_stringParam := 15</td></tr></table></blockquote>Integer constant for the MQTT set publish message using a string parameter test step</div></div><div class=CToolTip id="tt164"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_stringParam := "MQTT Applib: setPublishMessage_stringParam"</td></tr></table></blockquote>Charstring constant for the MQTT set publish message using a string parameter test step</div></div><div class=CToolTip id="tt165"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_add_stringParam := 16</td></tr></table></blockquote>Integer constant for the MQTT set publish by adding a string parameter test step</div></div><div class=CToolTip id="tt166"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_add_stringParam := "MQTT Applib: setPublishMessage_add_stringParam"</td></tr></table></blockquote>Charstring constant for the MQTT set publish by adding a string parameter test step</div></div><div class=CToolTip id="tt167"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_add_varParams := 17</td></tr></table></blockquote>Integer constant for the MQTT set publish by adding variable parameters test step</div></div><div class=CToolTip id="tt168"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_add_varParams := "MQTT Applib: setPublishMessage_add_varParams"</td></tr></table></blockquote>Charstring constant for the MQTT set publish by adding variable parameters test step</div></div><div class=CToolTip id="tt169"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_add_clientId := 18</td></tr></table></blockquote>Integer constant for the MQTT set publish by adding the client id test step</div></div><div class=CToolTip id="tt170"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_add_clientId := "MQTT Applib: setPublishMessage_add_clientId"</td></tr></table></blockquote>Charstring constant for the MQTT set publish by adding the client id test step</div></div><div class=CToolTip id="tt171"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_reportPingResponse := 19</td></tr></table></blockquote>Integer constant for the MQTT enabling/disabling the reporting of a ping response test step</div></div><div class=CToolTip id="tt172"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_reportPingResponse := "MQTT Applib: reportPingResponse"</td></tr></table></blockquote>Charstring constant for the MQTT enabling/disabling the reporting of a ping response test step</div></div><div class=CToolTip id="tt173"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_reportPublishResponse := 20</td></tr></table></blockquote>Integer constant for the MQTT enabling/disabling the reporting of a publish response test step</div></div><div class=CToolTip id="tt174"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_reportPublishResponse := "MQTT Applib: reportPublishResponse"</td></tr></table></blockquote>Charstring constant for the MQTT enabling/disabling the reporting of a publish response test step</div></div><div class=CToolTip id="tt175"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_send := 9</td></tr></table></blockquote>Integer constant for the MQTT send test step</div></div><div class=CToolTip id="tt176"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_send := "MQTT Applib: send"</td></tr></table></blockquote>Charstring constant for the MQTT send test step</div></div><div class=CToolTip id="tt177"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Address_DB</td></tr></table></blockquote>Storing Socket instances</div></div><div class=CToolTip id="tt178"><div class=CType>States of an MQTT_Session state machine</div></div><div class=CToolTip id="tt179"><div class=CType>States of an MQTT_Subscription state machine</div></div><div class=CToolTip id="tt180"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type union MQTT_Publish_State</td></tr></table></blockquote>State of an MQTT_Publish</div></div><!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/files/EPTF_MQTT_LocalTransport_Definitions-ttcn.html b/apidoc/html/files/EPTF_MQTT_LocalTransport_Definitions-ttcn.html
new file mode 100644
index 0000000..c9a29b4
--- /dev/null
+++ b/apidoc/html/files/EPTF_MQTT_LocalTransport_Definitions-ttcn.html
@@ -0,0 +1,26 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>EPTF_MQTT_LocalTransport_Definitions - Massive IoT Test Tools</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script></head><body class="FramedContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="EPTF_MQTT_LocalTransport_Definitions"></a>EPTF_MQTT_LocalTransport_Definitions</h1><div class=CBody><h4 class=CHeading>Purpose</h4><p>This module contains the definitions for the MQTT local transport component</p><h4 class=CHeading>Module depends on</h4><ul><li><a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Definitions" class=LFile id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">EPTF_MQTT_Transport_Definitions</a></li><li><EPTF_CLL_Base_Definitions></li><li><EPTF_CLL_Logging_Definitions></li><li><EPTF_CLL_FBQ_Definitions></li><li><EPTF_CLL_TransportCommPortIPL4_Definitions></li><li><EPTF_CLL_RBTScheduler_Definitions></li><li><IPL4asp_Types></li></ul><h4 class=CHeading>Module Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>tsp_EPTF_MQTT_LocalTransport_debug</td><td class=CDLDescription><a href="#tsp_EPTF_MQTT_LocalTransport_debug" class=LModuleParameter id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">tsp_EPTF_MQTT_LocalTransport_debug</a> - <b>boolean</b> - Enabled/disable debug logging</td></tr><tr><td class=CDLEntry>tsp_EPTF_MQTT_LocalTransport_debugVerbose</td><td class=CDLDescription><a href="#tsp_EPTF_MQTT_LocalTransport_debugVerbose" class=LModuleParameter id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">tsp_EPTF_MQTT_LocalTransport_debugVerbose</a> - <b>boolean</b> - Enabled/disable verbosity of debug logging</td></tr></table><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#EPTF_MQTT_LocalTransport_Definitions" >EPTF_MQTT_LocalTransport_Definitions</a></td><td class=SDescription>This module contains the definitions for the MQTT local transport component</td></tr><tr class="SModuleParameter SMarked"><td class=SEntry><a href="#tsp_EPTF_MQTT_LocalTransport_debug" >tsp_EPTF_MQTT_LocalTransport_debug</a></td><td class=SDescription>Enabled/disable debug logging</td></tr><tr class="SModuleParameter"><td class=SEntry><a href="#tsp_EPTF_MQTT_LocalTransport_debugVerbose" >tsp_EPTF_MQTT_LocalTransport_debugVerbose</a></td><td class=SDescription>Enabled/disable verbosity of debug logging</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CModuleParameter"><div class=CTopic><h3 class=CTitle><a name="tsp_EPTF_MQTT_LocalTransport_debug"></a>tsp_EPTF_MQTT_LocalTransport_debug</h3><div class=CBody><h4 class=CHeading>Purpose</h4><p>Enabled/disable debug logging</p><h4 class=CHeading>Type</h4><p><b>boolean</b></p><h4 class=CHeading>Default value</h4><p><b>false</b></p></div></div></div>
+
+<div class="CModuleParameter"><div class=CTopic><h3 class=CTitle><a name="tsp_EPTF_MQTT_LocalTransport_debugVerbose"></a>tsp_EPTF_MQTT_LocalTransport_debugVerbose</h3><div class=CBody><h4 class=CHeading>Purpose</h4><p>Enabled/disable verbosity of debug logging</p><h4 class=CHeading>Type</h4><p><b>boolean</b></p><h4 class=CHeading>Default value</h4><p><b>false</b></p></div></div></div>
+
+</div><!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFile>This module contains the definitions of callback functions for the Applib user API</div></div><div class=CToolTip id="tt2"><div class=CModuleParameter>Enabled/disable debug logging</div></div><div class=CToolTip id="tt3"><div class=CModuleParameter>Enabled/disable verbosity of debug logging</div></div><!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/files/EPTF_MQTT_LocalTransport_Functions-ttcn.html b/apidoc/html/files/EPTF_MQTT_LocalTransport_Functions-ttcn.html
new file mode 100644
index 0000000..4f6aadd
--- /dev/null
+++ b/apidoc/html/files/EPTF_MQTT_LocalTransport_Functions-ttcn.html
@@ -0,0 +1,72 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>EPTF_MQTT_LocalTransport_Functions - Massive IoT Test Tools</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script></head><body class="FramedContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="EPTF_MQTT_LocalTransport_Functions"></a>EPTF_MQTT_LocalTransport_Functions</h1><div class=CBody><h4 class=CHeading>Purpose</h4><p>This module contains the functions of the MQTT local transport component</p><h4 class=CHeading>See also</h4><p><a href="EPTF_MQTT_LocalTransport_Definitions-ttcn.html#EPTF_MQTT_LocalTransport_Definitions" class=LFile id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')">EPTF_MQTT_LocalTransport_Definitions</a></p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#EPTF_MQTT_LocalTransport_Functions" >EPTF_MQTT_LocalTransport_Functions</a></td><td class=SDescription>This module contains the functions of the MQTT local transport component</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_LocalTransport_init" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">f_EPTF_MQTT_LocalTransport_init</a></td><td class=SDescription>The main initialization function of the <EPTF_MQTT_LocalTransport_CT> component type</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_LocalTransport_initLogging" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">f_EPTF_MQTT_LocalTransport_initLogging</a></td><td class=SDescription>Initializing CLL’s logging feature on the <EPTF_MQTT_LocalTransport_CT> component type</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_LocalTransport_cleanup" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">f_EPTF_MQTT_LocalTransport_cleanup</a></td><td class=SDescription>The main clean up function for the <EPTF_MQTT_LocalTransport_CT> component type</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_IPL4asp_handleEvent" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">f_EPTF_MQTT_IPL4asp_handleEvent</a></td><td class=SDescription>Handler function to be registered into the IPL4 transport layer <EPTF_CLL_TransportIPL4_Functions>. </td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_IPL4asp_handleMessage" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">f_EPTF_MQTT_IPL4asp_handleMessage</a></td><td class=SDescription>Handler function to be regisitered into the IPL4 transport layer <EPTF_CLL_TransportIPL4_Functions>. </td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_LocalTransport_send" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">f_EPTF_MQTT_LocalTransport_send</a></td><td class=SDescription>Function to send out a <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">EPTF_MQTT_PDU</a> message using the local transport. </td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_LocalTransport_transportApiRequest" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">f_EPTF_MQTT_LocalTransport_transportApiRequest</a></td><td class=SDescription>Function to handle incoming transport API requests</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_LocalTransport_sendApiResponse" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">f_EPTF_MQTT_LocalTransport_sendApiResponse</a></td><td class=SDescription>Function to handle incoming transport API requests</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_LocalTransport_startListening" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">f_EPTF_MQTT_LocalTransport_startListening</a></td><td class=SDescription>Start listening on a local TCP socket and store its data and state in socketDB</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_LocalTransport_connect" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">f_EPTF_MQTT_LocalTransport_connect</a></td><td class=SDescription>Open a TCP connection and store its data and state in socketDB</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_LocalTransport_close" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">f_EPTF_MQTT_LocalTransport_close</a></td><td class=SDescription>Close a TCP connection and remove its entry from the socketDB</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_LocalTransport_IPL4_send" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">f_EPTF_MQTT_LocalTransport_IPL4_send</a></td><td class=SDescription>Send a message and add 1 message and its length to MQTT transport stats variable</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_LocalTransport_socketDB_init" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">f_EPTF_MQTT_LocalTransport_socketDB_init</a></td><td class=SDescription>Initializes the <b>v_MQTT_LocalTransport_localSocketDB</b> <SocketDB> database</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_LocalTransport_socketDB_cleanUp" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">f_EPTF_MQTT_LocalTransport_socketDB_cleanUp</a></td><td class=SDescription>Cleans up the reserved resources of the <b>v_MQTT_LocalTransport_localSocketDB</b> <SocketDB> database</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_LocalTransport_socketDB_add" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">f_EPTF_MQTT_LocalTransport_socketDB_add</a></td><td class=SDescription>Adds a new element to the <b>v_MQTT_LocalTransport_localSocketDB</b> <SocketDB> database</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_LocalTransport_socketDB_lookUp" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">f_EPTF_MQTT_LocalTransport_socketDB_lookUp</a></td><td class=SDescription>Gets the index of an <SocketEntry> element in <b>v_MQTT_LocalTransport_localSocketDB</b> <SocketDB> database based on its socket data</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_LocalTransport_socketDB_lookUp_connId" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">f_EPTF_MQTT_LocalTransport_socketDB_lookUp_connId</a></td><td class=SDescription>Gets the index of an <SocketEntry> element in <b>v_MQTT_LocalTransport_localSocketDB</b> <SocketDB> database based on its connection id</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_LocalTransport_socketDB_get" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')">f_EPTF_MQTT_LocalTransport_socketDB_get</a></td><td class=SDescription>Retrieves an element from the <b>v_MQTT_LocalTransport_localSocketDB</b> <SocketDB> database</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_LocalTransport_socketDB_remove" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')">f_EPTF_MQTT_LocalTransport_socketDB_remove</a></td><td class=SDescription>Removes an element from the <b>v_MQTT_LocalTransport_localSocketDB</b> <SocketDB> database and frees up its reserved resources</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_EPTF_MQTT_Socket2String" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')">f_EPTF_MQTT_Socket2String</a></td><td class=SDescription>Converts socket data from <Socket> type to the format “<hostname>:<port number>”</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_MQTT_Transport_Logging_VERBOSE" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')">f_MQTT_Transport_Logging_VERBOSE</a></td><td class=SDescription>Logging functions for the VERBOSE log level</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_MQTT_Transport_Logging_DEBUG" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')">f_MQTT_Transport_Logging_DEBUG</a></td><td class=SDescription>Logging functions for the DEBUG log level</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_MQTT_Transport_Logging_WARNING" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')">f_MQTT_Transport_Logging_WARNING</a></td><td class=SDescription>Logging functions for the WARNING log level</td></tr><tr class="SFunction"><td class=SEntry><a href="#f_MQTT_Transport_Logging_ERROR" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')">f_MQTT_Transport_Logging_ERROR</a></td><td class=SDescription>Logging functions for the ERROR log level</td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#f_EPTF_MQTT_IPL4asp_handleResult" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')">f_EPTF_MQTT_IPL4asp_handleResult</a></td><td class=SDescription>Checks the result of an IPL4 transport operation and records an MQTT transport stats warning if unsuccessful</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LocalTransport_init"></a>f_EPTF_MQTT_LocalTransport_init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_init() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>The main initialization function of the <EPTF_MQTT_LocalTransport_CT> component type</p><h4 class=CHeading>Related Type</h4><p><EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LocalTransport_initLogging"></a>f_EPTF_MQTT_LocalTransport_initLogging</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_initLogging() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Initializing CLL’s logging feature on the <EPTF_MQTT_LocalTransport_CT> component type</p><h4 class=CHeading>Related Type</h4><p><EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LocalTransport_cleanup"></a>f_EPTF_MQTT_LocalTransport_cleanup</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_cleanup() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>The main clean up function for the <EPTF_MQTT_LocalTransport_CT> component type</p><h4 class=CHeading>Related Type</h4><p><EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_IPL4asp_handleEvent"></a>f_EPTF_MQTT_IPL4asp_handleEvent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_IPL4asp_handleEvent() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Handler function to be registered into the IPL4 transport layer <EPTF_CLL_TransportIPL4_Functions>. It is used to receieve transport events from the underlying IPL4 transport layer. The function currently handles the connection closed event and forwards every event to the load generator layer’s handler function.</p><h4 class=CHeading>Parameters</h4><h4 class=CHeading>Related Type</h4><p><EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_IPL4asp_handleMessage"></a>f_EPTF_MQTT_IPL4asp_handleMessage</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_IPL4asp_handleMessage() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Handler function to be regisitered into the IPL4 transport layer <EPTF_CLL_TransportIPL4_Functions>. It is used to receieve MQTT messages from the underlying IPL4 transport layer. The function looks up the entity that owns the particular connection and forwards the message and the entity information to the load generator layer</p><h4 class=CHeading>Parameters</h4><h4 class=CHeading>Related Type</h4><p><EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LocalTransport_send"></a>f_EPTF_MQTT_LocalTransport_send</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Function to send out a <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link28 onMouseOver="ShowTip(event, 'tt7', 'link28')" onMouseOut="HideTip('tt7')">EPTF_MQTT_PDU</a> message using the local transport. It automatically looks up the corresponding <Socket> or creates it on the fly if it doesn’t exist yet</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_msg</td><td class=CDLDescription><b>in</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=LType id=link29 onMouseOver="ShowTip(event, 'tt7', 'link29')" onMouseOut="HideTip('tt7')">EPTF_MQTT_PDU</a> - message to be sent</td></tr></table><h4 class=CHeading>Related Type</h4><p><EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LocalTransport_transportApiRequest"></a>f_EPTF_MQTT_LocalTransport_transportApiRequest</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=3>function f_EPTF_MQTT_LocalTransport_transportApiRequest(</td></tr><tr><td> </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Request </td><td class="PParameter prettyprint " nowrap width=100%>pl_req</td></tr><tr><td class="PAfterParameters prettyprint "colspan=3>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Function to handle incoming transport API requests</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_req</td><td class=CDLDescription><b>in</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Request" class=LType id=link30 onMouseOver="ShowTip(event, 'tt28', 'link30')" onMouseOut="HideTip('tt28')">EPTF_MQTT_Transport_Request</a> - transport API request</td></tr></table><h4 class=CHeading>Related Type</h4><p><EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LocalTransport_sendApiResponse"></a>f_EPTF_MQTT_LocalTransport_sendApiResponse</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=3>function f_EPTF_MQTT_LocalTransport_sendApiResponse(</td></tr><tr><td> </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Response </td><td class="PParameter prettyprint " nowrap width=100%>pl_rsp</td></tr><tr><td class="PAfterParameters prettyprint "colspan=3>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Function to handle incoming transport API requests</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_rsp</td><td class=CDLDescription><b>in</b> <a href="EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Response" class=LType id=link31 onMouseOver="ShowTip(event, 'tt29', 'link31')" onMouseOut="HideTip('tt29')">EPTF_MQTT_Transport_Response</a> - transport API response</td></tr></table><h4 class=CHeading>Related Type</h4><p><EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LocalTransport_startListening"></a>f_EPTF_MQTT_LocalTransport_startListening</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_startListening(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_local,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Start listening on a local TCP socket and store its data and state in socketDB</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_local</td><td class=CDLDescription><b>in</b> <Socket> - local socket</td></tr><tr><td class=CDLEntry>p_sessionIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - session Id stored with the socket data in socketDB</td></tr><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>inout</b> <b>integer</b> - the index of the added element in the database</td></tr></table><h4 class=CHeading>Return Type</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*boolean*</td><td class=CDLDescription>was the operation succesful?</td></tr></table><h4 class=CHeading>Related Type</h4><p><EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LocalTransport_connect"></a>f_EPTF_MQTT_LocalTransport_connect</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_connect(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_local,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_remote,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Open a TCP connection and store its data and state in socketDB</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_local</td><td class=CDLDescription><b>in</b> <Socket> - local socket</td></tr><tr><td class=CDLEntry>p_remote</td><td class=CDLDescription><b>in</b> <Socket> - remote socket</td></tr><tr><td class=CDLEntry>pl_sessionIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - session Id stored with the connection data in socketDB</td></tr><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>inout</b> <b>integer</b> - the index of the added element in the database</td></tr></table><h4 class=CHeading>Return Value</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*boolean*</td><td class=CDLDescription>was the operation succesful?</td></tr></table><h4 class=CHeading>Related Type</h4><p><EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LocalTransport_close"></a>f_EPTF_MQTT_LocalTransport_close</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_close(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_socketIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Close a TCP connection and remove its entry from the socketDB</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_socketIdx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the index of the connection in socketDB to be closed</td></tr></table><h4 class=CHeading>Return Value</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*boolean*</td><td class=CDLDescription>was the operation succesful?</td></tr></table><h4 class=CHeading>Related Type</h4><p><EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LocalTransport_IPL4_send"></a>f_EPTF_MQTT_LocalTransport_IPL4_send</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_IPL4_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_connId,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_remName,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_remPort,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>ProtoTuple </td><td class="PParameter prettyprint " nowrap width=100%>pl_proto,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>octetstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Send a message and add 1 message and its length to MQTT transport stats variable</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_connId</td><td class=CDLDescription><b>in</b> <b>integer</b> - connection Id</td></tr><tr><td class=CDLEntry>pl_remName</td><td class=CDLDescription><b>in</b> <b>charstring</b> - name of the remote host</td></tr><tr><td class=CDLEntry>pl_remPort</td><td class=CDLDescription><b>in</b> <b>integer</b> - remote port number</td></tr><tr><td class=CDLEntry>pl_proto</td><td class=CDLDescription><b>in</b> <ProtoTuple> - type of protocol of the connection</td></tr><tr><td class=CDLEntry>pl_msg</td><td class=CDLDescription><b>in</b> <b>octetstring</b> - message to be sent</td></tr></table><h4 class=CHeading>Related Type</h4><p><EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LocalTransport_socketDB_init"></a>f_EPTF_MQTT_LocalTransport_socketDB_init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_socketDB_init() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Initializes the <b>v_MQTT_LocalTransport_localSocketDB</b> <SocketDB> database</p><h4 class=CHeading>Related Type</h4><p><SocketDB> <EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LocalTransport_socketDB_cleanUp"></a>f_EPTF_MQTT_LocalTransport_socketDB_cleanUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_socketDB_cleanUp() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Cleans up the reserved resources of the <b>v_MQTT_LocalTransport_localSocketDB</b> <SocketDB> database</p><h4 class=CHeading>Related Type</h4><p><SocketDB> <EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LocalTransport_socketDB_add"></a>f_EPTF_MQTT_LocalTransport_socketDB_add</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>SocketEntry </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return integer</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Adds a new element to the <b>v_MQTT_LocalTransport_localSocketDB</b> <SocketDB> database</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sock</td><td class=CDLDescription><b>in</b> <SocketEntry> - the element to be added</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*integer*</td><td class=CDLDescription>the index of the added element in the database</td></tr></table><h4 class=CHeading>Related Type</h4><p><SocketDB> <EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LocalTransport_socketDB_lookUp"></a>f_EPTF_MQTT_LocalTransport_socketDB_lookUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return integer</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Gets the index of an <SocketEntry> element in <b>v_MQTT_LocalTransport_localSocketDB</b> <SocketDB> database based on its socket data</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sock</td><td class=CDLDescription><b>in</b> <Socket> - socket data of the element to be found</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*integer*</td><td class=CDLDescription>the index of the element, or -1 if not found</td></tr></table><h4 class=CHeading>Related Type</h4><p><SocketDB> <EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LocalTransport_socketDB_lookUp_connId"></a>f_EPTF_MQTT_LocalTransport_socketDB_lookUp_connId</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_lookUp_connId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_connId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return integer</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Gets the index of an <SocketEntry> element in <b>v_MQTT_LocalTransport_localSocketDB</b> <SocketDB> database based on its connection id</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_connId</td><td class=CDLDescription><b>in</b> <b>integer</b> - the connection id</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>*integer*</td><td class=CDLDescription>the index of the element, or -1 if not found</td></tr></table><h4 class=CHeading>Related Type</h4><p><SocketDB> <EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LocalTransport_socketDB_get"></a>f_EPTF_MQTT_LocalTransport_socketDB_get</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>SocketEntry </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Retrieves an element from the <b>v_MQTT_LocalTransport_localSocketDB</b> <SocketDB> database</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the index of the element to be retrieved</td></tr><tr><td class=CDLEntry>p_sock</td><td class=CDLDescription><b>inout</b> <SocketEntry> - the retrieved element</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>boolean</td><td class=CDLDescription>was the operation successful?</td></tr></table><h4 class=CHeading>Related Type</h4><p><SocketDB> <EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_LocalTransport_socketDB_remove"></a>f_EPTF_MQTT_LocalTransport_socketDB_remove</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Removes an element from the <b>v_MQTT_LocalTransport_localSocketDB</b> <SocketDB> database and frees up its reserved resources</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_idx</td><td class=CDLDescription><b>in</b> <b>integer</b> - the index of the element to be removed</td></tr></table><h4 class=CHeading>Related Type</h4><p><SocketDB> <EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_Socket2String"></a>f_EPTF_MQTT_Socket2String</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_Socket2String(</td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap>p_sock</td><td class="PAfterParameters prettyprint "nowrap>) return charstring</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Converts socket data from <Socket> type to the format “<hostname>:<port number>”</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_sock</td><td class=CDLDescription><b>in</b> <Socket> - Socket data to be converted</td></tr></table><h4 class=CHeading>Return</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>charstring</td><td class=CDLDescription>the converted socket data</td></tr></table></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_Transport_Logging_VERBOSE"></a>f_MQTT_Transport_Logging_VERBOSE</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_Transport_Logging_VERBOSE(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Logging functions for the VERBOSE log level</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_message</td><td class=CDLDescription><b>in</b> <b>charstring</b> - string to be logged</td></tr></table><h4 class=CHeading>Related Types</h4><p><EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_Transport_Logging_DEBUG"></a>f_MQTT_Transport_Logging_DEBUG</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_Transport_Logging_DEBUG(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Logging functions for the DEBUG log level</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_message</td><td class=CDLDescription><b>in</b> <b>charstring</b> - string to be logged</td></tr></table><h4 class=CHeading>Related Types</h4><p><EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_Transport_Logging_WARNING"></a>f_MQTT_Transport_Logging_WARNING</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_Transport_Logging_WARNING(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Logging functions for the WARNING log level</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_message</td><td class=CDLDescription><b>in</b> <b>charstring</b> - string to be logged</td></tr></table><h4 class=CHeading>Related Types</h4><p><EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_MQTT_Transport_Logging_ERROR"></a>f_MQTT_Transport_Logging_ERROR</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_Transport_Logging_ERROR(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Logging functions for the ERROR log level</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_message</td><td class=CDLDescription><b>in</b> <b>charstring</b> - string to be logged</td></tr></table><h4 class=CHeading>Related Types</h4><p><EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="f_EPTF_MQTT_IPL4asp_handleResult"></a>f_EPTF_MQTT_IPL4asp_handleResult</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_IPL4asp_handleResult(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>Result </td><td class="PParameter prettyprint " nowrap width=100%>p_res</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Checks the result of an IPL4 transport operation and records an MQTT transport stats warning if unsuccessful</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_res</td><td class=CDLDescription><b>inout</b> <b>Result</b> - result of an IPL4 transport operation</td></tr></table><h4 class=CHeading>Return Type</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>boolen</td><td class=CDLDescription><b>true</b>: no error or “Temporary unavailable”, <b>false</b>: error different from “Temporary unavailable”</td></tr></table><h4 class=CHeading>Related Types</h4><p><EPTF_MQTT_LocalTransport_CT></p></div></div></div>
+
+</div><!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_init() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>The main initialization function of the EPTF_MQTT_LocalTransport_CT component type</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_initLogging() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>Initializing CLL’s logging feature on the EPTF_MQTT_LocalTransport_CT component type</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_cleanup() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>The main clean up function for the EPTF_MQTT_LocalTransport_CT component type</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_IPL4asp_handleEvent() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>Handler function to be registered into the IPL4 transport layer EPTF_CLL_TransportIPL4_Functions. </div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_IPL4asp_handleMessage() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>Handler function to be regisitered into the IPL4 transport layer EPTF_CLL_TransportIPL4_Functions. </div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Function to send out a EPTF_MQTT_PDU message using the local transport. </div></div><div class=CToolTip id="tt7"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_PDU</td></tr></table></blockquote>Encapsulates a MQTT PDU with the corresponding entity (and FSM) indices and transport information</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=3>function f_EPTF_MQTT_LocalTransport_transportApiRequest(</td></tr><tr><td> </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Request </td><td class="PParameter prettyprint " nowrap width=100%>pl_req</td></tr><tr><td class="PAfterParameters prettyprint "colspan=3>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Function to handle incoming transport API requests</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=3>function f_EPTF_MQTT_LocalTransport_sendApiResponse(</td></tr><tr><td> </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Response </td><td class="PParameter prettyprint " nowrap width=100%>pl_rsp</td></tr><tr><td class="PAfterParameters prettyprint "colspan=3>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Function to handle incoming transport API requests</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_startListening(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_local,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote>Start listening on a local TCP socket and store its data and state in socketDB</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_connect(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_local,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_remote,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote>Open a TCP connection and store its data and state in socketDB</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_close(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_socketIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote>Close a TCP connection and remove its entry from the socketDB</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_IPL4_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_connId,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_remName,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_remPort,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>ProtoTuple </td><td class="PParameter prettyprint " nowrap width=100%>pl_proto,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>octetstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Send a message and add 1 message and its length to MQTT transport stats variable</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_socketDB_init() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_socketDB_cleanUp() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>SocketEntry </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database</div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an SocketEntry element in <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database based on its socket data</div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_lookUp_connId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_connId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an SocketEntry element in <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database based on its connection id</div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>SocketEntry </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote>Retrieves an element from the <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database</div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Removes an element from the <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database and frees up its reserved resources</div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_Socket2String(</td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap>p_sock</td><td class="PAfterParameters prettyprint "nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Converts socket data from Socket type to the format “hostname:<port number>”</div></div><div class=CToolTip id="tt22"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_Transport_Logging_VERBOSE(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the VERBOSE log level</div></div><div class=CToolTip id="tt23"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_Transport_Logging_DEBUG(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the DEBUG log level</div></div><div class=CToolTip id="tt24"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_Transport_Logging_WARNING(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the WARNING log level</div></div><div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_Transport_Logging_ERROR(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the ERROR log level</div></div><div class=CToolTip id="tt26"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_IPL4asp_handleResult(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>Result </td><td class="PParameter prettyprint " nowrap width=100%>p_res</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks the result of an IPL4 transport operation and records an MQTT transport stats warning if unsuccessful</div></div><div class=CToolTip id="tt27"><div class=CFile>This module contains the definitions for the MQTT local transport component</div></div><div class=CToolTip id="tt28"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_Request</td></tr></table></blockquote>Type for transport request</div></div><div class=CToolTip id="tt29"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_Response</td></tr></table></blockquote>Type for transport response</div></div><!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/files/EPTF_MQTT_Transport_Definitions-ttcn.html b/apidoc/html/files/EPTF_MQTT_Transport_Definitions-ttcn.html
new file mode 100644
index 0000000..445e611
--- /dev/null
+++ b/apidoc/html/files/EPTF_MQTT_Transport_Definitions-ttcn.html
@@ -0,0 +1,54 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>EPTF_MQTT_Transport_Definitions - Massive IoT Test Tools</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script></head><body class="FramedContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="EPTF_MQTT_Transport_Definitions"></a>EPTF_MQTT_Transport_Definitions</h1><div class=CBody><h4 class=CHeading>Purpose</h4><p>This module contains the definitions of callback functions for the Applib user API</p><h4 class=CHeading>Module depends on</h4><ul><li><MQTT_v3_1_1_Types></li><li><IPL4asp_Types></li></ul><h4 class=CHeading>Component Diagram</h4><p>(see EPTF_MQTT_Transport_Definitions.components.jpg)</p><h4 class=CHeading>See also</h4><ul><li><a href="EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_Definitions" class=LFile id=link21 onMouseOver="ShowTip(event, 'tt17', 'link21')" onMouseOut="HideTip('tt17')">EPTF_MQTT_LGen_Definitions</a></li><li><a href="#EPTF_MQTT_Transport_User_CT" class=LType id=link22 onMouseOver="ShowTip(event, 'tt16', 'link22')" onMouseOut="HideTip('tt16')">EPTF_MQTT_Transport_User_CT</a></li><li><a href="#EPTF_MQTT_Transport_Provider_CT" class=LType id=link23 onMouseOver="ShowTip(event, 'tt15', 'link23')" onMouseOut="HideTip('tt15')">EPTF_MQTT_Transport_Provider_CT</a></li></ul><h4 class=CHeading>Type</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>EPTF_MQTT_PDU</td><td class=CDLDescription><a href="#EPTF_MQTT_PDU" class=LType id=link24 onMouseOver="ShowTip(event, 'tt2', 'link24')" onMouseOut="HideTip('tt2')">EPTF_MQTT_PDU</a> - Encapsulates a MQTT PDU with the corresponding entity (and FSM) indices and transport information</td></tr></table><h4 class=CHeading>Callback Function types</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>fcb_EPTF_MQTT_Transport_receiveMessage</td><td class=CDLDescription><a href="#fcb_EPTF_MQTT_Transport_receiveMessage" class=LType id=link25 onMouseOver="ShowTip(event, 'tt1', 'link25')" onMouseOut="HideTip('tt1')">fcb_EPTF_MQTT_Transport_receiveMessage</a> - Call-back function type for reporting received <a href="#EPTF_MQTT_PDU" class=LType id=link26 onMouseOver="ShowTip(event, 'tt2', 'link26')" onMouseOut="HideTip('tt2')">EPTF_MQTT_PDU</a> MQTT message</td></tr><tr><td class=CDLEntry>fcb_EPTF_MQTT_Transport_receiveEvent</td><td class=CDLDescription><a href="#fcb_EPTF_MQTT_Transport_receiveEvent" class=LType id=link27 onMouseOver="ShowTip(event, 'tt3', 'link27')" onMouseOut="HideTip('tt3')">fcb_EPTF_MQTT_Transport_receiveEvent</a> - Call-back function type for reporting received <ASP_Event> MQTT event</td></tr><tr><td class=CDLEntry>fcb_EPTF_MQTT_Transport_sendMessage</td><td class=CDLDescription><a href="#fcb_EPTF_MQTT_Transport_sendMessage" class=LType id=link28 onMouseOver="ShowTip(event, 'tt4', 'link28')" onMouseOut="HideTip('tt4')">fcb_EPTF_MQTT_Transport_sendMessage</a> - Call-back function type for sending a <a href="#EPTF_MQTT_PDU" class=LType id=link29 onMouseOver="ShowTip(event, 'tt2', 'link29')" onMouseOut="HideTip('tt2')">EPTF_MQTT_PDU</a> MQTT message</td></tr><tr><td class=CDLEntry>fcb_EPTF_MQTT_Transport_apiRequest</td><td class=CDLDescription><a href="#fcb_EPTF_MQTT_Transport_apiRequest" class=LType id=link30 onMouseOver="ShowTip(event, 'tt5', 'link30')" onMouseOut="HideTip('tt5')">fcb_EPTF_MQTT_Transport_apiRequest</a> - Call-back function type for sending a <a href="#EPTF_MQTT_Transport_Request" class=LType id=link31 onMouseOver="ShowTip(event, 'tt6', 'link31')" onMouseOut="HideTip('tt6')">EPTF_MQTT_Transport_Request</a> MQTT transport request</td></tr><tr><td class=CDLEntry>fcb_EPTF_MQTT_Transport_apiResponse</td><td class=CDLDescription><a href="#fcb_EPTF_MQTT_Transport_apiResponse" class=LType id=link32 onMouseOver="ShowTip(event, 'tt7', 'link32')" onMouseOut="HideTip('tt7')">fcb_EPTF_MQTT_Transport_apiResponse</a> - Call-back function type for reporting a <a href="#EPTF_MQTT_Transport_Response" class=LType id=link33 onMouseOver="ShowTip(event, 'tt8', 'link33')" onMouseOut="HideTip('tt8')">EPTF_MQTT_Transport_Response</a> MQTT transport response</td></tr></table><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#EPTF_MQTT_Transport_Definitions" >EPTF_MQTT_Transport_Definitions</a></td><td class=SDescription>This module contains the definitions of callback functions for the Applib user API</td></tr><tr class="SType SMarked"><td class=SEntry><a href="#fcb_EPTF_MQTT_Transport_receiveMessage" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">fcb_EPTF_MQTT_Transport_receiveMessage</a></td><td class=SDescription>Call-back function type for reporting received <a href="#EPTF_MQTT_PDU" class=LType id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">EPTF_MQTT_PDU</a> MQTT message</td></tr><tr class="SType"><td class=SEntry><a href="#fcb_EPTF_MQTT_Transport_receiveEvent" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">fcb_EPTF_MQTT_Transport_receiveEvent</a></td><td class=SDescription>Call-back function type for reporting received <ASP_Event> MQTT event</td></tr><tr class="SType SMarked"><td class=SEntry><a href="#fcb_EPTF_MQTT_Transport_sendMessage" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">fcb_EPTF_MQTT_Transport_sendMessage</a></td><td class=SDescription>Call-back function type for sending a <a href="#EPTF_MQTT_PDU" class=LType id=link5 onMouseOver="ShowTip(event, 'tt2', 'link5')" onMouseOut="HideTip('tt2')">EPTF_MQTT_PDU</a> MQTT message</td></tr><tr class="SType"><td class=SEntry><a href="#fcb_EPTF_MQTT_Transport_apiRequest" id=link6 onMouseOver="ShowTip(event, 'tt5', 'link6')" onMouseOut="HideTip('tt5')">fcb_EPTF_MQTT_Transport_apiRequest</a></td><td class=SDescription>Call-back function type for sending a <a href="#EPTF_MQTT_Transport_Request" class=LType id=link7 onMouseOver="ShowTip(event, 'tt6', 'link7')" onMouseOut="HideTip('tt6')">EPTF_MQTT_Transport_Request</a> MQTT transport request</td></tr><tr class="SType SMarked"><td class=SEntry><a href="#fcb_EPTF_MQTT_Transport_apiResponse" id=link8 onMouseOver="ShowTip(event, 'tt7', 'link8')" onMouseOut="HideTip('tt7')">fcb_EPTF_MQTT_Transport_apiResponse</a></td><td class=SDescription>Call-back function type for reporting a <a href="#EPTF_MQTT_Transport_Response" class=LType id=link9 onMouseOver="ShowTip(event, 'tt8', 'link9')" onMouseOut="HideTip('tt8')">EPTF_MQTT_Transport_Response</a> MQTT transport response</td></tr><tr class="SType"><td class=SEntry><a href="#EPTF_MQTT_PDU" id=link10 onMouseOver="ShowTip(event, 'tt2', 'link10')" onMouseOut="HideTip('tt2')">EPTF_MQTT_PDU</a></td><td class=SDescription>Encapsulates a MQTT PDU with the corresponding entity (and FSM) indices and transport information</td></tr><tr class="SType SMarked"><td class=SEntry><a href="#EPTF_MQTT_TransportParameters" id=link11 onMouseOver="ShowTip(event, 'tt9', 'link11')" onMouseOut="HideTip('tt9')">EPTF_MQTT_TransportParameters</a></td><td class=SDescription>Transport parameters for MQTT</td></tr><tr class="SType"><td class=SEntry><a href="#EPTF_MQTT_Transport_Request" id=link12 onMouseOver="ShowTip(event, 'tt6', 'link12')" onMouseOut="HideTip('tt6')">EPTF_MQTT_Transport_Request</a></td><td class=SDescription>Type for transport request</td></tr><tr class="SType SMarked"><td class=SEntry><a href="#EPTF_MQTT_Transport_RequestParams" id=link13 onMouseOver="ShowTip(event, 'tt10', 'link13')" onMouseOut="HideTip('tt10')">EPTF_MQTT_Transport_RequestParams</a></td><td class=SDescription>Union encapsulating the different transport requests</td></tr><tr class="SType"><td class=SEntry><a href="#EPTF_MQTT_Transport_startListening" id=link14 onMouseOver="ShowTip(event, 'tt11', 'link14')" onMouseOut="HideTip('tt11')">EPTF_MQTT_Transport_startListening</a></td><td class=SDescription>Starts a listening socket</td></tr><tr class="SType SMarked"><td class=SEntry><a href="#EPTF_MQTT_Transport_connect" id=link15 onMouseOver="ShowTip(event, 'tt12', 'link15')" onMouseOut="HideTip('tt12')">EPTF_MQTT_Transport_connect</a></td><td class=SDescription>Establishes a connection between the local and remote sockets</td></tr><tr class="SType"><td class=SEntry><a href="#EPTF_MQTT_Transport_close" id=link16 onMouseOver="ShowTip(event, 'tt13', 'link16')" onMouseOut="HideTip('tt13')">EPTF_MQTT_Transport_close</a></td><td class=SDescription>Closes the connection</td></tr><tr class="SType SMarked"><td class=SEntry><a href="#EPTF_MQTT_Transport_Response" id=link17 onMouseOver="ShowTip(event, 'tt8', 'link17')" onMouseOut="HideTip('tt8')">EPTF_MQTT_Transport_Response</a></td><td class=SDescription>Type for transport response</td></tr><tr class="SType"><td class=SEntry><a href="#EPTF_MQTT_Transport_ResponseParams" id=link18 onMouseOver="ShowTip(event, 'tt14', 'link18')" onMouseOut="HideTip('tt14')">EPTF_MQTT_Transport_ResponseParams</a></td><td class=SDescription>Union encapsulating the responses</td></tr><tr class="SType SMarked"><td class=SEntry><a href="#EPTF_MQTT_Transport_Provider_CT" id=link19 onMouseOver="ShowTip(event, 'tt15', 'link19')" onMouseOut="HideTip('tt15')">EPTF_MQTT_Transport_Provider_CT</a></td><td class=SDescription>Base component type for a MQTT transport realization, declares variables to register the transport user functions</td></tr><tr class="SType"><td class=SEntry><a href="#EPTF_MQTT_Transport_User_CT" id=link20 onMouseOver="ShowTip(event, 'tt16', 'link20')" onMouseOut="HideTip('tt16')">EPTF_MQTT_Transport_User_CT</a></td><td class=SDescription>Base component type for a MQTT transport user realization</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="fcb_EPTF_MQTT_Transport_receiveMessage"></a>fcb_EPTF_MQTT_Transport_receiveMessage</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_receiveMessage(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Call-back function type for reporting received <a href="#EPTF_MQTT_PDU" class=LType id=link34 onMouseOver="ShowTip(event, 'tt2', 'link34')" onMouseOut="HideTip('tt2')">EPTF_MQTT_PDU</a> MQTT message</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_message</td><td class=CDLDescription><b>in</b> <a href="#EPTF_MQTT_PDU" class=LType id=link35 onMouseOver="ShowTip(event, 'tt2', 'link35')" onMouseOut="HideTip('tt2')">EPTF_MQTT_PDU</a> - received MQTT message</td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="fcb_EPTF_MQTT_Transport_receiveEvent"></a>fcb_EPTF_MQTT_Transport_receiveEvent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_receiveEvent(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>ASP_Event </td><td class="PParameter prettyprint " nowrap width=100%>p_event</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Call-back function type for reporting received <ASP_Event> MQTT event</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p_event</td><td class=CDLDescription><b>in</b> <ASP_Event> - received MQTT event</td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="fcb_EPTF_MQTT_Transport_sendMessage"></a>fcb_EPTF_MQTT_Transport_sendMessage</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_sendMessage(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Call-back function type for sending a <a href="#EPTF_MQTT_PDU" class=LType id=link36 onMouseOver="ShowTip(event, 'tt2', 'link36')" onMouseOut="HideTip('tt2')">EPTF_MQTT_PDU</a> MQTT message</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_msg</td><td class=CDLDescription><b>in</b> <a href="#EPTF_MQTT_PDU" class=LType id=link37 onMouseOver="ShowTip(event, 'tt2', 'link37')" onMouseOut="HideTip('tt2')">EPTF_MQTT_PDU</a> - MQTT message to be sent</td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="fcb_EPTF_MQTT_Transport_apiRequest"></a>fcb_EPTF_MQTT_Transport_apiRequest</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_apiRequest(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Request </td><td class="PParameter prettyprint " nowrap width=100%>pl_req</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Call-back function type for sending a <a href="#EPTF_MQTT_Transport_Request" class=LType id=link38 onMouseOver="ShowTip(event, 'tt6', 'link38')" onMouseOut="HideTip('tt6')">EPTF_MQTT_Transport_Request</a> MQTT transport request</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_req</td><td class=CDLDescription><b>in</b> <a href="#EPTF_MQTT_Transport_Request" class=LType id=link39 onMouseOver="ShowTip(event, 'tt6', 'link39')" onMouseOut="HideTip('tt6')">EPTF_MQTT_Transport_Request</a> - MQTT transport request to be sent</td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="fcb_EPTF_MQTT_Transport_apiResponse"></a>fcb_EPTF_MQTT_Transport_apiResponse</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_apiResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Response </td><td class="PParameter prettyprint " nowrap width=100%>pl_rsp</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Call-back function type for reporting a <a href="#EPTF_MQTT_Transport_Response" class=LType id=link40 onMouseOver="ShowTip(event, 'tt8', 'link40')" onMouseOut="HideTip('tt8')">EPTF_MQTT_Transport_Response</a> MQTT transport response</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pl_rsp</td><td class=CDLDescription><b>in</b> <a href="#EPTF_MQTT_Transport_Response" class=LType id=link41 onMouseOver="ShowTip(event, 'tt8', 'link41')" onMouseOut="HideTip('tt8')">EPTF_MQTT_Transport_Response</a> - MQTT transport response to be reported</td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="EPTF_MQTT_PDU"></a>EPTF_MQTT_PDU</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_PDU</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Encapsulates a MQTT PDU with the corresponding entity (and FSM) indices and transport information</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pdu</td><td class=CDLDescription><MQTT_ReqResp> - MQTT PDU</td></tr><tr><td class=CDLEntry>transportParams</td><td class=CDLDescription><a href="#EPTF_MQTT_TransportParameters" class=LType id=link42 onMouseOver="ShowTip(event, 'tt9', 'link42')" onMouseOut="HideTip('tt9')">EPTF_MQTT_TransportParameters</a> - transport protocol information</td></tr><tr><td class=CDLEntry>sessionIdx</td><td class=CDLDescription><b>integer</b> - session index</td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="EPTF_MQTT_TransportParameters"></a>EPTF_MQTT_TransportParameters</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_TransportParameters</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Transport parameters for MQTT</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>localAddress</td><td class=CDLDescription><Socket> - local address</td></tr><tr><td class=CDLEntry>remoteAddress</td><td class=CDLDescription><Socket> - remote address</td></tr><tr><td class=CDLEntry>proto</td><td class=CDLDescription><ProtoTuple> - IP transport protocol</td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="EPTF_MQTT_Transport_Request"></a>EPTF_MQTT_Transport_Request</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_Request</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Type for transport request</p><h4 class=CHeading>Elements</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>sessionIdx</td><td class=CDLDescription><b>integer</b> - session index</td></tr><tr><td class=CDLEntry>expectResponse</td><td class=CDLDescription><b>boolean</b> - set to true if request execution result is expected to be reported back</td></tr><tr><td class=CDLEntry>params</td><td class=CDLDescription><a href="#EPTF_MQTT_Transport_RequestParams" class=LType id=link43 onMouseOver="ShowTip(event, 'tt10', 'link43')" onMouseOut="HideTip('tt10')">EPTF_MQTT_Transport_RequestParams</a> <b>optional</b> - parameters of the request</td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="EPTF_MQTT_Transport_RequestParams"></a>EPTF_MQTT_Transport_RequestParams</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type union EPTF_MQTT_Transport_RequestParams</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Union encapsulating the different transport requests</p><h4 class=CHeading>Elements</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>startListening</td><td class=CDLDescription><a href="#EPTF_MQTT_Transport_startListening" class=LType id=link44 onMouseOver="ShowTip(event, 'tt11', 'link44')" onMouseOut="HideTip('tt11')">EPTF_MQTT_Transport_startListening</a> - starts a listening socket</td></tr><tr><td class=CDLEntry>connect_</td><td class=CDLDescription><a href="#EPTF_MQTT_Transport_connect" class=LType id=link45 onMouseOver="ShowTip(event, 'tt12', 'link45')" onMouseOut="HideTip('tt12')">EPTF_MQTT_Transport_connect</a> - connects to the remote address</td></tr><tr><td class=CDLEntry>close</td><td class=CDLDescription><a href="#EPTF_MQTT_Transport_RequestParams" class=LType id=link46 onMouseOver="ShowTip(event, 'tt10', 'link46')" onMouseOut="HideTip('tt10')">EPTF_MQTT_Transport_RequestParams</a> - closes the connection</td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="EPTF_MQTT_Transport_startListening"></a>EPTF_MQTT_Transport_startListening</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_startListening</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Starts a listening socket</p><h4 class=CHeading>Elements</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>localAddress</td><td class=CDLDescription><Socket> - local address of the listning socket</td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="EPTF_MQTT_Transport_connect"></a>EPTF_MQTT_Transport_connect</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_connect</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Establishes a connection between the local and remote sockets</p><h4 class=CHeading>Elements</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>localAddress</td><td class=CDLDescription><Socket> - local address of the connection</td></tr><tr><td class=CDLEntry>remoteAddress</td><td class=CDLDescription><Socket> - remote address of the connection</td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="EPTF_MQTT_Transport_close"></a>EPTF_MQTT_Transport_close</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_close</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Closes the connection</p><h4 class=CHeading>Elements</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>localAddress</td><td class=CDLDescription><Socket> - local address of the connection</td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="EPTF_MQTT_Transport_Response"></a>EPTF_MQTT_Transport_Response</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_Response</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Type for transport response</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>succ</td><td class=CDLDescription><b>boolean</b> - result request’s execution</td></tr><tr><td class=CDLEntry>sessionIdx</td><td class=CDLDescription><b>integer</b> - session index</td></tr><tr><td class=CDLEntry>params</td><td class=CDLDescription><a href="#EPTF_MQTT_Transport_ResponseParams" class=LType id=link47 onMouseOver="ShowTip(event, 'tt14', 'link47')" onMouseOut="HideTip('tt14')">EPTF_MQTT_Transport_ResponseParams</a> <b>optional</b> - parameters of the response</td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="EPTF_MQTT_Transport_ResponseParams"></a>EPTF_MQTT_Transport_ResponseParams</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type union EPTF_MQTT_Transport_ResponseParams</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Union encapsulating the responses</p><h4 class=CHeading>Elements</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>listening</td><td class=CDLDescription><b>boolean</b> - true if the listening socket was opened succesfully, false otherwise</td></tr><tr><td class=CDLEntry>connectionClose</td><td class=CDLDescription><Socket> - indication of a closed connection with its address</td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="EPTF_MQTT_Transport_Provider_CT"></a>EPTF_MQTT_Transport_Provider_CT</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type component EPTF_MQTT_Transport_Provider_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Base component type for a MQTT transport realization, declares variables to register the transport user functions</p><h4 class=CHeading>Class</h4><p>(see EPTF_MQTT_Transport_Definitions.EPTF_MQTT_Transport_Provider_CT.jpg)</p><h4 class=CHeading>Variables</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>vf_EPTF_MQTT_Transport_receiveMessage</td><td class=CDLDescription><a href="#fcb_EPTF_MQTT_Transport_receiveMessage" class=LType id=link48 onMouseOver="ShowTip(event, 'tt1', 'link48')" onMouseOut="HideTip('tt1')">fcb_EPTF_MQTT_Transport_receiveMessage</a> - Function hook for reporting received messages</td></tr><tr><td class=CDLEntry>vf_EPTF_MQTT_Transport_receiveEvent</td><td class=CDLDescription><a href="#fcb_EPTF_MQTT_Transport_receiveEvent" class=LType id=link49 onMouseOver="ShowTip(event, 'tt3', 'link49')" onMouseOut="HideTip('tt3')">fcb_EPTF_MQTT_Transport_receiveEvent</a> - Function hook for reporting received events</td></tr><tr><td class=CDLEntry>vf_EPTF_MQTT_Transport_apiResponse</td><td class=CDLDescription><a href="#fcb_EPTF_MQTT_Transport_apiResponse" class=LType id=link50 onMouseOver="ShowTip(event, 'tt7', 'link50')" onMouseOut="HideTip('tt7')">fcb_EPTF_MQTT_Transport_apiResponse</a> - Function hook for reporting transport API responses</td></tr></table></div></div></div>
+
+<div class="CType"><div class=CTopic><h3 class=CTitle><a name="EPTF_MQTT_Transport_User_CT"></a>EPTF_MQTT_Transport_User_CT</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type component EPTF_MQTT_Transport_User_CT</td></tr></table></blockquote><h4 class=CHeading>Purpose</h4><p>Base component type for a MQTT transport user realization</p><h4 class=CHeading>Class</h4><p>(see EPTF_MQTT_Transport_Definitions.EPTF_MQTT_Transport_User_CT.jpg)</p><h4 class=CHeading>Variables</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>vf_EPTF_MQTT_Transport_send</td><td class=CDLDescription><a href="#fcb_EPTF_MQTT_Transport_sendMessage" class=LType id=link51 onMouseOver="ShowTip(event, 'tt4', 'link51')" onMouseOut="HideTip('tt4')">fcb_EPTF_MQTT_Transport_sendMessage</a> - Function hook for reporting received messages</td></tr><tr><td class=CDLEntry>vf_EPTF_MQTT_Transport_apiRequest</td><td class=CDLDescription><a href="#fcb_EPTF_MQTT_Transport_apiRequest" class=LType id=link52 onMouseOver="ShowTip(event, 'tt5', 'link52')" onMouseOut="HideTip('tt5')">fcb_EPTF_MQTT_Transport_apiRequest</a> - Function hook for reporting received events</td></tr></table></div></div></div>
+
+</div><!--Content-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_receiveMessage(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for reporting received EPTF_MQTT_PDU MQTT message</div></div><div class=CToolTip id="tt2"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_PDU</td></tr></table></blockquote>Encapsulates a MQTT PDU with the corresponding entity (and FSM) indices and transport information</div></div><div class=CToolTip id="tt3"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_receiveEvent(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>ASP_Event </td><td class="PParameter prettyprint " nowrap width=100%>p_event</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for reporting received ASP_Event MQTT event</div></div><div class=CToolTip id="tt4"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_sendMessage(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for sending a EPTF_MQTT_PDU MQTT message</div></div><div class=CToolTip id="tt5"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_apiRequest(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Request </td><td class="PParameter prettyprint " nowrap width=100%>pl_req</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for sending a EPTF_MQTT_Transport_Request MQTT transport request</div></div><div class=CToolTip id="tt6"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_Request</td></tr></table></blockquote>Type for transport request</div></div><div class=CToolTip id="tt7"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_apiResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Response </td><td class="PParameter prettyprint " nowrap width=100%>pl_rsp</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for reporting a EPTF_MQTT_Transport_Response MQTT transport response</div></div><div class=CToolTip id="tt8"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_Response</td></tr></table></blockquote>Type for transport response</div></div><div class=CToolTip id="tt9"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_TransportParameters</td></tr></table></blockquote>Transport parameters for MQTT</div></div><div class=CToolTip id="tt10"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type union EPTF_MQTT_Transport_RequestParams</td></tr></table></blockquote>Union encapsulating the different transport requests</div></div><div class=CToolTip id="tt11"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_startListening</td></tr></table></blockquote>Starts a listening socket</div></div><div class=CToolTip id="tt12"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_connect</td></tr></table></blockquote>Establishes a connection between the local and remote sockets</div></div><div class=CToolTip id="tt13"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_close</td></tr></table></blockquote>Closes the connection</div></div><div class=CToolTip id="tt14"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type union EPTF_MQTT_Transport_ResponseParams</td></tr></table></blockquote>Union encapsulating the responses</div></div><div class=CToolTip id="tt15"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type component EPTF_MQTT_Transport_Provider_CT</td></tr></table></blockquote>Base component type for a MQTT transport realization, declares variables to register the transport user functions</div></div><div class=CToolTip id="tt16"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type component EPTF_MQTT_Transport_User_CT</td></tr></table></blockquote>Base component type for a MQTT transport user realization</div></div><div class=CToolTip id="tt17"><div class=CFile>This module contains the definitions for the MQTT load generator component</div></div><!--END_ND_TOOLTIPS-->
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/index.html b/apidoc/html/index.html
new file mode 100644
index 0000000..8a57570
--- /dev/null
+++ b/apidoc/html/index.html
@@ -0,0 +1,10 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN" "http://www.w3.org/TR/REC-html40/frameset.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Massive IoT Test Tools</title></head>
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+<frameset cols="185,*"><frame name=Menu src="menu.html"><frame name=Content src="files/EPTF_MQTT_LGen_Definitions-ttcn.html"></frameset><noframes>This documentation was designed for use with frames. However, you can still use it by <a href="menu.html">starting from the menu page</a>.<script language=JavaScript><!--
+location.href="menu.html";
+// --></script></noframes></html>
\ No newline at end of file
diff --git a/apidoc/html/index/Constants.html b/apidoc/html/index/Constants.html
new file mode 100644
index 0000000..8e1e69f
--- /dev/null
+++ b/apidoc/html/index/Constants.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Massive IoT Test Tools - Constant Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="FramedIndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Constant Index</div><div class=INavigationBar>$#! · 0-9 · A · B · <a href="#C">C</a> · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="C"></a>C</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_CONNACK_Accepted" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>c_MQTT_eventIdx_CONNACK_Accepted</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_CONNACK_Refused" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>c_MQTT_eventIdx_CONNACK_Refused</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PING_Request" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>c_MQTT_eventIdx_PING_Request</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PING_Response" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>c_MQTT_eventIdx_PING_Response</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBACK" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>c_MQTT_eventIdx_PUBACK</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBCOMP" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>c_MQTT_eventIdx_PUBCOMP</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBLISH" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>c_MQTT_eventIdx_PUBLISH</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBLISH_Timeout" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>c_MQTT_eventIdx_PUBLISH_Timeout</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBREC" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>c_MQTT_eventIdx_PUBREC</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBREL" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>c_MQTT_eventIdx_PUBREL</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_SUBACK_Accepted" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>c_MQTT_eventIdx_SUBACK_Accepted</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_SUBACK_Refused" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>c_MQTT_eventIdx_SUBACK_Refused</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_transportClosed" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>c_MQTT_eventIdx_transportClosed</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_transportFail" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>c_MQTT_eventIdx_transportFail</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_transportSucc" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>c_MQTT_eventIdx_transportSucc</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_UNSUBACK" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>c_MQTT_eventIdx_UNSUBACK</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_CONNACK_Accepted" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>c_MQTT_eventName_CONNACK_Accepted</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_CONNACK_Refused" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>c_MQTT_eventName_CONNACK_Refused</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PING_Request" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>c_MQTT_eventName_PING_Request</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PING_Response" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')" class=ISymbol>c_MQTT_eventName_PING_Response</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBACK" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')" class=ISymbol>c_MQTT_eventName_PUBACK</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBCOMP" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')" class=ISymbol>c_MQTT_eventName_PUBCOMP</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBLISH" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')" class=ISymbol>c_MQTT_eventName_PUBLISH</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBLISH_Timeout" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')" class=ISymbol>c_MQTT_eventName_PUBLISH_Timeout</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBREC" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')" class=ISymbol>c_MQTT_eventName_PUBREC</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBREL" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')" class=ISymbol>c_MQTT_eventName_PUBREL</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_SUBACK_Accepted" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')" class=ISymbol>c_MQTT_eventName_SUBACK_Accepted</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_SUBACK_Refused" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')" class=ISymbol>c_MQTT_eventName_SUBACK_Refused</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_transportClosed" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')" class=ISymbol>c_MQTT_eventName_transportClosed</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_transportFail" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')" class=ISymbol>c_MQTT_eventName_transportFail</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_transportSucc" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')" class=ISymbol>c_MQTT_eventName_transportSucc</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_UNSUBACK" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')" class=ISymbol>c_MQTT_eventName_UNSUBACK</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_cleanUp" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')" class=ISymbol>c_MQTT_stepIdx_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_init" id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')" class=ISymbol>c_MQTT_stepIdx_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_loadTemplate_byIntIdx" id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')" class=ISymbol>c_MQTT_stepIdx_loadTemplate_byIntIdx</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_loadTemplate_byStringId" id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')" class=ISymbol>c_MQTT_stepIdx_loadTemplate_byStringId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_reportPingResponse" id=link37 onMouseOver="ShowTip(event, 'tt37', 'link37')" onMouseOut="HideTip('tt37')" class=ISymbol>c_MQTT_stepIdx_reportPingResponse</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_reportPublishResponse" id=link38 onMouseOver="ShowTip(event, 'tt38', 'link38')" onMouseOut="HideTip('tt38')" class=ISymbol>c_MQTT_stepIdx_reportPublishResponse</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_send" id=link39 onMouseOver="ShowTip(event, 'tt39', 'link39')" onMouseOut="HideTip('tt39')" class=ISymbol>c_MQTT_stepIdx_send</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setLocalAddress_byVars" id=link40 onMouseOver="ShowTip(event, 'tt40', 'link40')" onMouseOut="HideTip('tt40')" class=ISymbol>c_MQTT_stepIdx_setLocalAddress_byVars</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_add_clientId" id=link41 onMouseOver="ShowTip(event, 'tt41', 'link41')" onMouseOut="HideTip('tt41')" class=ISymbol>c_MQTT_stepIdx_setPublishMessage_add_clientId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_add_stringParam" id=link42 onMouseOver="ShowTip(event, 'tt42', 'link42')" onMouseOut="HideTip('tt42')" class=ISymbol>c_MQTT_stepIdx_setPublishMessage_add_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_add_varParams" id=link43 onMouseOver="ShowTip(event, 'tt43', 'link43')" onMouseOut="HideTip('tt43')" class=ISymbol>c_MQTT_stepIdx_setPublishMessage_add_varParams</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_stringParam" id=link44 onMouseOver="ShowTip(event, 'tt44', 'link44')" onMouseOut="HideTip('tt44')" class=ISymbol>c_MQTT_stepIdx_setPublishMessage_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setQos_intParam" id=link45 onMouseOver="ShowTip(event, 'tt45', 'link45')" onMouseOut="HideTip('tt45')" class=ISymbol>c_MQTT_stepIdx_setQos_intParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setRemoteAddress_byVars" id=link46 onMouseOver="ShowTip(event, 'tt46', 'link46')" onMouseOut="HideTip('tt46')" class=ISymbol>c_MQTT_stepIdx_setRemoteAddress_byVars</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_add_clientId" id=link47 onMouseOver="ShowTip(event, 'tt47', 'link47')" onMouseOut="HideTip('tt47')" class=ISymbol>c_MQTT_stepIdx_setTopic_add_clientId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_add_stringParam" id=link48 onMouseOver="ShowTip(event, 'tt48', 'link48')" onMouseOut="HideTip('tt48')" class=ISymbol>c_MQTT_stepIdx_setTopic_add_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_add_varParams" id=link49 onMouseOver="ShowTip(event, 'tt49', 'link49')" onMouseOut="HideTip('tt49')" class=ISymbol>c_MQTT_stepIdx_setTopic_add_varParams</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_stringParam" id=link50 onMouseOver="ShowTip(event, 'tt50', 'link50')" onMouseOut="HideTip('tt50')" class=ISymbol>c_MQTT_stepIdx_setTopic_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_startListening" id=link51 onMouseOver="ShowTip(event, 'tt51', 'link51')" onMouseOut="HideTip('tt51')" class=ISymbol>c_MQTT_stepIdx_startListening</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_transportClose" id=link52 onMouseOver="ShowTip(event, 'tt52', 'link52')" onMouseOut="HideTip('tt52')" class=ISymbol>c_MQTT_stepIdx_transportClose</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_transportConnect" id=link53 onMouseOver="ShowTip(event, 'tt53', 'link53')" onMouseOut="HideTip('tt53')" class=ISymbol>c_MQTT_stepIdx_transportConnect</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_cleanUp" id=link54 onMouseOver="ShowTip(event, 'tt54', 'link54')" onMouseOut="HideTip('tt54')" class=ISymbol>c_MQTT_stepName_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_init" id=link55 onMouseOver="ShowTip(event, 'tt55', 'link55')" onMouseOut="HideTip('tt55')" class=ISymbol>c_MQTT_stepName_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_loadTemplate_byIntIdx" id=link56 onMouseOver="ShowTip(event, 'tt56', 'link56')" onMouseOut="HideTip('tt56')" class=ISymbol>c_MQTT_stepName_loadTemplate_byIntIdx</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_loadTemplate_byStringId" id=link57 onMouseOver="ShowTip(event, 'tt57', 'link57')" onMouseOut="HideTip('tt57')" class=ISymbol>c_MQTT_stepName_loadTemplate_byStringId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_reportPingResponse" id=link58 onMouseOver="ShowTip(event, 'tt58', 'link58')" onMouseOut="HideTip('tt58')" class=ISymbol>c_MQTT_stepName_reportPingResponse</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_reportPublishResponse" id=link59 onMouseOver="ShowTip(event, 'tt59', 'link59')" onMouseOut="HideTip('tt59')" class=ISymbol>c_MQTT_stepName_reportPublishResponse</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_send" id=link60 onMouseOver="ShowTip(event, 'tt60', 'link60')" onMouseOut="HideTip('tt60')" class=ISymbol>c_MQTT_stepName_send</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setLocalAddress_byVars" id=link61 onMouseOver="ShowTip(event, 'tt61', 'link61')" onMouseOut="HideTip('tt61')" class=ISymbol>c_MQTT_stepName_setLocalAddress_byVars</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_add_clientId" id=link62 onMouseOver="ShowTip(event, 'tt62', 'link62')" onMouseOut="HideTip('tt62')" class=ISymbol>c_MQTT_stepName_setPublishMessage_add_clientId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_add_stringParam" id=link63 onMouseOver="ShowTip(event, 'tt63', 'link63')" onMouseOut="HideTip('tt63')" class=ISymbol>c_MQTT_stepName_setPublishMessage_add_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_add_varParams" id=link64 onMouseOver="ShowTip(event, 'tt64', 'link64')" onMouseOut="HideTip('tt64')" class=ISymbol>c_MQTT_stepName_setPublishMessage_add_varParams</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_stringParam" id=link65 onMouseOver="ShowTip(event, 'tt65', 'link65')" onMouseOut="HideTip('tt65')" class=ISymbol>c_MQTT_stepName_setPublishMessage_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setQos_intParam" id=link66 onMouseOver="ShowTip(event, 'tt66', 'link66')" onMouseOut="HideTip('tt66')" class=ISymbol>c_MQTT_stepName_setQos_intParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setRemoteAddress_byVars" id=link67 onMouseOver="ShowTip(event, 'tt67', 'link67')" onMouseOut="HideTip('tt67')" class=ISymbol>c_MQTT_stepName_setRemoteAddress_byVars</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_add_clientId" id=link68 onMouseOver="ShowTip(event, 'tt68', 'link68')" onMouseOut="HideTip('tt68')" class=ISymbol>c_MQTT_stepName_setTopic_add_clientId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_add_stringParam" id=link69 onMouseOver="ShowTip(event, 'tt69', 'link69')" onMouseOut="HideTip('tt69')" class=ISymbol>c_MQTT_stepName_setTopic_add_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_add_varParams" id=link70 onMouseOver="ShowTip(event, 'tt70', 'link70')" onMouseOut="HideTip('tt70')" class=ISymbol>c_MQTT_stepName_setTopic_add_varParams</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_stringParam" id=link71 onMouseOver="ShowTip(event, 'tt71', 'link71')" onMouseOut="HideTip('tt71')" class=ISymbol>c_MQTT_stepName_setTopic_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_startListening" id=link72 onMouseOver="ShowTip(event, 'tt72', 'link72')" onMouseOut="HideTip('tt72')" class=ISymbol>c_MQTT_stepName_startListening</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_transportClose" id=link73 onMouseOver="ShowTip(event, 'tt73', 'link73')" onMouseOut="HideTip('tt73')" class=ISymbol>c_MQTT_stepName_transportClose</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_transportConnect" id=link74 onMouseOver="ShowTip(event, 'tt74', 'link74')" onMouseOut="HideTip('tt74')" class=ISymbol>c_MQTT_stepName_transportConnect</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_CONNACK_Accepted := 3</td></tr></table></blockquote>Integer constant for the MQTT CONNACK accepted indication</div></div><div class=CToolTip id="tt2"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_CONNACK_Refused := 4</td></tr></table></blockquote>Integer constant for the MQTT CONNACK refused indication</div></div><div class=CToolTip id="tt3"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PING_Request := 9</td></tr></table></blockquote>Integer constant for the MQTT PING request indication</div></div><div class=CToolTip id="tt4"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PING_Response := 10</td></tr></table></blockquote>Integer constant for the MQTT PING response indication</div></div><div class=CToolTip id="tt5"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBACK := 11</td></tr></table></blockquote>Integer constant for the MQTT PUBACK indication</div></div><div class=CToolTip id="tt6"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBCOMP := 14</td></tr></table></blockquote>Integer constant for the MQTT PUBCOMP indication</div></div><div class=CToolTip id="tt7"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBLISH := 8</td></tr></table></blockquote>Integer constant for the MQTT PUBLISH indication</div></div><div class=CToolTip id="tt8"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBLISH_Timeout := 15</td></tr></table></blockquote>Integer constant for the MQTT PUBLISH timeout indication</div></div><div class=CToolTip id="tt9"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBREC := 12</td></tr></table></blockquote>Integer constant for the MQTT PUBREC indication</div></div><div class=CToolTip id="tt10"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBREL := 13</td></tr></table></blockquote>Integer constant for the MQTT PUBREL indication</div></div><div class=CToolTip id="tt11"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_SUBACK_Accepted := 5</td></tr></table></blockquote>Integer constant for the MQTT SUBACK accepted indication</div></div><div class=CToolTip id="tt12"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_SUBACK_Refused := 6</td></tr></table></blockquote>Integer constant for the MQTT SUBACK refused indication</div></div><div class=CToolTip id="tt13"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_transportClosed := 2</td></tr></table></blockquote>Integer constant for the MQTT transport closed indication</div></div><div class=CToolTip id="tt14"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_transportFail := 1</td></tr></table></blockquote>Integer constant for the MQTT transport fail indication</div></div><div class=CToolTip id="tt15"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_transportSucc := 0</td></tr></table></blockquote>Integer constant for the MQTT transport succesful indication</div></div><div class=CToolTip id="tt16"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_UNSUBACK := 7</td></tr></table></blockquote>Integer constant for the MQTT UNSUBACK indication</div></div><div class=CToolTip id="tt17"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_CONNACK_Accepted := "MQTT rsp: CONNACK Accepted"</td></tr></table></blockquote>Charstring constant for the MQTT CONNACK accepted indication</div></div><div class=CToolTip id="tt18"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_CONNACK_Refused := "MQTT rsp: CONNACK Refused"</td></tr></table></blockquote>Charstring constant for the MQTT CONNACK refused indication</div></div><div class=CToolTip id="tt19"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PING_Request := "MQTT req: PING"</td></tr></table></blockquote>Charstring constant for the MQTT PING request indication</div></div><div class=CToolTip id="tt20"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PING_Response := "MQTT rsp: PING"</td></tr></table></blockquote>Charstring constant for the MQTT PING response indication</div></div><div class=CToolTip id="tt21"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBACK := "MQTT rsp: PUBACK"</td></tr></table></blockquote>Charstring constant for the MQTT PUBACK indication</div></div><div class=CToolTip id="tt22"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBCOMP := "MQTT rsp: PUBCOMP"</td></tr></table></blockquote>Charstring constant for the MQTT PUBCOMP indication</div></div><div class=CToolTip id="tt23"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBLISH := "MQTT req: PUBLISH"</td></tr></table></blockquote>Charstring constant for the MQTT PUBLISH indication</div></div><div class=CToolTip id="tt24"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBLISH_Timeout := "MQTT timeout: PUBLISH Timeout"</td></tr></table></blockquote>Charstring constant for the MQTT PUBLISH timeout indication</div></div><div class=CToolTip id="tt25"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBREC := "MQTT rsp: PUBREC"</td></tr></table></blockquote>Charstring constant for the MQTT PUBREC indication</div></div><div class=CToolTip id="tt26"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBREL := "MQTT req: PUBREL"</td></tr></table></blockquote>Charstring constant for the MQTT PUBREL indication</div></div><div class=CToolTip id="tt27"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_SUBACK_Accepted := "MQTT rsp: SUBACK Accepted"</td></tr></table></blockquote>Charstring constant for the MQTT SUBACK accepted indication</div></div><div class=CToolTip id="tt28"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_SUBACK_Refused := "MQTT rsp: SUBACK Refused"</td></tr></table></blockquote>Charstring constant for the MQTT SUBACK refused indication</div></div><div class=CToolTip id="tt29"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_transportClosed := "MQTT transport: connection closed"</td></tr></table></blockquote>Charstring constant for the MQTT transport closed indication</div></div><div class=CToolTip id="tt30"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_transportFail := "MQTT transport: fail rsp"</td></tr></table></blockquote>Charstring constant for the MQTT transport fail indication</div></div><div class=CToolTip id="tt31"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_transportSucc := "MQTT transport: succ rsp"</td></tr></table></blockquote>Charstring constant for the MQTT transport succesful indication</div></div><div class=CToolTip id="tt32"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_UNSUBACK := "MQTT rsp: UNSUBACK"</td></tr></table></blockquote>Charstring constant for the MQTT UNSUBACK indication</div></div><div class=CToolTip id="tt33"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_cleanUp := 1</td></tr></table></blockquote>Integer constant for the MQTT clean up test step</div></div><div class=CToolTip id="tt34"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_init := 0</td></tr></table></blockquote>Integer constant for the MQTT init test step</div></div><div class=CToolTip id="tt35"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_loadTemplate_byIntIdx := 7</td></tr></table></blockquote>Integer constant for the MQTT load template by integer idx pointer test step</div></div><div class=CToolTip id="tt36"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_loadTemplate_byStringId := 8</td></tr></table></blockquote>Integer constant for the MQTT load template by string id test step</div></div><div class=CToolTip id="tt37"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_reportPingResponse := 19</td></tr></table></blockquote>Integer constant for the MQTT enabling/disabling the reporting of a ping response test step</div></div><div class=CToolTip id="tt38"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_reportPublishResponse := 20</td></tr></table></blockquote>Integer constant for the MQTT enabling/disabling the reporting of a publish response test step</div></div><div class=CToolTip id="tt39"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_send := 9</td></tr></table></blockquote>Integer constant for the MQTT send test step</div></div><div class=CToolTip id="tt40"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setLocalAddress_byVars := 2</td></tr></table></blockquote>Integer constant for the MQTT set local address by variables test step</div></div><div class=CToolTip id="tt41"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_add_clientId := 18</td></tr></table></blockquote>Integer constant for the MQTT set publish by adding the client id test step</div></div><div class=CToolTip id="tt42"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_add_stringParam := 16</td></tr></table></blockquote>Integer constant for the MQTT set publish by adding a string parameter test step</div></div><div class=CToolTip id="tt43"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_add_varParams := 17</td></tr></table></blockquote>Integer constant for the MQTT set publish by adding variable parameters test step</div></div><div class=CToolTip id="tt44"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_stringParam := 15</td></tr></table></blockquote>Integer constant for the MQTT set publish message using a string parameter test step</div></div><div class=CToolTip id="tt45"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setQos_intParam := 14</td></tr></table></blockquote>Integer constant for the MQTT set QoS using integer parameter test step</div></div><div class=CToolTip id="tt46"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setRemoteAddress_byVars := 3</td></tr></table></blockquote>Integer constant for the MQTT set remote address by variables test step</div></div><div class=CToolTip id="tt47"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_add_clientId := 13</td></tr></table></blockquote>Integer constant for the MQTT set topic by adding the client id test step</div></div><div class=CToolTip id="tt48"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_add_stringParam := 11</td></tr></table></blockquote>Integer constant for the MQTT set topic by adding a string test step</div></div><div class=CToolTip id="tt49"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_add_varParams := 12</td></tr></table></blockquote>Integer constant for the MQTT set topic by adding variable parameters test step</div></div><div class=CToolTip id="tt50"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_stringParam := 10</td></tr></table></blockquote>Integer constant for the MQTT set topic by string parameter test step</div></div><div class=CToolTip id="tt51"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_startListening := 6</td></tr></table></blockquote>Integer constant for the MQTT start listening test step</div></div><div class=CToolTip id="tt52"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_transportClose := 5</td></tr></table></blockquote>Integer constant for the MQTT transport close test step</div></div><div class=CToolTip id="tt53"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_transportConnect := 4</td></tr></table></blockquote>Integer constant for the MQTT transport connect test step</div></div><div class=CToolTip id="tt54"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_cleanUp := "MQTT Applib: cleanUp"</td></tr></table></blockquote>Charstring constant for the MQTT clean up test step</div></div><div class=CToolTip id="tt55"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_init := "MQTT Applib: init"</td></tr></table></blockquote>Charstring constant for the MQTT init test step</div></div><div class=CToolTip id="tt56"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_loadTemplate_byIntIdx := "MQTT Applib: loadTemplate_byIntIdx"</td></tr></table></blockquote>Charstring constant for the MQTT load template by integer idx pointer test step</div></div><div class=CToolTip id="tt57"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_loadTemplate_byStringId := "MQTT Applib: loadTemplate_byStringId"</td></tr></table></blockquote>Charstring constant for the MQTT load template by string id test step</div></div><div class=CToolTip id="tt58"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_reportPingResponse := "MQTT Applib: reportPingResponse"</td></tr></table></blockquote>Charstring constant for the MQTT enabling/disabling the reporting of a ping response test step</div></div><div class=CToolTip id="tt59"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_reportPublishResponse := "MQTT Applib: reportPublishResponse"</td></tr></table></blockquote>Charstring constant for the MQTT enabling/disabling the reporting of a publish response test step</div></div><div class=CToolTip id="tt60"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_send := "MQTT Applib: send"</td></tr></table></blockquote>Charstring constant for the MQTT send test step</div></div><div class=CToolTip id="tt61"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setLocalAddress_byVars := "MQTT Applib: setLocalAddress_byVars"</td></tr></table></blockquote>Integer constant for the MQTT set local address by variables test step</div></div><div class=CToolTip id="tt62"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_add_clientId := "MQTT Applib: setPublishMessage_add_clientId"</td></tr></table></blockquote>Charstring constant for the MQTT set publish by adding the client id test step</div></div><div class=CToolTip id="tt63"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_add_stringParam := "MQTT Applib: setPublishMessage_add_stringParam"</td></tr></table></blockquote>Charstring constant for the MQTT set publish by adding a string parameter test step</div></div><div class=CToolTip id="tt64"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_add_varParams := "MQTT Applib: setPublishMessage_add_varParams"</td></tr></table></blockquote>Charstring constant for the MQTT set publish by adding variable parameters test step</div></div><div class=CToolTip id="tt65"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_stringParam := "MQTT Applib: setPublishMessage_stringParam"</td></tr></table></blockquote>Charstring constant for the MQTT set publish message using a string parameter test step</div></div><div class=CToolTip id="tt66"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setQos_intParam := "MQTT Applib: setQos_intParam"</td></tr></table></blockquote>Charstring constant for the MQTT set QoS using integer parameter test step</div></div><div class=CToolTip id="tt67"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setRemoteAddress_byVars := "MQTT Applib: setRemoteAddress_byVars"</td></tr></table></blockquote>Integer constant for the MQTT set remote address by variables test step</div></div><div class=CToolTip id="tt68"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_add_clientId := "MQTT Applib: setTopic_add_clientId"</td></tr></table></blockquote>Charstring constant for the MQTT set topic by adding the client id test step</div></div><div class=CToolTip id="tt69"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_add_stringParam := "MQTT Applib: setTopic_add_stringParam"</td></tr></table></blockquote>Charstring constant for the MQTT set topic by adding a string test step</div></div><div class=CToolTip id="tt70"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_add_varParams := "MQTT Applib: setTopic_add_varParams"</td></tr></table></blockquote>Charstring constant for the MQTT set topic by adding variable parameters test step</div></div><div class=CToolTip id="tt71"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_stringParam := "MQTT Applib: setTopic_stringParam"</td></tr></table></blockquote>Charstring constant for the MQTT set topic by string parameter test step</div></div><div class=CToolTip id="tt72"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_startListening := "MQTT Applib: startListening"</td></tr></table></blockquote>Charstring constant for the MQTT start listening test step</div></div><div class=CToolTip id="tt73"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_transportClose := "MQTT Applib: transportClose"</td></tr></table></blockquote>Charstring constant for the MQTT transport close test step</div></div><div class=CToolTip id="tt74"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_transportConnect := "MQTT Applib: transportConnect"</td></tr></table></blockquote>Charstring constant for the MQTT transport connect test step</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/index/Files.html b/apidoc/html/index/Files.html
new file mode 100644
index 0000000..9e89eda
--- /dev/null
+++ b/apidoc/html/index/Files.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Massive IoT Test Tools - File Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="FramedIndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>File Index</div><div class=INavigationBar>$#! · 0-9 · A · B · C · D · <a href="#E">E</a> · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="E"></a>E</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_Definitions" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>EPTF_MQTT_LGen_Definitions</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#EPTF_MQTT_LGen_Functions" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>EPTF_MQTT_LGen_Functions</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Definitions-ttcn.html#EPTF_MQTT_LocalTransport_Definitions" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>EPTF_MQTT_LocalTransport_Definitions</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#EPTF_MQTT_LocalTransport_Functions" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>EPTF_MQTT_LocalTransport_Functions</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Definitions" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>EPTF_MQTT_Transport_Definitions</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFile>This module contains the definitions for the MQTT load generator component</div></div><div class=CToolTip id="tt2"><div class=CFile>This module contains the functions of the MQTT load generator component</div></div><div class=CToolTip id="tt3"><div class=CFile>This module contains the definitions for the MQTT local transport component</div></div><div class=CToolTip id="tt4"><div class=CFile>This module contains the functions of the MQTT local transport component</div></div><div class=CToolTip id="tt5"><div class=CFile>This module contains the definitions of callback functions for the Applib user API</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/index/Functions.html b/apidoc/html/index/Functions.html
new file mode 100644
index 0000000..6890fef
--- /dev/null
+++ b/apidoc/html/index/Functions.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Massive IoT Test Tools - Function Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="FramedIndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Function Index</div><div class=INavigationBar>$#! · 0-9 · A · B · C · D · E · <a href="#F">F</a> · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="F"></a>F</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_add" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>f_EPTF_MQTT_addressDB_add</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_cleanUp" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>f_EPTF_MQTT_addressDB_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_get" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>f_EPTF_MQTT_addressDB_get</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_init" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>f_EPTF_MQTT_addressDB_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_lookUp" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>f_EPTF_MQTT_addressDB_lookUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_Socket2String" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>f_EPTF_MQTT_addressDB_Socket2String</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_declareEvents" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>f_EPTF_MQTT_declareEvents</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_declareSteps" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>f_EPTF_MQTT_declareSteps</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_dispatchEvent" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>f_EPTF_MQTT_dispatchEvent</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_getIntValue" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>f_EPTF_MQTT_getIntValue</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_IPL4asp_handleEvent" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>f_EPTF_MQTT_IPL4asp_handleEvent</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_IPL4asp_handleMessage" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>f_EPTF_MQTT_IPL4asp_handleMessage</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_IPL4asp_handleResult" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>f_EPTF_MQTT_IPL4asp_handleResult</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_isFsmInitialized" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>f_EPTF_MQTT_isFsmInitialized</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_init" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>f_EPTF_MQTT_LGen_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_initLogging" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>f_EPTF_MQTT_LGen_initLogging</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_receiveEvent" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>f_EPTF_MQTT_LGen_receiveEvent</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_receiveMessage" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>f_EPTF_MQTT_LGen_receiveMessage</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_send" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>f_EPTF_MQTT_LGen_send</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_transportApiResponse" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')" class=ISymbol>f_EPTF_MQTT_LGen_transportApiResponse</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_cleanup" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')" class=ISymbol>f_EPTF_MQTT_LocalTransport_cleanup</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_close" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')" class=ISymbol>f_EPTF_MQTT_LocalTransport_close</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_connect" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')" class=ISymbol>f_EPTF_MQTT_LocalTransport_connect</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_init" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')" class=ISymbol>f_EPTF_MQTT_LocalTransport_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_initLogging" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')" class=ISymbol>f_EPTF_MQTT_LocalTransport_initLogging</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_IPL4_send" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')" class=ISymbol>f_EPTF_MQTT_LocalTransport_IPL4_send</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_send" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')" class=ISymbol>f_EPTF_MQTT_LocalTransport_send</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_sendApiResponse" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')" class=ISymbol>f_EPTF_MQTT_LocalTransport_sendApiResponse</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_add" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_add</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_cleanUp" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_get" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_get</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_init" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_lookUp" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_lookUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_lookUp_connId" id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_lookUp_connId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_remove" id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_remove</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_startListening" id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')" class=ISymbol>f_EPTF_MQTT_LocalTransport_startListening</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_transportApiRequest" id=link37 onMouseOver="ShowTip(event, 'tt37', 'link37')" onMouseOut="HideTip('tt37')" class=ISymbol>f_EPTF_MQTT_LocalTransport_transportApiRequest</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_DEBUG" id=link38 onMouseOver="ShowTip(event, 'tt38', 'link38')" onMouseOut="HideTip('tt38')" class=ISymbol>f_EPTF_MQTT_Logging_DEBUG</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_ERROR" id=link39 onMouseOver="ShowTip(event, 'tt39', 'link39')" onMouseOut="HideTip('tt39')" class=ISymbol>f_EPTF_MQTT_Logging_ERROR</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_VERBOSE" id=link40 onMouseOver="ShowTip(event, 'tt40', 'link40')" onMouseOut="HideTip('tt40')" class=ISymbol>f_EPTF_MQTT_Logging_VERBOSE</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_WARNING" id=link41 onMouseOver="ShowTip(event, 'tt41', 'link41')" onMouseOut="HideTip('tt41')" class=ISymbol>f_EPTF_MQTT_Logging_WARNING</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_cancelT_watchdog" id=link42 onMouseOver="ShowTip(event, 'tt42', 'link42')" onMouseOut="HideTip('tt42')" class=ISymbol>f_EPTF_MQTT_publish_cancelT_watchdog</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_fromEnv" id=link43 onMouseOver="ShowTip(event, 'tt43', 'link43')" onMouseOut="HideTip('tt43')" class=ISymbol>f_EPTF_MQTT_publish_fromEnv</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_fromSession" id=link44 onMouseOver="ShowTip(event, 'tt44', 'link44')" onMouseOut="HideTip('tt44')" class=ISymbol>f_EPTF_MQTT_publish_fromSession</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_remove" id=link45 onMouseOver="ShowTip(event, 'tt45', 'link45')" onMouseOut="HideTip('tt45')" class=ISymbol>f_EPTF_MQTT_publish_remove</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_setState" id=link46 onMouseOver="ShowTip(event, 'tt46', 'link46')" onMouseOut="HideTip('tt46')" class=ISymbol>f_EPTF_MQTT_publish_setState</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_startT_watchdog" id=link47 onMouseOver="ShowTip(event, 'tt47', 'link47')" onMouseOut="HideTip('tt47')" class=ISymbol>f_EPTF_MQTT_publish_startT_watchdog</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_watchdog" id=link48 onMouseOver="ShowTip(event, 'tt48', 'link48')" onMouseOut="HideTip('tt48')" class=ISymbol>f_EPTF_MQTT_publish_watchdog</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_add" id=link49 onMouseOver="ShowTip(event, 'tt49', 'link49')" onMouseOut="HideTip('tt49')" class=ISymbol>f_EPTF_MQTT_publishDB_add</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_check" id=link50 onMouseOver="ShowTip(event, 'tt50', 'link50')" onMouseOut="HideTip('tt50')" class=ISymbol>f_EPTF_MQTT_publishDB_check</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_cleanUp" id=link51 onMouseOver="ShowTip(event, 'tt51', 'link51')" onMouseOut="HideTip('tt51')" class=ISymbol>f_EPTF_MQTT_publishDB_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_get" id=link52 onMouseOver="ShowTip(event, 'tt52', 'link52')" onMouseOut="HideTip('tt52')" class=ISymbol>f_EPTF_MQTT_publishDB_get</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_init" id=link53 onMouseOver="ShowTip(event, 'tt53', 'link53')" onMouseOut="HideTip('tt53')" class=ISymbol>f_EPTF_MQTT_publishDB_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_lookUp" id=link54 onMouseOver="ShowTip(event, 'tt54', 'link54')" onMouseOut="HideTip('tt54')" class=ISymbol>f_EPTF_MQTT_publishDB_lookUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_packetIdHash" id=link55 onMouseOver="ShowTip(event, 'tt55', 'link55')" onMouseOut="HideTip('tt55')" class=ISymbol>f_EPTF_MQTT_publishDB_packetIdHash</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_remove" id=link56 onMouseOver="ShowTip(event, 'tt56', 'link56')" onMouseOut="HideTip('tt56')" class=ISymbol>f_EPTF_MQTT_publishDB_remove</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishResponsePacketId" id=link57 onMouseOver="ShowTip(event, 'tt57', 'link57')" onMouseOut="HideTip('tt57')" class=ISymbol>f_EPTF_MQTT_publishResponsePacketId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishResponseType" id=link58 onMouseOver="ShowTip(event, 'tt58', 'link58')" onMouseOut="HideTip('tt58')" class=ISymbol>f_EPTF_MQTT_publishResponseType</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_qos_int2enum" id=link59 onMouseOver="ShowTip(event, 'tt59', 'link59')" onMouseOut="HideTip('tt59')" class=ISymbol>f_EPTF_MQTT_qos_int2enum</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_cancelT_keepalive" id=link60 onMouseOver="ShowTip(event, 'tt60', 'link60')" onMouseOut="HideTip('tt60')" class=ISymbol>f_EPTF_MQTT_session_cancelT_keepalive</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_deregisterPublish" id=link61 onMouseOver="ShowTip(event, 'tt61', 'link61')" onMouseOut="HideTip('tt61')" class=ISymbol>f_EPTF_MQTT_session_deregisterPublish</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_deregisterSubscription" id=link62 onMouseOver="ShowTip(event, 'tt62', 'link62')" onMouseOut="HideTip('tt62')" class=ISymbol>f_EPTF_MQTT_session_deregisterSubscription</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_fromApp" id=link63 onMouseOver="ShowTip(event, 'tt63', 'link63')" onMouseOut="HideTip('tt63')" class=ISymbol>f_EPTF_MQTT_session_fromApp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_fromEnv" id=link64 onMouseOver="ShowTip(event, 'tt64', 'link64')" onMouseOut="HideTip('tt64')" class=ISymbol>f_EPTF_MQTT_session_fromEnv</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_getNextPacketId" id=link65 onMouseOver="ShowTip(event, 'tt65', 'link65')" onMouseOut="HideTip('tt65')" class=ISymbol>f_EPTF_MQTT_session_getNextPacketId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_keepalive" id=link66 onMouseOver="ShowTip(event, 'tt66', 'link66')" onMouseOut="HideTip('tt66')" class=ISymbol>f_EPTF_MQTT_session_keepalive</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_registerPublish" id=link67 onMouseOver="ShowTip(event, 'tt67', 'link67')" onMouseOut="HideTip('tt67')" class=ISymbol>f_EPTF_MQTT_session_registerPublish</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_registerSubscription" id=link68 onMouseOver="ShowTip(event, 'tt68', 'link68')" onMouseOut="HideTip('tt68')" class=ISymbol>f_EPTF_MQTT_session_registerSubscription</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_remove" id=link69 onMouseOver="ShowTip(event, 'tt69', 'link69')" onMouseOut="HideTip('tt69')" class=ISymbol>f_EPTF_MQTT_session_remove</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_send" id=link70 onMouseOver="ShowTip(event, 'tt70', 'link70')" onMouseOut="HideTip('tt70')" class=ISymbol>f_EPTF_MQTT_session_send</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_setState" id=link71 onMouseOver="ShowTip(event, 'tt71', 'link71')" onMouseOut="HideTip('tt71')" class=ISymbol>f_EPTF_MQTT_session_setState</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_startT_keepalive" id=link72 onMouseOver="ShowTip(event, 'tt72', 'link72')" onMouseOut="HideTip('tt72')" class=ISymbol>f_EPTF_MQTT_session_startT_keepalive</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_add" id=link73 onMouseOver="ShowTip(event, 'tt73', 'link73')" onMouseOut="HideTip('tt73')" class=ISymbol>f_EPTF_MQTT_sessionDB_add</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_addrHash" id=link74 onMouseOver="ShowTip(event, 'tt74', 'link74')" onMouseOut="HideTip('tt74')" class=ISymbol>f_EPTF_MQTT_sessionDB_addrHash</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_check" id=link75 onMouseOver="ShowTip(event, 'tt75', 'link75')" onMouseOut="HideTip('tt75')" class=ISymbol>f_EPTF_MQTT_sessionDB_check</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_cleanUp" id=link76 onMouseOver="ShowTip(event, 'tt76', 'link76')" onMouseOut="HideTip('tt76')" class=ISymbol>f_EPTF_MQTT_sessionDB_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_get" id=link77 onMouseOver="ShowTip(event, 'tt77', 'link77')" onMouseOut="HideTip('tt77')" class=ISymbol>f_EPTF_MQTT_sessionDB_get</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_init" id=link78 onMouseOver="ShowTip(event, 'tt78', 'link78')" onMouseOut="HideTip('tt78')" class=ISymbol>f_EPTF_MQTT_sessionDB_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_lookUp" id=link79 onMouseOver="ShowTip(event, 'tt79', 'link79')" onMouseOut="HideTip('tt79')" class=ISymbol>f_EPTF_MQTT_sessionDB_lookUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_remove" id=link80 onMouseOver="ShowTip(event, 'tt80', 'link80')" onMouseOut="HideTip('tt80')" class=ISymbol>f_EPTF_MQTT_sessionDB_remove</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_setKey" id=link81 onMouseOver="ShowTip(event, 'tt81', 'link81')" onMouseOut="HideTip('tt81')" class=ISymbol>f_EPTF_MQTT_sessionDB_setKey</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_setCtx" id=link82 onMouseOver="ShowTip(event, 'tt82', 'link82')" onMouseOut="HideTip('tt82')" class=ISymbol>f_EPTF_MQTT_setCtx</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_setStepCtx" id=link83 onMouseOver="ShowTip(event, 'tt83', 'link83')" onMouseOut="HideTip('tt83')" class=ISymbol>f_EPTF_MQTT_setStepCtx</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_Socket2String" id=link84 onMouseOver="ShowTip(event, 'tt84', 'link84')" onMouseOut="HideTip('tt84')" class=ISymbol>f_EPTF_MQTT_Socket2String</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_stack_fromApp" id=link85 onMouseOver="ShowTip(event, 'tt85', 'link85')" onMouseOut="HideTip('tt85')" class=ISymbol>f_EPTF_MQTT_stack_fromApp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_stack_fromEnv" id=link86 onMouseOver="ShowTip(event, 'tt86', 'link86')" onMouseOut="HideTip('tt86')" class=ISymbol>f_EPTF_MQTT_stack_fromEnv</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscription_fromEnv" id=link87 onMouseOver="ShowTip(event, 'tt87', 'link87')" onMouseOut="HideTip('tt87')" class=ISymbol>f_EPTF_MQTT_subscription_fromEnv</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscription_fromSession" id=link88 onMouseOver="ShowTip(event, 'tt88', 'link88')" onMouseOut="HideTip('tt88')" class=ISymbol>f_EPTF_MQTT_subscription_fromSession</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscription_remove" id=link89 onMouseOver="ShowTip(event, 'tt89', 'link89')" onMouseOut="HideTip('tt89')" class=ISymbol>f_EPTF_MQTT_subscription_remove</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscription_setState" id=link90 onMouseOver="ShowTip(event, 'tt90', 'link90')" onMouseOut="HideTip('tt90')" class=ISymbol>f_EPTF_MQTT_subscription_setState</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_add" id=link91 onMouseOver="ShowTip(event, 'tt91', 'link91')" onMouseOut="HideTip('tt91')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_add</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_check" id=link92 onMouseOver="ShowTip(event, 'tt92', 'link92')" onMouseOut="HideTip('tt92')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_check</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_cleanUp" id=link93 onMouseOver="ShowTip(event, 'tt93', 'link93')" onMouseOut="HideTip('tt93')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_get" id=link94 onMouseOver="ShowTip(event, 'tt94', 'link94')" onMouseOut="HideTip('tt94')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_get</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_init" id=link95 onMouseOver="ShowTip(event, 'tt95', 'link95')" onMouseOut="HideTip('tt95')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_lookUp_packetId" id=link96 onMouseOver="ShowTip(event, 'tt96', 'link96')" onMouseOut="HideTip('tt96')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_lookUp_packetId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_lookUp_topicName" id=link97 onMouseOver="ShowTip(event, 'tt97', 'link97')" onMouseOut="HideTip('tt97')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_lookUp_topicName</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_packetIdHash" id=link98 onMouseOver="ShowTip(event, 'tt98', 'link98')" onMouseOut="HideTip('tt98')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_packetIdHash</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_remove" id=link99 onMouseOver="ShowTip(event, 'tt99', 'link99')" onMouseOut="HideTip('tt99')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_remove</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_removeKey_packetId" id=link100 onMouseOver="ShowTip(event, 'tt100', 'link100')" onMouseOut="HideTip('tt100')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_removeKey_packetId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_setKey_packetId" id=link101 onMouseOver="ShowTip(event, 'tt101', 'link101')" onMouseOut="HideTip('tt101')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_setKey_packetId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_topicHash" id=link102 onMouseOver="ShowTip(event, 'tt102', 'link102')" onMouseOut="HideTip('tt102')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_topicHash</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_add" id=link103 onMouseOver="ShowTip(event, 'tt103', 'link103')" onMouseOut="HideTip('tt103')" class=ISymbol>f_EPTF_MQTT_templateDB_add</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_cleanUp" id=link104 onMouseOver="ShowTip(event, 'tt104', 'link104')" onMouseOut="HideTip('tt104')" class=ISymbol>f_EPTF_MQTT_templateDB_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_get" id=link105 onMouseOver="ShowTip(event, 'tt105', 'link105')" onMouseOut="HideTip('tt105')" class=ISymbol>f_EPTF_MQTT_templateDB_get</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_init" id=link106 onMouseOver="ShowTip(event, 'tt106', 'link106')" onMouseOut="HideTip('tt106')" class=ISymbol>f_EPTF_MQTT_templateDB_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_lookUp" id=link107 onMouseOver="ShowTip(event, 'tt107', 'link107')" onMouseOut="HideTip('tt107')" class=ISymbol>f_EPTF_MQTT_templateDB_lookUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_cleanUp" id=link108 onMouseOver="ShowTip(event, 'tt108', 'link108')" onMouseOut="HideTip('tt108')" class=ISymbol>f_MQTT_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_eCtxBind" id=link109 onMouseOver="ShowTip(event, 'tt109', 'link109')" onMouseOut="HideTip('tt109')" class=ISymbol>f_MQTT_eCtxBind</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_eCtxReset" id=link110 onMouseOver="ShowTip(event, 'tt110', 'link110')" onMouseOut="HideTip('tt110')" class=ISymbol>f_MQTT_eCtxReset</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_eCtxUnbind" id=link111 onMouseOver="ShowTip(event, 'tt111', 'link111')" onMouseOut="HideTip('tt111')" class=ISymbol>f_MQTT_eCtxUnbind</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_cleanUp" id=link112 onMouseOver="ShowTip(event, 'tt112', 'link112')" onMouseOut="HideTip('tt112')" class=ISymbol>f_MQTT_step_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_init" id=link113 onMouseOver="ShowTip(event, 'tt113', 'link113')" onMouseOut="HideTip('tt113')" class=ISymbol>f_MQTT_step_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_loadTemplate_byIntIdx" id=link114 onMouseOver="ShowTip(event, 'tt114', 'link114')" onMouseOut="HideTip('tt114')" class=ISymbol>f_MQTT_step_loadTemplate_byIntIdx</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_loadTemplate_byStringId" id=link115 onMouseOver="ShowTip(event, 'tt115', 'link115')" onMouseOut="HideTip('tt115')" class=ISymbol>f_MQTT_step_loadTemplate_byStringId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_reportPingResponse" id=link116 onMouseOver="ShowTip(event, 'tt116', 'link116')" onMouseOut="HideTip('tt116')" class=ISymbol>f_MQTT_step_reportPingResponse</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_reportPublishResponse" id=link117 onMouseOver="ShowTip(event, 'tt117', 'link117')" onMouseOut="HideTip('tt117')" class=ISymbol>f_MQTT_step_reportPublishResponse</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_send" id=link118 onMouseOver="ShowTip(event, 'tt118', 'link118')" onMouseOut="HideTip('tt118')" class=ISymbol>f_MQTT_step_send</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setLocalAddress_byVars" id=link119 onMouseOver="ShowTip(event, 'tt119', 'link119')" onMouseOut="HideTip('tt119')" class=ISymbol>f_MQTT_step_setLocalAddress_byVars</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_clientId" id=link120 onMouseOver="ShowTip(event, 'tt120', 'link120')" onMouseOut="HideTip('tt120')" class=ISymbol>f_MQTT_step_setPublishMessage_add_clientId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_stringParam" id=link121 onMouseOver="ShowTip(event, 'tt121', 'link121')" onMouseOut="HideTip('tt121')" class=ISymbol>f_MQTT_step_setPublishMessage_add_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_varParams" id=link122 onMouseOver="ShowTip(event, 'tt122', 'link122')" onMouseOut="HideTip('tt122')" class=ISymbol>f_MQTT_step_setPublishMessage_add_varParams</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_stringParam" id=link123 onMouseOver="ShowTip(event, 'tt123', 'link123')" onMouseOut="HideTip('tt123')" class=ISymbol>f_MQTT_step_setPublishMessage_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setQos_intParam" id=link124 onMouseOver="ShowTip(event, 'tt124', 'link124')" onMouseOut="HideTip('tt124')" class=ISymbol>f_MQTT_step_setQos_intParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setRemoteAddress_byVars" id=link125 onMouseOver="ShowTip(event, 'tt125', 'link125')" onMouseOut="HideTip('tt125')" class=ISymbol>f_MQTT_step_setRemoteAddress_byVars</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_clientId" id=link126 onMouseOver="ShowTip(event, 'tt126', 'link126')" onMouseOut="HideTip('tt126')" class=ISymbol>f_MQTT_step_setTopic_add_clientId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_stringParam" id=link127 onMouseOver="ShowTip(event, 'tt127', 'link127')" onMouseOut="HideTip('tt127')" class=ISymbol>f_MQTT_step_setTopic_add_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_varParams" id=link128 onMouseOver="ShowTip(event, 'tt128', 'link128')" onMouseOut="HideTip('tt128')" class=ISymbol>f_MQTT_step_setTopic_add_varParams</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_stringParam" id=link129 onMouseOver="ShowTip(event, 'tt129', 'link129')" onMouseOut="HideTip('tt129')" class=ISymbol>f_MQTT_step_setTopic_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_startListening" id=link130 onMouseOver="ShowTip(event, 'tt130', 'link130')" onMouseOut="HideTip('tt130')" class=ISymbol>f_MQTT_step_startListening</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_transportClose" id=link131 onMouseOver="ShowTip(event, 'tt131', 'link131')" onMouseOut="HideTip('tt131')" class=ISymbol>f_MQTT_step_transportClose</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_transportConnect" id=link132 onMouseOver="ShowTip(event, 'tt132', 'link132')" onMouseOut="HideTip('tt132')" class=ISymbol>f_MQTT_step_transportConnect</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_MQTT_Transport_Logging_DEBUG" id=link133 onMouseOver="ShowTip(event, 'tt133', 'link133')" onMouseOut="HideTip('tt133')" class=ISymbol>f_MQTT_Transport_Logging_DEBUG</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_MQTT_Transport_Logging_ERROR" id=link134 onMouseOver="ShowTip(event, 'tt134', 'link134')" onMouseOut="HideTip('tt134')" class=ISymbol>f_MQTT_Transport_Logging_ERROR</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_MQTT_Transport_Logging_VERBOSE" id=link135 onMouseOver="ShowTip(event, 'tt135', 'link135')" onMouseOut="HideTip('tt135')" class=ISymbol>f_MQTT_Transport_Logging_VERBOSE</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_MQTT_Transport_Logging_WARNING" id=link136 onMouseOver="ShowTip(event, 'tt136', 'link136')" onMouseOut="HideTip('tt136')" class=ISymbol>f_MQTT_Transport_Logging_WARNING</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_addressDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_addr,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Add a socket address to the addressDB and return its index if no such entry yet, or return its index if already exists</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_addressDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Function to clean up the address database and release its resources</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_addressDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_addr,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Get a socket address from the addressDB by its index</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_addressDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Function to initialize the addressDB</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_addressDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Get the index of a socket entry in addressDB</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_addressDB_Socket2String(</td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap>p_sock</td><td class="PAfterParameters prettyprint "nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a socket address in Socket type format to the string format “IP address:<port number>” to be used as hash key</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_declareEvents() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Declares the FSM events to the CLL framework implemented by EPTF_MQTT_LGen_CT</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_declareSteps() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Declares the FSM steps to the CLL framework implemented by EPTF_MQTT_LGen_CT</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_dispatchEvent(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eventIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_fsmCtx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_IntegerList </td><td class="PParameter prettyprint " nowrap width=100%>pl_reportedArgs</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Dispatches events to an entity/fsm</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_getIntValue(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_IntegerList </td><td class="PParameter prettyprint " nowrap width=100%>pl_intList,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_number,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_value</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return boolean</td></tr></table></td></tr></table></blockquote>Retreives an element of an EPTF_IntegerList if it exists</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_IPL4asp_handleEvent() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>Handler function to be registered into the IPL4 transport layer EPTF_CLL_TransportIPL4_Functions. </div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_IPL4asp_handleMessage() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>Handler function to be regisitered into the IPL4 transport layer EPTF_CLL_TransportIPL4_Functions. </div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_IPL4asp_handleResult(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>Result </td><td class="PParameter prettyprint " nowrap width=100%>p_res</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks the result of an IPL4 transport operation and records an MQTT transport stats warning if unsuccessful</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_isFsmInitialized(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_fsmIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_sessionIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks if an FSM instance has already been initialized</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_LGen_init(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap>pl_name</td><td class="PAfterParameters prettyprint "nowrap>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The main initialization function for the EPTF_MQTT_LGen_CT component type</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LGen_initLogging() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializing CLL’s logging feature on the EPTF_MQTT_LGen_CT component type</div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_receiveEvent(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>ASP_Event </td><td class="PParameter prettyprint " nowrap width=100%>p_event</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The transport layer implementation EPTF_MQTT_Transport_Provider_CT can report received ASP_Event events to the load generator layer EPTF_MQTT_Transport_User_CT extended by EPTF_MQTT_LGen_CT using this function.</div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_receiveMessage(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The transport layer implementation EPTF_MQTT_Transport_Provider_CT can report received EPTF_MQTT_PDU message to the load generator layer EPTF_MQTT_Transport_User_CT extended by EPTF_MQTT_LGen_CT using this function.</div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This function is used to send out a message of a EPTF_MQTT_PDU using the registered function fcb_EPTF_MQTT_Transport_sendMessage of the underlying transport layer instance.</div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_transportApiResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Response </td><td class="PParameter prettyprint " nowrap width=100%>pl_rsp</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The transport layer implementation EPTF_MQTT_Transport_Provider_CT can report received EPTF_MQTT_Transport_Response responses to the load generator layer EPTF_MQTT_Transport_User_CT extended by EPTF_MQTT_LGen_CT using this function.</div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_cleanup() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>The main clean up function for the EPTF_MQTT_LocalTransport_CT component type</div></div><div class=CToolTip id="tt22"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_close(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_socketIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote>Close a TCP connection and remove its entry from the socketDB</div></div><div class=CToolTip id="tt23"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_connect(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_local,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_remote,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote>Open a TCP connection and store its data and state in socketDB</div></div><div class=CToolTip id="tt24"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_init() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>The main initialization function of the EPTF_MQTT_LocalTransport_CT component type</div></div><div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_initLogging() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>Initializing CLL’s logging feature on the EPTF_MQTT_LocalTransport_CT component type</div></div><div class=CToolTip id="tt26"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_IPL4_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_connId,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_remName,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_remPort,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>ProtoTuple </td><td class="PParameter prettyprint " nowrap width=100%>pl_proto,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>octetstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Send a message and add 1 message and its length to MQTT transport stats variable</div></div><div class=CToolTip id="tt27"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Function to send out a EPTF_MQTT_PDU message using the local transport. </div></div><div class=CToolTip id="tt28"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=3>function f_EPTF_MQTT_LocalTransport_sendApiResponse(</td></tr><tr><td> </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Response </td><td class="PParameter prettyprint " nowrap width=100%>pl_rsp</td></tr><tr><td class="PAfterParameters prettyprint "colspan=3>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Function to handle incoming transport API requests</div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>SocketEntry </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database</div></div><div class=CToolTip id="tt30"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_socketDB_cleanUp() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database</div></div><div class=CToolTip id="tt31"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>SocketEntry </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote>Retrieves an element from the <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database</div></div><div class=CToolTip id="tt32"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_socketDB_init() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database</div></div><div class=CToolTip id="tt33"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an SocketEntry element in <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database based on its socket data</div></div><div class=CToolTip id="tt34"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_lookUp_connId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_connId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an SocketEntry element in <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database based on its connection id</div></div><div class=CToolTip id="tt35"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Removes an element from the <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database and frees up its reserved resources</div></div><div class=CToolTip id="tt36"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_startListening(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_local,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote>Start listening on a local TCP socket and store its data and state in socketDB</div></div><div class=CToolTip id="tt37"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=3>function f_EPTF_MQTT_LocalTransport_transportApiRequest(</td></tr><tr><td> </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Request </td><td class="PParameter prettyprint " nowrap width=100%>pl_req</td></tr><tr><td class="PAfterParameters prettyprint "colspan=3>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Function to handle incoming transport API requests</div></div><div class=CToolTip id="tt38"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_DEBUG(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the DEBUG log level</div></div><div class=CToolTip id="tt39"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_ERROR(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the ERROR log level</div></div><div class=CToolTip id="tt40"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_VERBOSE(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the VERBOSE log level</div></div><div class=CToolTip id="tt41"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_WARNING(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the WARNING log level</div></div><div class=CToolTip id="tt42"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_cancelT_watchdog(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_publishIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Cancels the T_watchdog timer of an MQTT_Publish FSM</div></div><div class=CToolTip id="tt43"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Handles PUBLISH and publish response (PUB REC/PUB REL/PUB COMP) messages received from the peer (i.e. </div></div><div class=CToolTip id="tt44"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_fromSession(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Handles a publish transaction in case of QoS 1 and QoS 2 fsm requested by the application layer (e.g. </div></div><div class=CToolTip id="tt45"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Releaseing resources of an MQTT_Publish FSM</div></div><div class=CToolTip id="tt46"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_setState(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Publish_State </td><td class="PParameter prettyprint " nowrap width=100%>p_nextState</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sets the new state of a MQTT_Publish FSM</div></div><div class=CToolTip id="tt47"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_startT_watchdog(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_pIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>float </td><td class="PParameter prettyprint " nowrap width=100%>pl_time</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Start a T_watchdog timer in the MQTT_Publish FSM</div></div><div class=CToolTip id="tt48"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_watchdog(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_ScheduledAction </td><td class="PParameter prettyprint " nowrap width=100%>pl_action,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eventIndex</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Handles the T_watchdog event in the MQTT_Publish FSM</div></div><div class=CToolTip id="tt49"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Publish </td><td class="PParameter prettyprint " nowrap width=100%>p_pub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt50"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_check(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks if an element exists in the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt51"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_publishDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt52"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_Publish </td><td class="PParameter prettyprint " nowrap width=100%>p_pub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Retrieves an element from the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt53"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_publishDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database and creates its hashmap</div></div><div class=CToolTip id="tt54"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an MQTT_Publish element in <b>v_MQTT_publishDB</b> MQTT_Publish_DB database by its session and packet id-s</div></div><div class=CToolTip id="tt55"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_packetIdHash(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a pair of session ID & packet ID to the string format “session_sessionId:id_packetId” to be used as a hash key</div></div><div class=CToolTip id="tt56"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes an element from the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt57"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishResponsePacketId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_v3_1_1_ReqResp </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>Get the packet identifier of an MQTT message, if it is a response to a PUBLISH</div></div><div class=CToolTip id="tt58"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishResponseType(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_v3_1_1_ReqResp </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return boolean</td></tr></table></td></tr></table></blockquote>Checks if an MQTT message is a response to a PUBLISH</div></div><div class=CToolTip id="tt59"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_qos_int2enum(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap>p_qos</td><td class="PAfterParameters prettyprint "nowrap>) return QoS</td></tr></table></td></tr></table></blockquote>Converts the integer value of QoS to its enumerated value</div></div><div class=CToolTip id="tt60"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_cancelT_keepalive(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_sessionIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Cancels the T_keepalive timer of an MQTT_Session FSM</div></div><div class=CToolTip id="tt61"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_deregisterPublish(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes a publish index from an MQTT_Session</div></div><div class=CToolTip id="tt62"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_deregisterSubscription(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes a subscription index from MQTT_Session</div></div><div class=CToolTip id="tt63"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_fromApp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This is the entry point for an MQTT session fsm handling events coming from the application layer (e.g. </div></div><div class=CToolTip id="tt64"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This is the entry point for an MQTT session fsm from the environment layer (e.g. </div></div><div class=CToolTip id="tt65"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_getNextPacketId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_StepCtx </td><td class="PParameter prettyprint " nowrap width=100%>p_ctx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Sets the value of the packet id field in the next message to be sent in a session</div></div><div class=CToolTip id="tt66"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_keepalive(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_ScheduledAction </td><td class="PParameter prettyprint " nowrap width=100%>pl_action,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eventIndex</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Handles the T_keepalive timer event in the MQTT_Session FSM</div></div><div class=CToolTip id="tt67"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_registerPublish(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Adds a publish index to an MQTT_Session</div></div><div class=CToolTip id="tt68"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_registerSubscription(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Adds a subscription index to an MQTT_Session</div></div><div class=CToolTip id="tt69"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Releases all resources related to an MQTT_Session and removes it from the MQTT_Session_DB</div></div><div class=CToolTip id="tt70"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sends a message to the transort layer with type EPTF_MQTT_PDU and the provided session index</div></div><div class=CToolTip id="tt71"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_setState(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Session_State </td><td class="PParameter prettyprint " nowrap width=100%>p_nextState</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sets a new state for an MQTT_Session FSM</div></div><div class=CToolTip id="tt72"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_startT_keepalive(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_sIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>float </td><td class="PParameter prettyprint " nowrap width=100%>pl_time</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Starts the T_keepalive timer for an MQTT_Session FSM</div></div><div class=CToolTip id="tt73"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Session </td><td class="PParameter prettyprint " nowrap width=100%>p_session</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database</div></div><div class=CToolTip id="tt74"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_sessionDB_addrHash(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap>p_sock</td><td class="PAfterParameters prettyprint "nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a socket address in Socket type format to the string format “IP address:<port number>” to be used as a hash key</div></div><div class=CToolTip id="tt75"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_check(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks if a session element exists in the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database</div></div><div class=CToolTip id="tt76"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_sessionDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database</div></div><div class=CToolTip id="tt77"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_Session </td><td class="PParameter prettyprint " nowrap width=100%>p_session</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Retrieves a session’s data from the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database</div></div><div class=CToolTip id="tt78"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_sessionDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database and adds its hash to <b>v_MQTT_sessionDB.hashRef</b></div></div><div class=CToolTip id="tt79"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of a session in <b>v_MQTT_sessionDB</b> MQTT_Session_DB database by its socket address</div></div><div class=CToolTip id="tt80"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes an element from the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database and releases its resources</div></div><div class=CToolTip id="tt81"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_setKey(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sets the hash of the local socket address of a session by the session index</div></div><div class=CToolTip id="tt82"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_setCtx(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_eIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_fsmIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_StepCtx </td><td class="PParameter prettyprint " nowrap width=100%>p_ctx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Sets the instance pointers of MQTT_StepCtx to the related instances of a simulated device (entity) and FSM</div></div><div class=CToolTip id="tt83"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_setStepCtx(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_StepCtx </td><td class="PParameter prettyprint " nowrap width=100%>p_ctx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Sets the entity and FSM indexes in the MQTT step context</div></div><div class=CToolTip id="tt84"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_Socket2String(</td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap>p_sock</td><td class="PAfterParameters prettyprint "nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Converts socket data from Socket type to the format “hostname:<port number>”</div></div><div class=CToolTip id="tt85"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_stack_fromApp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_StepCtx </td><td class="PParameter prettyprint " nowrap width=100%>p_ctx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This is the main entry point for the MQTT stack realization of the EPTF_MQTT_LGen_CT component that handles messages received from the application layer (e.g. </div></div><div class=CToolTip id="tt86"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_stack_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This is the main entry point for the MQTT stack realization of the EPTF_MQTT_LGen_CT component that handles messages received from the environment layer (e.g. </div></div><div class=CToolTip id="tt87"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscription_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Implements part of the MQTT_Subscription FSM that handles the events coming from the environment</div></div><div class=CToolTip id="tt88"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscription_fromSession(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Implements part of the MQTT_Subscription FSM that handles the events coming from the MQTT_Session</div></div><div class=CToolTip id="tt89"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscription_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removing resources related to MQTT_Subscription FSM</div></div><div class=CToolTip id="tt90"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscription_setState(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Subscription_State </td><td class="PParameter prettyprint " nowrap width=100%>p_nextState</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sets a new state of a MQTT_Subscription FSM</div></div><div class=CToolTip id="tt91"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Subscription </td><td class="PParameter prettyprint " nowrap width=100%>p_sub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt92"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_check(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks if an element at an index exists the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt93"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_subscriptionDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt94"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_Subscription </td><td class="PParameter prettyprint " nowrap width=100%>p_sub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Retrieves an element from the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt95"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_subscriptionDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt96"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_lookUp_packetId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an MQTT_Subscription element in <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database by a session ID and packet ID</div></div><div class=CToolTip id="tt97"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_lookUp_topicName(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>p_topicName</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an MQTT_Subscription element in <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database by a session ID and packet ID</div></div><div class=CToolTip id="tt98"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_packetIdHash(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a pair of session ID & packet ID to the string format “session_sessionId:id_packetId” to be used as hash key</div></div><div class=CToolTip id="tt99"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes an element from the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt100"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_removeKey_packetId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes the element from the subscription hashmap identified by its session ID and packet ID</div></div><div class=CToolTip id="tt101"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_setKey_packetId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Insert an integer element to the subscription hashmap, key is composed from session ID and packet ID</div></div><div class=CToolTip id="tt102"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_topicHash(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>p_topic</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a pair of session ID & topic to the string format “session_sessionId:topic_topic” to be used as hash key</div></div><div class=CToolTip id="tt103"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_templateDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Template </td><td class="PParameter prettyprint " nowrap width=100%>p_template</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_templateDB</b> MQTT_Template_DB database</div></div><div class=CToolTip id="tt104"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_templateDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_templateDB</b> MQTT_Template_DB database</div></div><div class=CToolTip id="tt105"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_templateDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_v3_1_1_ReqResp </td><td class="PParameter prettyprint " nowrap width=100%>p_pdu</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Retrieves an element from the <b>v_MQTT_templateDB</b> MQTT_Template_DB database</div></div><div class=CToolTip id="tt106"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_templateDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_templateDB</b> MQTT_Template_DB database by adding the templates given in tsp_EPTF_MQTT_LGen_templates</div></div><div class=CToolTip id="tt107"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_templateDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>p_id</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an MQTT_Template element in <b>v_MQTT_templateDB</b> MQTT_Template_DB database</div></div><div class=CToolTip id="tt108"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_MQTT_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>The main clean up function for the EPTF_MQTT_LGen_CT component type</div></div><div class=CToolTip id="tt109"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_eCtxBind(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return EPTF_IntegerList</td></tr></table></td></tr></table></blockquote>This function is called by the CLL for each entity instance created on a particular instace of EPTF_MQTT_LGen_CT</div></div><div class=CToolTip id="tt110"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_MQTT_eCtxReset(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap>pl_eIdx</td><td class="PAfterParameters prettyprint "nowrap>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The resources reserved during f_MQTT_eCtxBind are reinitalized (reset). </div></div><div class=CToolTip id="tt111"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_MQTT_eCtxUnbind(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap>pl_eIdx</td><td class="PAfterParameters prettyprint "nowrap>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The reverse operation of f_MQTT_eCtxBind. </div></div><div class=CToolTip id="tt112"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_cleanUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test Step to free up the MQTT FSM context for the caller FSM. </div></div><div class=CToolTip id="tt113"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_init(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test Step to dynamically allocate and initialize the MQTT FSM context for the caller FSM. </div></div><div class=CToolTip id="tt114"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_loadTemplate_byIntIdx(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to load a MQTT_Template from tsp_EPTF_MQTT_LGen_templates into <b>v_MQTT_msgToSend</b> (which can be sent using the send test step) by its integer index in test step args.</div></div><div class=CToolTip id="tt115"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_loadTemplate_byStringId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to load a MQTT_Template from tsp_EPTF_MQTT_LGen_templates into <b>v_MQTT_msgToSend</b> (which can be sent using the send test step) by its string Id.</div></div><div class=CToolTip id="tt116"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_reportPingResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the report ping response to enable/disable using using step arguments.</div></div><div class=CToolTip id="tt117"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_reportPublishResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the report publish response to enable/disable using step arguments</div></div><div class=CToolTip id="tt118"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to send out an MQTT message from <b>v_MQTT_msgToSend</b>. </div></div><div class=CToolTip id="tt119"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setLocalAddress_byVars(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the local address in the entity context.</div></div><div class=CToolTip id="tt120"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_add_clientId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add client ID of the current session to the payload of a PUBLISH message.</div></div><div class=CToolTip id="tt121"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_add_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to concatenate a string to the content of the PUBLISH message</div></div><div class=CToolTip id="tt122"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_add_varParams(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add the content of a set of variables to the payload of a PUBLISH message.</div></div><div class=CToolTip id="tt123"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the content of the payload in PUBLISH message.</div></div><div class=CToolTip id="tt124"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setQos_intParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the QoS level in SUBSCRIBE and PUBLISH messages using test step arguments</div></div><div class=CToolTip id="tt125"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setRemoteAddress_byVars(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the remote address in the FSM context.</div></div><div class=CToolTip id="tt126"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_add_clientId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add client ID in the current session to the topic in the first subscription in SUBSCRIBE and to PUBLISH message.</div></div><div class=CToolTip id="tt127"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_add_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add the string value referred by the test step argument to the topic of the first subscription entry in SUBSCRIBE and PUBLISH messages.</div></div><div class=CToolTip id="tt128"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_add_varParams(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add the string value of variables referred by the test step argument to the topic of the first subscription entry in SUBSCRIBE and PUBLISH messages.</div></div><div class=CToolTip id="tt129"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the string value referred by the test step argument as the topic of the first subscription entry in SUBSCRIBE and PUBLISH messages.</div></div><div class=CToolTip id="tt130"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_startListening(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The test step expects that a transport endpoint is set in the addressDB as a local address. </div></div><div class=CToolTip id="tt131"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_transportClose(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The test step expects that a transport endpoint is set in the addressDB as a local address. </div></div><div class=CToolTip id="tt132"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_transportConnect(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The test step expects that local and remote socket adresses are set in the addressDB. </div></div><div class=CToolTip id="tt133"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_Transport_Logging_DEBUG(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the DEBUG log level</div></div><div class=CToolTip id="tt134"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_Transport_Logging_ERROR(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the ERROR log level</div></div><div class=CToolTip id="tt135"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_Transport_Logging_VERBOSE(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the VERBOSE log level</div></div><div class=CToolTip id="tt136"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_Transport_Logging_WARNING(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the WARNING log level</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/index/General.html b/apidoc/html/index/General.html
new file mode 100644
index 0000000..8c4dbdf
--- /dev/null
+++ b/apidoc/html/index/General.html
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Massive IoT Test Tools - Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="FramedIndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Index</div><div class=INavigationBar>$#! · 0-9 · A · B · <a href="#C">C</a> · D · <a href="#E">E</a> · <a href="General2.html#F">F</a> · G · H · I · J · K · L · <a href="General3.html#M">M</a> · N · O · P · Q · R · S · <a href="General3.html#T">T</a> · U · V · W · X · Y · Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="C"></a>C</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_CONNACK_Accepted" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>c_MQTT_eventIdx_CONNACK_Accepted</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_CONNACK_Refused" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>c_MQTT_eventIdx_CONNACK_Refused</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PING_Request" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>c_MQTT_eventIdx_PING_Request</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PING_Response" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>c_MQTT_eventIdx_PING_Response</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBACK" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>c_MQTT_eventIdx_PUBACK</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBCOMP" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>c_MQTT_eventIdx_PUBCOMP</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBLISH" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>c_MQTT_eventIdx_PUBLISH</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBLISH_Timeout" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>c_MQTT_eventIdx_PUBLISH_Timeout</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBREC" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>c_MQTT_eventIdx_PUBREC</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBREL" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>c_MQTT_eventIdx_PUBREL</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_SUBACK_Accepted" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>c_MQTT_eventIdx_SUBACK_Accepted</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_SUBACK_Refused" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>c_MQTT_eventIdx_SUBACK_Refused</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_transportClosed" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>c_MQTT_eventIdx_transportClosed</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_transportFail" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>c_MQTT_eventIdx_transportFail</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_transportSucc" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>c_MQTT_eventIdx_transportSucc</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_UNSUBACK" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>c_MQTT_eventIdx_UNSUBACK</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_CONNACK_Accepted" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>c_MQTT_eventName_CONNACK_Accepted</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_CONNACK_Refused" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>c_MQTT_eventName_CONNACK_Refused</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PING_Request" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>c_MQTT_eventName_PING_Request</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PING_Response" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')" class=ISymbol>c_MQTT_eventName_PING_Response</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBACK" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')" class=ISymbol>c_MQTT_eventName_PUBACK</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBCOMP" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')" class=ISymbol>c_MQTT_eventName_PUBCOMP</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBLISH" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')" class=ISymbol>c_MQTT_eventName_PUBLISH</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBLISH_Timeout" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')" class=ISymbol>c_MQTT_eventName_PUBLISH_Timeout</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBREC" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')" class=ISymbol>c_MQTT_eventName_PUBREC</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBREL" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')" class=ISymbol>c_MQTT_eventName_PUBREL</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_SUBACK_Accepted" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')" class=ISymbol>c_MQTT_eventName_SUBACK_Accepted</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_SUBACK_Refused" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')" class=ISymbol>c_MQTT_eventName_SUBACK_Refused</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_transportClosed" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')" class=ISymbol>c_MQTT_eventName_transportClosed</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_transportFail" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')" class=ISymbol>c_MQTT_eventName_transportFail</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_transportSucc" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')" class=ISymbol>c_MQTT_eventName_transportSucc</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_UNSUBACK" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')" class=ISymbol>c_MQTT_eventName_UNSUBACK</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_cleanUp" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')" class=ISymbol>c_MQTT_stepIdx_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_init" id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')" class=ISymbol>c_MQTT_stepIdx_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_loadTemplate_byIntIdx" id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')" class=ISymbol>c_MQTT_stepIdx_loadTemplate_byIntIdx</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_loadTemplate_byStringId" id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')" class=ISymbol>c_MQTT_stepIdx_loadTemplate_byStringId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_reportPingResponse" id=link37 onMouseOver="ShowTip(event, 'tt37', 'link37')" onMouseOut="HideTip('tt37')" class=ISymbol>c_MQTT_stepIdx_reportPingResponse</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_reportPublishResponse" id=link38 onMouseOver="ShowTip(event, 'tt38', 'link38')" onMouseOut="HideTip('tt38')" class=ISymbol>c_MQTT_stepIdx_reportPublishResponse</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_send" id=link39 onMouseOver="ShowTip(event, 'tt39', 'link39')" onMouseOut="HideTip('tt39')" class=ISymbol>c_MQTT_stepIdx_send</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setLocalAddress_byVars" id=link40 onMouseOver="ShowTip(event, 'tt40', 'link40')" onMouseOut="HideTip('tt40')" class=ISymbol>c_MQTT_stepIdx_setLocalAddress_byVars</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_add_clientId" id=link41 onMouseOver="ShowTip(event, 'tt41', 'link41')" onMouseOut="HideTip('tt41')" class=ISymbol>c_MQTT_stepIdx_setPublishMessage_add_clientId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_add_stringParam" id=link42 onMouseOver="ShowTip(event, 'tt42', 'link42')" onMouseOut="HideTip('tt42')" class=ISymbol>c_MQTT_stepIdx_setPublishMessage_add_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_add_varParams" id=link43 onMouseOver="ShowTip(event, 'tt43', 'link43')" onMouseOut="HideTip('tt43')" class=ISymbol>c_MQTT_stepIdx_setPublishMessage_add_varParams</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_stringParam" id=link44 onMouseOver="ShowTip(event, 'tt44', 'link44')" onMouseOut="HideTip('tt44')" class=ISymbol>c_MQTT_stepIdx_setPublishMessage_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setQos_intParam" id=link45 onMouseOver="ShowTip(event, 'tt45', 'link45')" onMouseOut="HideTip('tt45')" class=ISymbol>c_MQTT_stepIdx_setQos_intParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setRemoteAddress_byVars" id=link46 onMouseOver="ShowTip(event, 'tt46', 'link46')" onMouseOut="HideTip('tt46')" class=ISymbol>c_MQTT_stepIdx_setRemoteAddress_byVars</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_add_clientId" id=link47 onMouseOver="ShowTip(event, 'tt47', 'link47')" onMouseOut="HideTip('tt47')" class=ISymbol>c_MQTT_stepIdx_setTopic_add_clientId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_add_stringParam" id=link48 onMouseOver="ShowTip(event, 'tt48', 'link48')" onMouseOut="HideTip('tt48')" class=ISymbol>c_MQTT_stepIdx_setTopic_add_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_add_varParams" id=link49 onMouseOver="ShowTip(event, 'tt49', 'link49')" onMouseOut="HideTip('tt49')" class=ISymbol>c_MQTT_stepIdx_setTopic_add_varParams</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_stringParam" id=link50 onMouseOver="ShowTip(event, 'tt50', 'link50')" onMouseOut="HideTip('tt50')" class=ISymbol>c_MQTT_stepIdx_setTopic_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_startListening" id=link51 onMouseOver="ShowTip(event, 'tt51', 'link51')" onMouseOut="HideTip('tt51')" class=ISymbol>c_MQTT_stepIdx_startListening</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_transportClose" id=link52 onMouseOver="ShowTip(event, 'tt52', 'link52')" onMouseOut="HideTip('tt52')" class=ISymbol>c_MQTT_stepIdx_transportClose</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_transportConnect" id=link53 onMouseOver="ShowTip(event, 'tt53', 'link53')" onMouseOut="HideTip('tt53')" class=ISymbol>c_MQTT_stepIdx_transportConnect</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_cleanUp" id=link54 onMouseOver="ShowTip(event, 'tt54', 'link54')" onMouseOut="HideTip('tt54')" class=ISymbol>c_MQTT_stepName_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_init" id=link55 onMouseOver="ShowTip(event, 'tt55', 'link55')" onMouseOut="HideTip('tt55')" class=ISymbol>c_MQTT_stepName_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_loadTemplate_byIntIdx" id=link56 onMouseOver="ShowTip(event, 'tt56', 'link56')" onMouseOut="HideTip('tt56')" class=ISymbol>c_MQTT_stepName_loadTemplate_byIntIdx</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_loadTemplate_byStringId" id=link57 onMouseOver="ShowTip(event, 'tt57', 'link57')" onMouseOut="HideTip('tt57')" class=ISymbol>c_MQTT_stepName_loadTemplate_byStringId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_reportPingResponse" id=link58 onMouseOver="ShowTip(event, 'tt58', 'link58')" onMouseOut="HideTip('tt58')" class=ISymbol>c_MQTT_stepName_reportPingResponse</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_reportPublishResponse" id=link59 onMouseOver="ShowTip(event, 'tt59', 'link59')" onMouseOut="HideTip('tt59')" class=ISymbol>c_MQTT_stepName_reportPublishResponse</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_send" id=link60 onMouseOver="ShowTip(event, 'tt60', 'link60')" onMouseOut="HideTip('tt60')" class=ISymbol>c_MQTT_stepName_send</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setLocalAddress_byVars" id=link61 onMouseOver="ShowTip(event, 'tt61', 'link61')" onMouseOut="HideTip('tt61')" class=ISymbol>c_MQTT_stepName_setLocalAddress_byVars</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_add_clientId" id=link62 onMouseOver="ShowTip(event, 'tt62', 'link62')" onMouseOut="HideTip('tt62')" class=ISymbol>c_MQTT_stepName_setPublishMessage_add_clientId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_add_stringParam" id=link63 onMouseOver="ShowTip(event, 'tt63', 'link63')" onMouseOut="HideTip('tt63')" class=ISymbol>c_MQTT_stepName_setPublishMessage_add_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_add_varParams" id=link64 onMouseOver="ShowTip(event, 'tt64', 'link64')" onMouseOut="HideTip('tt64')" class=ISymbol>c_MQTT_stepName_setPublishMessage_add_varParams</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_stringParam" id=link65 onMouseOver="ShowTip(event, 'tt65', 'link65')" onMouseOut="HideTip('tt65')" class=ISymbol>c_MQTT_stepName_setPublishMessage_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setQos_intParam" id=link66 onMouseOver="ShowTip(event, 'tt66', 'link66')" onMouseOut="HideTip('tt66')" class=ISymbol>c_MQTT_stepName_setQos_intParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setRemoteAddress_byVars" id=link67 onMouseOver="ShowTip(event, 'tt67', 'link67')" onMouseOut="HideTip('tt67')" class=ISymbol>c_MQTT_stepName_setRemoteAddress_byVars</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_add_clientId" id=link68 onMouseOver="ShowTip(event, 'tt68', 'link68')" onMouseOut="HideTip('tt68')" class=ISymbol>c_MQTT_stepName_setTopic_add_clientId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_add_stringParam" id=link69 onMouseOver="ShowTip(event, 'tt69', 'link69')" onMouseOut="HideTip('tt69')" class=ISymbol>c_MQTT_stepName_setTopic_add_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_add_varParams" id=link70 onMouseOver="ShowTip(event, 'tt70', 'link70')" onMouseOut="HideTip('tt70')" class=ISymbol>c_MQTT_stepName_setTopic_add_varParams</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_stringParam" id=link71 onMouseOver="ShowTip(event, 'tt71', 'link71')" onMouseOut="HideTip('tt71')" class=ISymbol>c_MQTT_stepName_setTopic_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_startListening" id=link72 onMouseOver="ShowTip(event, 'tt72', 'link72')" onMouseOut="HideTip('tt72')" class=ISymbol>c_MQTT_stepName_startListening</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_transportClose" id=link73 onMouseOver="ShowTip(event, 'tt73', 'link73')" onMouseOut="HideTip('tt73')" class=ISymbol>c_MQTT_stepName_transportClose</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_transportConnect" id=link74 onMouseOver="ShowTip(event, 'tt74', 'link74')" onMouseOut="HideTip('tt74')" class=ISymbol>c_MQTT_stepName_transportConnect</a></td></tr><tr><td class=IHeading><a name="E"></a>E</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" id=link75 onMouseOver="ShowTip(event, 'tt75', 'link75')" onMouseOut="HideTip('tt75')" class=ISymbol>EPTF_MQTT_LGen_CT</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_Definitions" id=link76 onMouseOver="ShowTip(event, 'tt76', 'link76')" onMouseOut="HideTip('tt76')" class=ISymbol>EPTF_MQTT_LGen_Definitions</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#EPTF_MQTT_LGen_Functions" id=link77 onMouseOver="ShowTip(event, 'tt77', 'link77')" onMouseOut="HideTip('tt77')" class=ISymbol>EPTF_MQTT_LGen_Functions</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Definitions-ttcn.html#EPTF_MQTT_LocalTransport_Definitions" id=link78 onMouseOver="ShowTip(event, 'tt78', 'link78')" onMouseOut="HideTip('tt78')" class=ISymbol>EPTF_MQTT_LocalTransport_Definitions</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#EPTF_MQTT_LocalTransport_Functions" id=link79 onMouseOver="ShowTip(event, 'tt79', 'link79')" onMouseOut="HideTip('tt79')" class=ISymbol>EPTF_MQTT_LocalTransport_Functions</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" id=link80 onMouseOver="ShowTip(event, 'tt80', 'link80')" onMouseOut="HideTip('tt80')" class=ISymbol>EPTF_MQTT_PDU</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_close" id=link81 onMouseOver="ShowTip(event, 'tt81', 'link81')" onMouseOut="HideTip('tt81')" class=ISymbol>EPTF_MQTT_Transport_close</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_connect" id=link82 onMouseOver="ShowTip(event, 'tt82', 'link82')" onMouseOut="HideTip('tt82')" class=ISymbol>EPTF_MQTT_Transport_connect</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Definitions" id=link83 onMouseOver="ShowTip(event, 'tt83', 'link83')" onMouseOut="HideTip('tt83')" class=ISymbol>EPTF_MQTT_Transport_Definitions</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Provider_CT" id=link84 onMouseOver="ShowTip(event, 'tt84', 'link84')" onMouseOut="HideTip('tt84')" class=ISymbol>EPTF_MQTT_Transport_Provider_CT</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Request" id=link85 onMouseOver="ShowTip(event, 'tt85', 'link85')" onMouseOut="HideTip('tt85')" class=ISymbol>EPTF_MQTT_Transport_Request</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_RequestParams" id=link86 onMouseOver="ShowTip(event, 'tt86', 'link86')" onMouseOut="HideTip('tt86')" class=ISymbol>EPTF_MQTT_Transport_RequestParams</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Response" id=link87 onMouseOver="ShowTip(event, 'tt87', 'link87')" onMouseOut="HideTip('tt87')" class=ISymbol>EPTF_MQTT_Transport_Response</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_ResponseParams" id=link88 onMouseOver="ShowTip(event, 'tt88', 'link88')" onMouseOut="HideTip('tt88')" class=ISymbol>EPTF_MQTT_Transport_ResponseParams</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_startListening" id=link89 onMouseOver="ShowTip(event, 'tt89', 'link89')" onMouseOut="HideTip('tt89')" class=ISymbol>EPTF_MQTT_Transport_startListening</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_User_CT" id=link90 onMouseOver="ShowTip(event, 'tt90', 'link90')" onMouseOut="HideTip('tt90')" class=ISymbol>EPTF_MQTT_Transport_User_CT</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_TransportParameters" id=link91 onMouseOver="ShowTip(event, 'tt91', 'link91')" onMouseOut="HideTip('tt91')" class=ISymbol>EPTF_MQTT_TransportParameters</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_CONNACK_Accepted := 3</td></tr></table></blockquote>Integer constant for the MQTT CONNACK accepted indication</div></div><div class=CToolTip id="tt2"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_CONNACK_Refused := 4</td></tr></table></blockquote>Integer constant for the MQTT CONNACK refused indication</div></div><div class=CToolTip id="tt3"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PING_Request := 9</td></tr></table></blockquote>Integer constant for the MQTT PING request indication</div></div><div class=CToolTip id="tt4"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PING_Response := 10</td></tr></table></blockquote>Integer constant for the MQTT PING response indication</div></div><div class=CToolTip id="tt5"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBACK := 11</td></tr></table></blockquote>Integer constant for the MQTT PUBACK indication</div></div><div class=CToolTip id="tt6"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBCOMP := 14</td></tr></table></blockquote>Integer constant for the MQTT PUBCOMP indication</div></div><div class=CToolTip id="tt7"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBLISH := 8</td></tr></table></blockquote>Integer constant for the MQTT PUBLISH indication</div></div><div class=CToolTip id="tt8"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBLISH_Timeout := 15</td></tr></table></blockquote>Integer constant for the MQTT PUBLISH timeout indication</div></div><div class=CToolTip id="tt9"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBREC := 12</td></tr></table></blockquote>Integer constant for the MQTT PUBREC indication</div></div><div class=CToolTip id="tt10"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_PUBREL := 13</td></tr></table></blockquote>Integer constant for the MQTT PUBREL indication</div></div><div class=CToolTip id="tt11"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_SUBACK_Accepted := 5</td></tr></table></blockquote>Integer constant for the MQTT SUBACK accepted indication</div></div><div class=CToolTip id="tt12"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_SUBACK_Refused := 6</td></tr></table></blockquote>Integer constant for the MQTT SUBACK refused indication</div></div><div class=CToolTip id="tt13"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_transportClosed := 2</td></tr></table></blockquote>Integer constant for the MQTT transport closed indication</div></div><div class=CToolTip id="tt14"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_transportFail := 1</td></tr></table></blockquote>Integer constant for the MQTT transport fail indication</div></div><div class=CToolTip id="tt15"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_transportSucc := 0</td></tr></table></blockquote>Integer constant for the MQTT transport succesful indication</div></div><div class=CToolTip id="tt16"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_eventIdx_UNSUBACK := 7</td></tr></table></blockquote>Integer constant for the MQTT UNSUBACK indication</div></div><div class=CToolTip id="tt17"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_CONNACK_Accepted := "MQTT rsp: CONNACK Accepted"</td></tr></table></blockquote>Charstring constant for the MQTT CONNACK accepted indication</div></div><div class=CToolTip id="tt18"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_CONNACK_Refused := "MQTT rsp: CONNACK Refused"</td></tr></table></blockquote>Charstring constant for the MQTT CONNACK refused indication</div></div><div class=CToolTip id="tt19"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PING_Request := "MQTT req: PING"</td></tr></table></blockquote>Charstring constant for the MQTT PING request indication</div></div><div class=CToolTip id="tt20"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PING_Response := "MQTT rsp: PING"</td></tr></table></blockquote>Charstring constant for the MQTT PING response indication</div></div><div class=CToolTip id="tt21"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBACK := "MQTT rsp: PUBACK"</td></tr></table></blockquote>Charstring constant for the MQTT PUBACK indication</div></div><div class=CToolTip id="tt22"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBCOMP := "MQTT rsp: PUBCOMP"</td></tr></table></blockquote>Charstring constant for the MQTT PUBCOMP indication</div></div><div class=CToolTip id="tt23"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBLISH := "MQTT req: PUBLISH"</td></tr></table></blockquote>Charstring constant for the MQTT PUBLISH indication</div></div><div class=CToolTip id="tt24"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBLISH_Timeout := "MQTT timeout: PUBLISH Timeout"</td></tr></table></blockquote>Charstring constant for the MQTT PUBLISH timeout indication</div></div><div class=CToolTip id="tt25"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBREC := "MQTT rsp: PUBREC"</td></tr></table></blockquote>Charstring constant for the MQTT PUBREC indication</div></div><div class=CToolTip id="tt26"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_PUBREL := "MQTT req: PUBREL"</td></tr></table></blockquote>Charstring constant for the MQTT PUBREL indication</div></div><div class=CToolTip id="tt27"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_SUBACK_Accepted := "MQTT rsp: SUBACK Accepted"</td></tr></table></blockquote>Charstring constant for the MQTT SUBACK accepted indication</div></div><div class=CToolTip id="tt28"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_SUBACK_Refused := "MQTT rsp: SUBACK Refused"</td></tr></table></blockquote>Charstring constant for the MQTT SUBACK refused indication</div></div><div class=CToolTip id="tt29"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_transportClosed := "MQTT transport: connection closed"</td></tr></table></blockquote>Charstring constant for the MQTT transport closed indication</div></div><div class=CToolTip id="tt30"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_transportFail := "MQTT transport: fail rsp"</td></tr></table></blockquote>Charstring constant for the MQTT transport fail indication</div></div><div class=CToolTip id="tt31"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_transportSucc := "MQTT transport: succ rsp"</td></tr></table></blockquote>Charstring constant for the MQTT transport succesful indication</div></div><div class=CToolTip id="tt32"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_eventName_UNSUBACK := "MQTT rsp: UNSUBACK"</td></tr></table></blockquote>Charstring constant for the MQTT UNSUBACK indication</div></div><div class=CToolTip id="tt33"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_cleanUp := 1</td></tr></table></blockquote>Integer constant for the MQTT clean up test step</div></div><div class=CToolTip id="tt34"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_init := 0</td></tr></table></blockquote>Integer constant for the MQTT init test step</div></div><div class=CToolTip id="tt35"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_loadTemplate_byIntIdx := 7</td></tr></table></blockquote>Integer constant for the MQTT load template by integer idx pointer test step</div></div><div class=CToolTip id="tt36"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_loadTemplate_byStringId := 8</td></tr></table></blockquote>Integer constant for the MQTT load template by string id test step</div></div><div class=CToolTip id="tt37"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_reportPingResponse := 19</td></tr></table></blockquote>Integer constant for the MQTT enabling/disabling the reporting of a ping response test step</div></div><div class=CToolTip id="tt38"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_reportPublishResponse := 20</td></tr></table></blockquote>Integer constant for the MQTT enabling/disabling the reporting of a publish response test step</div></div><div class=CToolTip id="tt39"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_send := 9</td></tr></table></blockquote>Integer constant for the MQTT send test step</div></div><div class=CToolTip id="tt40"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setLocalAddress_byVars := 2</td></tr></table></blockquote>Integer constant for the MQTT set local address by variables test step</div></div><div class=CToolTip id="tt41"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_add_clientId := 18</td></tr></table></blockquote>Integer constant for the MQTT set publish by adding the client id test step</div></div><div class=CToolTip id="tt42"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_add_stringParam := 16</td></tr></table></blockquote>Integer constant for the MQTT set publish by adding a string parameter test step</div></div><div class=CToolTip id="tt43"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_add_varParams := 17</td></tr></table></blockquote>Integer constant for the MQTT set publish by adding variable parameters test step</div></div><div class=CToolTip id="tt44"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setPublishMessage_stringParam := 15</td></tr></table></blockquote>Integer constant for the MQTT set publish message using a string parameter test step</div></div><div class=CToolTip id="tt45"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setQos_intParam := 14</td></tr></table></blockquote>Integer constant for the MQTT set QoS using integer parameter test step</div></div><div class=CToolTip id="tt46"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setRemoteAddress_byVars := 3</td></tr></table></blockquote>Integer constant for the MQTT set remote address by variables test step</div></div><div class=CToolTip id="tt47"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_add_clientId := 13</td></tr></table></blockquote>Integer constant for the MQTT set topic by adding the client id test step</div></div><div class=CToolTip id="tt48"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_add_stringParam := 11</td></tr></table></blockquote>Integer constant for the MQTT set topic by adding a string test step</div></div><div class=CToolTip id="tt49"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_add_varParams := 12</td></tr></table></blockquote>Integer constant for the MQTT set topic by adding variable parameters test step</div></div><div class=CToolTip id="tt50"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_setTopic_stringParam := 10</td></tr></table></blockquote>Integer constant for the MQTT set topic by string parameter test step</div></div><div class=CToolTip id="tt51"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_startListening := 6</td></tr></table></blockquote>Integer constant for the MQTT start listening test step</div></div><div class=CToolTip id="tt52"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_transportClose := 5</td></tr></table></blockquote>Integer constant for the MQTT transport close test step</div></div><div class=CToolTip id="tt53"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const integer c_MQTT_stepIdx_transportConnect := 4</td></tr></table></blockquote>Integer constant for the MQTT transport connect test step</div></div><div class=CToolTip id="tt54"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_cleanUp := "MQTT Applib: cleanUp"</td></tr></table></blockquote>Charstring constant for the MQTT clean up test step</div></div><div class=CToolTip id="tt55"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_init := "MQTT Applib: init"</td></tr></table></blockquote>Charstring constant for the MQTT init test step</div></div><div class=CToolTip id="tt56"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_loadTemplate_byIntIdx := "MQTT Applib: loadTemplate_byIntIdx"</td></tr></table></blockquote>Charstring constant for the MQTT load template by integer idx pointer test step</div></div><div class=CToolTip id="tt57"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_loadTemplate_byStringId := "MQTT Applib: loadTemplate_byStringId"</td></tr></table></blockquote>Charstring constant for the MQTT load template by string id test step</div></div><div class=CToolTip id="tt58"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_reportPingResponse := "MQTT Applib: reportPingResponse"</td></tr></table></blockquote>Charstring constant for the MQTT enabling/disabling the reporting of a ping response test step</div></div><div class=CToolTip id="tt59"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_reportPublishResponse := "MQTT Applib: reportPublishResponse"</td></tr></table></blockquote>Charstring constant for the MQTT enabling/disabling the reporting of a publish response test step</div></div><div class=CToolTip id="tt60"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_send := "MQTT Applib: send"</td></tr></table></blockquote>Charstring constant for the MQTT send test step</div></div><div class=CToolTip id="tt61"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setLocalAddress_byVars := "MQTT Applib: setLocalAddress_byVars"</td></tr></table></blockquote>Integer constant for the MQTT set local address by variables test step</div></div><div class=CToolTip id="tt62"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_add_clientId := "MQTT Applib: setPublishMessage_add_clientId"</td></tr></table></blockquote>Charstring constant for the MQTT set publish by adding the client id test step</div></div><div class=CToolTip id="tt63"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_add_stringParam := "MQTT Applib: setPublishMessage_add_stringParam"</td></tr></table></blockquote>Charstring constant for the MQTT set publish by adding a string parameter test step</div></div><div class=CToolTip id="tt64"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_add_varParams := "MQTT Applib: setPublishMessage_add_varParams"</td></tr></table></blockquote>Charstring constant for the MQTT set publish by adding variable parameters test step</div></div><div class=CToolTip id="tt65"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setPublishMessage_stringParam := "MQTT Applib: setPublishMessage_stringParam"</td></tr></table></blockquote>Charstring constant for the MQTT set publish message using a string parameter test step</div></div><div class=CToolTip id="tt66"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setQos_intParam := "MQTT Applib: setQos_intParam"</td></tr></table></blockquote>Charstring constant for the MQTT set QoS using integer parameter test step</div></div><div class=CToolTip id="tt67"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setRemoteAddress_byVars := "MQTT Applib: setRemoteAddress_byVars"</td></tr></table></blockquote>Integer constant for the MQTT set remote address by variables test step</div></div><div class=CToolTip id="tt68"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_add_clientId := "MQTT Applib: setTopic_add_clientId"</td></tr></table></blockquote>Charstring constant for the MQTT set topic by adding the client id test step</div></div><div class=CToolTip id="tt69"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_add_stringParam := "MQTT Applib: setTopic_add_stringParam"</td></tr></table></blockquote>Charstring constant for the MQTT set topic by adding a string test step</div></div><div class=CToolTip id="tt70"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_add_varParams := "MQTT Applib: setTopic_add_varParams"</td></tr></table></blockquote>Charstring constant for the MQTT set topic by adding variable parameters test step</div></div><div class=CToolTip id="tt71"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_setTopic_stringParam := "MQTT Applib: setTopic_stringParam"</td></tr></table></blockquote>Charstring constant for the MQTT set topic by string parameter test step</div></div><div class=CToolTip id="tt72"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_startListening := "MQTT Applib: startListening"</td></tr></table></blockquote>Charstring constant for the MQTT start listening test step</div></div><div class=CToolTip id="tt73"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_transportClose := "MQTT Applib: transportClose"</td></tr></table></blockquote>Charstring constant for the MQTT transport close test step</div></div><div class=CToolTip id="tt74"><div class=CConstant><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const charstring c_MQTT_stepName_transportConnect := "MQTT Applib: transportConnect"</td></tr></table></blockquote>Charstring constant for the MQTT transport connect test step</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt75"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type component EPTF_MQTT_LGen_CT extends EPTF_MQTT_Transport_User_CT, EPTF_LGenBase_CT, EPTF_Logging_CT</td></tr></table></blockquote>MQTT load generator component</div></div><div class=CToolTip id="tt76"><div class=CFile>This module contains the definitions for the MQTT load generator component</div></div><div class=CToolTip id="tt77"><div class=CFile>This module contains the functions of the MQTT load generator component</div></div><div class=CToolTip id="tt78"><div class=CFile>This module contains the definitions for the MQTT local transport component</div></div><div class=CToolTip id="tt79"><div class=CFile>This module contains the functions of the MQTT local transport component</div></div><div class=CToolTip id="tt80"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_PDU</td></tr></table></blockquote>Encapsulates a MQTT PDU with the corresponding entity (and FSM) indices and transport information</div></div><div class=CToolTip id="tt81"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_close</td></tr></table></blockquote>Closes the connection</div></div><div class=CToolTip id="tt82"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_connect</td></tr></table></blockquote>Establishes a connection between the local and remote sockets</div></div><div class=CToolTip id="tt83"><div class=CFile>This module contains the definitions of callback functions for the Applib user API</div></div><div class=CToolTip id="tt84"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type component EPTF_MQTT_Transport_Provider_CT</td></tr></table></blockquote>Base component type for a MQTT transport realization, declares variables to register the transport user functions</div></div><div class=CToolTip id="tt85"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_Request</td></tr></table></blockquote>Type for transport request</div></div><div class=CToolTip id="tt86"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type union EPTF_MQTT_Transport_RequestParams</td></tr></table></blockquote>Union encapsulating the different transport requests</div></div><div class=CToolTip id="tt87"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_Response</td></tr></table></blockquote>Type for transport response</div></div><div class=CToolTip id="tt88"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type union EPTF_MQTT_Transport_ResponseParams</td></tr></table></blockquote>Union encapsulating the responses</div></div><div class=CToolTip id="tt89"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_startListening</td></tr></table></blockquote>Starts a listening socket</div></div><div class=CToolTip id="tt90"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type component EPTF_MQTT_Transport_User_CT</td></tr></table></blockquote>Base component type for a MQTT transport user realization</div></div><div class=CToolTip id="tt91"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_TransportParameters</td></tr></table></blockquote>Transport parameters for MQTT</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/index/General2.html b/apidoc/html/index/General2.html
new file mode 100644
index 0000000..3d61190
--- /dev/null
+++ b/apidoc/html/index/General2.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Massive IoT Test Tools - Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="FramedIndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Index</div><div class=INavigationBar>$#! · 0-9 · A · B · <a href="General.html#C">C</a> · D · <a href="General.html#E">E</a> · <a href="#F">F</a> · G · H · I · J · K · L · <a href="General3.html#M">M</a> · N · O · P · Q · R · S · <a href="General3.html#T">T</a> · U · V · W · X · Y · Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="F"></a>F</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_add" id=link92 onMouseOver="ShowTip(event, 'tt92', 'link92')" onMouseOut="HideTip('tt92')" class=ISymbol>f_EPTF_MQTT_addressDB_add</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_cleanUp" id=link93 onMouseOver="ShowTip(event, 'tt93', 'link93')" onMouseOut="HideTip('tt93')" class=ISymbol>f_EPTF_MQTT_addressDB_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_get" id=link94 onMouseOver="ShowTip(event, 'tt94', 'link94')" onMouseOut="HideTip('tt94')" class=ISymbol>f_EPTF_MQTT_addressDB_get</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_init" id=link95 onMouseOver="ShowTip(event, 'tt95', 'link95')" onMouseOut="HideTip('tt95')" class=ISymbol>f_EPTF_MQTT_addressDB_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_lookUp" id=link96 onMouseOver="ShowTip(event, 'tt96', 'link96')" onMouseOut="HideTip('tt96')" class=ISymbol>f_EPTF_MQTT_addressDB_lookUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_Socket2String" id=link97 onMouseOver="ShowTip(event, 'tt97', 'link97')" onMouseOut="HideTip('tt97')" class=ISymbol>f_EPTF_MQTT_addressDB_Socket2String</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_declareEvents" id=link98 onMouseOver="ShowTip(event, 'tt98', 'link98')" onMouseOut="HideTip('tt98')" class=ISymbol>f_EPTF_MQTT_declareEvents</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_declareSteps" id=link99 onMouseOver="ShowTip(event, 'tt99', 'link99')" onMouseOut="HideTip('tt99')" class=ISymbol>f_EPTF_MQTT_declareSteps</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_dispatchEvent" id=link100 onMouseOver="ShowTip(event, 'tt100', 'link100')" onMouseOut="HideTip('tt100')" class=ISymbol>f_EPTF_MQTT_dispatchEvent</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_getIntValue" id=link101 onMouseOver="ShowTip(event, 'tt101', 'link101')" onMouseOut="HideTip('tt101')" class=ISymbol>f_EPTF_MQTT_getIntValue</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_IPL4asp_handleEvent" id=link102 onMouseOver="ShowTip(event, 'tt102', 'link102')" onMouseOut="HideTip('tt102')" class=ISymbol>f_EPTF_MQTT_IPL4asp_handleEvent</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_IPL4asp_handleMessage" id=link103 onMouseOver="ShowTip(event, 'tt103', 'link103')" onMouseOut="HideTip('tt103')" class=ISymbol>f_EPTF_MQTT_IPL4asp_handleMessage</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_IPL4asp_handleResult" id=link104 onMouseOver="ShowTip(event, 'tt104', 'link104')" onMouseOut="HideTip('tt104')" class=ISymbol>f_EPTF_MQTT_IPL4asp_handleResult</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_isFsmInitialized" id=link105 onMouseOver="ShowTip(event, 'tt105', 'link105')" onMouseOut="HideTip('tt105')" class=ISymbol>f_EPTF_MQTT_isFsmInitialized</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_init" id=link106 onMouseOver="ShowTip(event, 'tt106', 'link106')" onMouseOut="HideTip('tt106')" class=ISymbol>f_EPTF_MQTT_LGen_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_initLogging" id=link107 onMouseOver="ShowTip(event, 'tt107', 'link107')" onMouseOut="HideTip('tt107')" class=ISymbol>f_EPTF_MQTT_LGen_initLogging</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_receiveEvent" id=link108 onMouseOver="ShowTip(event, 'tt108', 'link108')" onMouseOut="HideTip('tt108')" class=ISymbol>f_EPTF_MQTT_LGen_receiveEvent</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_receiveMessage" id=link109 onMouseOver="ShowTip(event, 'tt109', 'link109')" onMouseOut="HideTip('tt109')" class=ISymbol>f_EPTF_MQTT_LGen_receiveMessage</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_send" id=link110 onMouseOver="ShowTip(event, 'tt110', 'link110')" onMouseOut="HideTip('tt110')" class=ISymbol>f_EPTF_MQTT_LGen_send</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_transportApiResponse" id=link111 onMouseOver="ShowTip(event, 'tt111', 'link111')" onMouseOut="HideTip('tt111')" class=ISymbol>f_EPTF_MQTT_LGen_transportApiResponse</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_cleanup" id=link112 onMouseOver="ShowTip(event, 'tt112', 'link112')" onMouseOut="HideTip('tt112')" class=ISymbol>f_EPTF_MQTT_LocalTransport_cleanup</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_close" id=link113 onMouseOver="ShowTip(event, 'tt113', 'link113')" onMouseOut="HideTip('tt113')" class=ISymbol>f_EPTF_MQTT_LocalTransport_close</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_connect" id=link114 onMouseOver="ShowTip(event, 'tt114', 'link114')" onMouseOut="HideTip('tt114')" class=ISymbol>f_EPTF_MQTT_LocalTransport_connect</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_init" id=link115 onMouseOver="ShowTip(event, 'tt115', 'link115')" onMouseOut="HideTip('tt115')" class=ISymbol>f_EPTF_MQTT_LocalTransport_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_initLogging" id=link116 onMouseOver="ShowTip(event, 'tt116', 'link116')" onMouseOut="HideTip('tt116')" class=ISymbol>f_EPTF_MQTT_LocalTransport_initLogging</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_IPL4_send" id=link117 onMouseOver="ShowTip(event, 'tt117', 'link117')" onMouseOut="HideTip('tt117')" class=ISymbol>f_EPTF_MQTT_LocalTransport_IPL4_send</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_send" id=link118 onMouseOver="ShowTip(event, 'tt118', 'link118')" onMouseOut="HideTip('tt118')" class=ISymbol>f_EPTF_MQTT_LocalTransport_send</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_sendApiResponse" id=link119 onMouseOver="ShowTip(event, 'tt119', 'link119')" onMouseOut="HideTip('tt119')" class=ISymbol>f_EPTF_MQTT_LocalTransport_sendApiResponse</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_add" id=link120 onMouseOver="ShowTip(event, 'tt120', 'link120')" onMouseOut="HideTip('tt120')" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_add</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_cleanUp" id=link121 onMouseOver="ShowTip(event, 'tt121', 'link121')" onMouseOut="HideTip('tt121')" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_get" id=link122 onMouseOver="ShowTip(event, 'tt122', 'link122')" onMouseOut="HideTip('tt122')" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_get</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_init" id=link123 onMouseOver="ShowTip(event, 'tt123', 'link123')" onMouseOut="HideTip('tt123')" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_lookUp" id=link124 onMouseOver="ShowTip(event, 'tt124', 'link124')" onMouseOut="HideTip('tt124')" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_lookUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_lookUp_connId" id=link125 onMouseOver="ShowTip(event, 'tt125', 'link125')" onMouseOut="HideTip('tt125')" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_lookUp_connId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_remove" id=link126 onMouseOver="ShowTip(event, 'tt126', 'link126')" onMouseOut="HideTip('tt126')" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_remove</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_startListening" id=link127 onMouseOver="ShowTip(event, 'tt127', 'link127')" onMouseOut="HideTip('tt127')" class=ISymbol>f_EPTF_MQTT_LocalTransport_startListening</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_transportApiRequest" id=link128 onMouseOver="ShowTip(event, 'tt128', 'link128')" onMouseOut="HideTip('tt128')" class=ISymbol>f_EPTF_MQTT_LocalTransport_transportApiRequest</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_DEBUG" id=link129 onMouseOver="ShowTip(event, 'tt129', 'link129')" onMouseOut="HideTip('tt129')" class=ISymbol>f_EPTF_MQTT_Logging_DEBUG</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_ERROR" id=link130 onMouseOver="ShowTip(event, 'tt130', 'link130')" onMouseOut="HideTip('tt130')" class=ISymbol>f_EPTF_MQTT_Logging_ERROR</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_VERBOSE" id=link131 onMouseOver="ShowTip(event, 'tt131', 'link131')" onMouseOut="HideTip('tt131')" class=ISymbol>f_EPTF_MQTT_Logging_VERBOSE</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_WARNING" id=link132 onMouseOver="ShowTip(event, 'tt132', 'link132')" onMouseOut="HideTip('tt132')" class=ISymbol>f_EPTF_MQTT_Logging_WARNING</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_cancelT_watchdog" id=link133 onMouseOver="ShowTip(event, 'tt133', 'link133')" onMouseOut="HideTip('tt133')" class=ISymbol>f_EPTF_MQTT_publish_cancelT_watchdog</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_fromEnv" id=link134 onMouseOver="ShowTip(event, 'tt134', 'link134')" onMouseOut="HideTip('tt134')" class=ISymbol>f_EPTF_MQTT_publish_fromEnv</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_fromSession" id=link135 onMouseOver="ShowTip(event, 'tt135', 'link135')" onMouseOut="HideTip('tt135')" class=ISymbol>f_EPTF_MQTT_publish_fromSession</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_remove" id=link136 onMouseOver="ShowTip(event, 'tt136', 'link136')" onMouseOut="HideTip('tt136')" class=ISymbol>f_EPTF_MQTT_publish_remove</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_setState" id=link137 onMouseOver="ShowTip(event, 'tt137', 'link137')" onMouseOut="HideTip('tt137')" class=ISymbol>f_EPTF_MQTT_publish_setState</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_startT_watchdog" id=link138 onMouseOver="ShowTip(event, 'tt138', 'link138')" onMouseOut="HideTip('tt138')" class=ISymbol>f_EPTF_MQTT_publish_startT_watchdog</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_watchdog" id=link139 onMouseOver="ShowTip(event, 'tt139', 'link139')" onMouseOut="HideTip('tt139')" class=ISymbol>f_EPTF_MQTT_publish_watchdog</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_add" id=link140 onMouseOver="ShowTip(event, 'tt140', 'link140')" onMouseOut="HideTip('tt140')" class=ISymbol>f_EPTF_MQTT_publishDB_add</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_check" id=link141 onMouseOver="ShowTip(event, 'tt141', 'link141')" onMouseOut="HideTip('tt141')" class=ISymbol>f_EPTF_MQTT_publishDB_check</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_cleanUp" id=link142 onMouseOver="ShowTip(event, 'tt142', 'link142')" onMouseOut="HideTip('tt142')" class=ISymbol>f_EPTF_MQTT_publishDB_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_get" id=link143 onMouseOver="ShowTip(event, 'tt143', 'link143')" onMouseOut="HideTip('tt143')" class=ISymbol>f_EPTF_MQTT_publishDB_get</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_init" id=link144 onMouseOver="ShowTip(event, 'tt144', 'link144')" onMouseOut="HideTip('tt144')" class=ISymbol>f_EPTF_MQTT_publishDB_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_lookUp" id=link145 onMouseOver="ShowTip(event, 'tt145', 'link145')" onMouseOut="HideTip('tt145')" class=ISymbol>f_EPTF_MQTT_publishDB_lookUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_packetIdHash" id=link146 onMouseOver="ShowTip(event, 'tt146', 'link146')" onMouseOut="HideTip('tt146')" class=ISymbol>f_EPTF_MQTT_publishDB_packetIdHash</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_remove" id=link147 onMouseOver="ShowTip(event, 'tt147', 'link147')" onMouseOut="HideTip('tt147')" class=ISymbol>f_EPTF_MQTT_publishDB_remove</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishResponsePacketId" id=link148 onMouseOver="ShowTip(event, 'tt148', 'link148')" onMouseOut="HideTip('tt148')" class=ISymbol>f_EPTF_MQTT_publishResponsePacketId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishResponseType" id=link149 onMouseOver="ShowTip(event, 'tt149', 'link149')" onMouseOut="HideTip('tt149')" class=ISymbol>f_EPTF_MQTT_publishResponseType</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_qos_int2enum" id=link150 onMouseOver="ShowTip(event, 'tt150', 'link150')" onMouseOut="HideTip('tt150')" class=ISymbol>f_EPTF_MQTT_qos_int2enum</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_cancelT_keepalive" id=link151 onMouseOver="ShowTip(event, 'tt151', 'link151')" onMouseOut="HideTip('tt151')" class=ISymbol>f_EPTF_MQTT_session_cancelT_keepalive</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_deregisterPublish" id=link152 onMouseOver="ShowTip(event, 'tt152', 'link152')" onMouseOut="HideTip('tt152')" class=ISymbol>f_EPTF_MQTT_session_deregisterPublish</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_deregisterSubscription" id=link153 onMouseOver="ShowTip(event, 'tt153', 'link153')" onMouseOut="HideTip('tt153')" class=ISymbol>f_EPTF_MQTT_session_deregisterSubscription</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_fromApp" id=link154 onMouseOver="ShowTip(event, 'tt154', 'link154')" onMouseOut="HideTip('tt154')" class=ISymbol>f_EPTF_MQTT_session_fromApp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_fromEnv" id=link155 onMouseOver="ShowTip(event, 'tt155', 'link155')" onMouseOut="HideTip('tt155')" class=ISymbol>f_EPTF_MQTT_session_fromEnv</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_getNextPacketId" id=link156 onMouseOver="ShowTip(event, 'tt156', 'link156')" onMouseOut="HideTip('tt156')" class=ISymbol>f_EPTF_MQTT_session_getNextPacketId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_keepalive" id=link157 onMouseOver="ShowTip(event, 'tt157', 'link157')" onMouseOut="HideTip('tt157')" class=ISymbol>f_EPTF_MQTT_session_keepalive</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_registerPublish" id=link158 onMouseOver="ShowTip(event, 'tt158', 'link158')" onMouseOut="HideTip('tt158')" class=ISymbol>f_EPTF_MQTT_session_registerPublish</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_registerSubscription" id=link159 onMouseOver="ShowTip(event, 'tt159', 'link159')" onMouseOut="HideTip('tt159')" class=ISymbol>f_EPTF_MQTT_session_registerSubscription</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_remove" id=link160 onMouseOver="ShowTip(event, 'tt160', 'link160')" onMouseOut="HideTip('tt160')" class=ISymbol>f_EPTF_MQTT_session_remove</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_send" id=link161 onMouseOver="ShowTip(event, 'tt161', 'link161')" onMouseOut="HideTip('tt161')" class=ISymbol>f_EPTF_MQTT_session_send</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_setState" id=link162 onMouseOver="ShowTip(event, 'tt162', 'link162')" onMouseOut="HideTip('tt162')" class=ISymbol>f_EPTF_MQTT_session_setState</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_startT_keepalive" id=link163 onMouseOver="ShowTip(event, 'tt163', 'link163')" onMouseOut="HideTip('tt163')" class=ISymbol>f_EPTF_MQTT_session_startT_keepalive</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_add" id=link164 onMouseOver="ShowTip(event, 'tt164', 'link164')" onMouseOut="HideTip('tt164')" class=ISymbol>f_EPTF_MQTT_sessionDB_add</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_addrHash" id=link165 onMouseOver="ShowTip(event, 'tt165', 'link165')" onMouseOut="HideTip('tt165')" class=ISymbol>f_EPTF_MQTT_sessionDB_addrHash</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_check" id=link166 onMouseOver="ShowTip(event, 'tt166', 'link166')" onMouseOut="HideTip('tt166')" class=ISymbol>f_EPTF_MQTT_sessionDB_check</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_cleanUp" id=link167 onMouseOver="ShowTip(event, 'tt167', 'link167')" onMouseOut="HideTip('tt167')" class=ISymbol>f_EPTF_MQTT_sessionDB_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_get" id=link168 onMouseOver="ShowTip(event, 'tt168', 'link168')" onMouseOut="HideTip('tt168')" class=ISymbol>f_EPTF_MQTT_sessionDB_get</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_init" id=link169 onMouseOver="ShowTip(event, 'tt169', 'link169')" onMouseOut="HideTip('tt169')" class=ISymbol>f_EPTF_MQTT_sessionDB_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_lookUp" id=link170 onMouseOver="ShowTip(event, 'tt170', 'link170')" onMouseOut="HideTip('tt170')" class=ISymbol>f_EPTF_MQTT_sessionDB_lookUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_remove" id=link171 onMouseOver="ShowTip(event, 'tt171', 'link171')" onMouseOut="HideTip('tt171')" class=ISymbol>f_EPTF_MQTT_sessionDB_remove</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_setKey" id=link172 onMouseOver="ShowTip(event, 'tt172', 'link172')" onMouseOut="HideTip('tt172')" class=ISymbol>f_EPTF_MQTT_sessionDB_setKey</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_setCtx" id=link173 onMouseOver="ShowTip(event, 'tt173', 'link173')" onMouseOut="HideTip('tt173')" class=ISymbol>f_EPTF_MQTT_setCtx</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_setStepCtx" id=link174 onMouseOver="ShowTip(event, 'tt174', 'link174')" onMouseOut="HideTip('tt174')" class=ISymbol>f_EPTF_MQTT_setStepCtx</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_Socket2String" id=link175 onMouseOver="ShowTip(event, 'tt175', 'link175')" onMouseOut="HideTip('tt175')" class=ISymbol>f_EPTF_MQTT_Socket2String</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_stack_fromApp" id=link176 onMouseOver="ShowTip(event, 'tt176', 'link176')" onMouseOut="HideTip('tt176')" class=ISymbol>f_EPTF_MQTT_stack_fromApp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_stack_fromEnv" id=link177 onMouseOver="ShowTip(event, 'tt177', 'link177')" onMouseOut="HideTip('tt177')" class=ISymbol>f_EPTF_MQTT_stack_fromEnv</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscription_fromEnv" id=link178 onMouseOver="ShowTip(event, 'tt178', 'link178')" onMouseOut="HideTip('tt178')" class=ISymbol>f_EPTF_MQTT_subscription_fromEnv</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscription_fromSession" id=link179 onMouseOver="ShowTip(event, 'tt179', 'link179')" onMouseOut="HideTip('tt179')" class=ISymbol>f_EPTF_MQTT_subscription_fromSession</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscription_remove" id=link180 onMouseOver="ShowTip(event, 'tt180', 'link180')" onMouseOut="HideTip('tt180')" class=ISymbol>f_EPTF_MQTT_subscription_remove</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscription_setState" id=link181 onMouseOver="ShowTip(event, 'tt181', 'link181')" onMouseOut="HideTip('tt181')" class=ISymbol>f_EPTF_MQTT_subscription_setState</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_add" id=link182 onMouseOver="ShowTip(event, 'tt182', 'link182')" onMouseOut="HideTip('tt182')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_add</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_check" id=link183 onMouseOver="ShowTip(event, 'tt183', 'link183')" onMouseOut="HideTip('tt183')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_check</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_cleanUp" id=link184 onMouseOver="ShowTip(event, 'tt184', 'link184')" onMouseOut="HideTip('tt184')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_get" id=link185 onMouseOver="ShowTip(event, 'tt185', 'link185')" onMouseOut="HideTip('tt185')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_get</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_init" id=link186 onMouseOver="ShowTip(event, 'tt186', 'link186')" onMouseOut="HideTip('tt186')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_lookUp_packetId" id=link187 onMouseOver="ShowTip(event, 'tt187', 'link187')" onMouseOut="HideTip('tt187')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_lookUp_packetId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_lookUp_topicName" id=link188 onMouseOver="ShowTip(event, 'tt188', 'link188')" onMouseOut="HideTip('tt188')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_lookUp_topicName</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_packetIdHash" id=link189 onMouseOver="ShowTip(event, 'tt189', 'link189')" onMouseOut="HideTip('tt189')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_packetIdHash</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_remove" id=link190 onMouseOver="ShowTip(event, 'tt190', 'link190')" onMouseOut="HideTip('tt190')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_remove</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_removeKey_packetId" id=link191 onMouseOver="ShowTip(event, 'tt191', 'link191')" onMouseOut="HideTip('tt191')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_removeKey_packetId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_setKey_packetId" id=link192 onMouseOver="ShowTip(event, 'tt192', 'link192')" onMouseOut="HideTip('tt192')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_setKey_packetId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_topicHash" id=link193 onMouseOver="ShowTip(event, 'tt193', 'link193')" onMouseOut="HideTip('tt193')" class=ISymbol>f_EPTF_MQTT_subscriptionDB_topicHash</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_add" id=link194 onMouseOver="ShowTip(event, 'tt194', 'link194')" onMouseOut="HideTip('tt194')" class=ISymbol>f_EPTF_MQTT_templateDB_add</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_cleanUp" id=link195 onMouseOver="ShowTip(event, 'tt195', 'link195')" onMouseOut="HideTip('tt195')" class=ISymbol>f_EPTF_MQTT_templateDB_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_get" id=link196 onMouseOver="ShowTip(event, 'tt196', 'link196')" onMouseOut="HideTip('tt196')" class=ISymbol>f_EPTF_MQTT_templateDB_get</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_init" id=link197 onMouseOver="ShowTip(event, 'tt197', 'link197')" onMouseOut="HideTip('tt197')" class=ISymbol>f_EPTF_MQTT_templateDB_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_lookUp" id=link198 onMouseOver="ShowTip(event, 'tt198', 'link198')" onMouseOut="HideTip('tt198')" class=ISymbol>f_EPTF_MQTT_templateDB_lookUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_cleanUp" id=link199 onMouseOver="ShowTip(event, 'tt199', 'link199')" onMouseOut="HideTip('tt199')" class=ISymbol>f_MQTT_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_eCtxBind" id=link200 onMouseOver="ShowTip(event, 'tt200', 'link200')" onMouseOut="HideTip('tt200')" class=ISymbol>f_MQTT_eCtxBind</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_eCtxReset" id=link201 onMouseOver="ShowTip(event, 'tt201', 'link201')" onMouseOut="HideTip('tt201')" class=ISymbol>f_MQTT_eCtxReset</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_eCtxUnbind" id=link202 onMouseOver="ShowTip(event, 'tt202', 'link202')" onMouseOut="HideTip('tt202')" class=ISymbol>f_MQTT_eCtxUnbind</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_cleanUp" id=link203 onMouseOver="ShowTip(event, 'tt203', 'link203')" onMouseOut="HideTip('tt203')" class=ISymbol>f_MQTT_step_cleanUp</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_init" id=link204 onMouseOver="ShowTip(event, 'tt204', 'link204')" onMouseOut="HideTip('tt204')" class=ISymbol>f_MQTT_step_init</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_loadTemplate_byIntIdx" id=link205 onMouseOver="ShowTip(event, 'tt205', 'link205')" onMouseOut="HideTip('tt205')" class=ISymbol>f_MQTT_step_loadTemplate_byIntIdx</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_loadTemplate_byStringId" id=link206 onMouseOver="ShowTip(event, 'tt206', 'link206')" onMouseOut="HideTip('tt206')" class=ISymbol>f_MQTT_step_loadTemplate_byStringId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_reportPingResponse" id=link207 onMouseOver="ShowTip(event, 'tt207', 'link207')" onMouseOut="HideTip('tt207')" class=ISymbol>f_MQTT_step_reportPingResponse</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_reportPublishResponse" id=link208 onMouseOver="ShowTip(event, 'tt208', 'link208')" onMouseOut="HideTip('tt208')" class=ISymbol>f_MQTT_step_reportPublishResponse</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_send" id=link209 onMouseOver="ShowTip(event, 'tt209', 'link209')" onMouseOut="HideTip('tt209')" class=ISymbol>f_MQTT_step_send</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setLocalAddress_byVars" id=link210 onMouseOver="ShowTip(event, 'tt210', 'link210')" onMouseOut="HideTip('tt210')" class=ISymbol>f_MQTT_step_setLocalAddress_byVars</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_clientId" id=link211 onMouseOver="ShowTip(event, 'tt211', 'link211')" onMouseOut="HideTip('tt211')" class=ISymbol>f_MQTT_step_setPublishMessage_add_clientId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_stringParam" id=link212 onMouseOver="ShowTip(event, 'tt212', 'link212')" onMouseOut="HideTip('tt212')" class=ISymbol>f_MQTT_step_setPublishMessage_add_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_varParams" id=link213 onMouseOver="ShowTip(event, 'tt213', 'link213')" onMouseOut="HideTip('tt213')" class=ISymbol>f_MQTT_step_setPublishMessage_add_varParams</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_stringParam" id=link214 onMouseOver="ShowTip(event, 'tt214', 'link214')" onMouseOut="HideTip('tt214')" class=ISymbol>f_MQTT_step_setPublishMessage_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setQos_intParam" id=link215 onMouseOver="ShowTip(event, 'tt215', 'link215')" onMouseOut="HideTip('tt215')" class=ISymbol>f_MQTT_step_setQos_intParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setRemoteAddress_byVars" id=link216 onMouseOver="ShowTip(event, 'tt216', 'link216')" onMouseOut="HideTip('tt216')" class=ISymbol>f_MQTT_step_setRemoteAddress_byVars</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_clientId" id=link217 onMouseOver="ShowTip(event, 'tt217', 'link217')" onMouseOut="HideTip('tt217')" class=ISymbol>f_MQTT_step_setTopic_add_clientId</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_stringParam" id=link218 onMouseOver="ShowTip(event, 'tt218', 'link218')" onMouseOut="HideTip('tt218')" class=ISymbol>f_MQTT_step_setTopic_add_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_varParams" id=link219 onMouseOver="ShowTip(event, 'tt219', 'link219')" onMouseOut="HideTip('tt219')" class=ISymbol>f_MQTT_step_setTopic_add_varParams</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_stringParam" id=link220 onMouseOver="ShowTip(event, 'tt220', 'link220')" onMouseOut="HideTip('tt220')" class=ISymbol>f_MQTT_step_setTopic_stringParam</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_startListening" id=link221 onMouseOver="ShowTip(event, 'tt221', 'link221')" onMouseOut="HideTip('tt221')" class=ISymbol>f_MQTT_step_startListening</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_transportClose" id=link222 onMouseOver="ShowTip(event, 'tt222', 'link222')" onMouseOut="HideTip('tt222')" class=ISymbol>f_MQTT_step_transportClose</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_transportConnect" id=link223 onMouseOver="ShowTip(event, 'tt223', 'link223')" onMouseOut="HideTip('tt223')" class=ISymbol>f_MQTT_step_transportConnect</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_MQTT_Transport_Logging_DEBUG" id=link224 onMouseOver="ShowTip(event, 'tt224', 'link224')" onMouseOut="HideTip('tt224')" class=ISymbol>f_MQTT_Transport_Logging_DEBUG</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_MQTT_Transport_Logging_ERROR" id=link225 onMouseOver="ShowTip(event, 'tt225', 'link225')" onMouseOut="HideTip('tt225')" class=ISymbol>f_MQTT_Transport_Logging_ERROR</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_MQTT_Transport_Logging_VERBOSE" id=link226 onMouseOver="ShowTip(event, 'tt226', 'link226')" onMouseOut="HideTip('tt226')" class=ISymbol>f_MQTT_Transport_Logging_VERBOSE</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_MQTT_Transport_Logging_WARNING" id=link227 onMouseOver="ShowTip(event, 'tt227', 'link227')" onMouseOut="HideTip('tt227')" class=ISymbol>f_MQTT_Transport_Logging_WARNING</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#fcb_EPTF_MQTT_messageReceived" id=link228 onMouseOver="ShowTip(event, 'tt228', 'link228')" onMouseOut="HideTip('tt228')" class=ISymbol>fcb_EPTF_MQTT_messageReceived</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_apiRequest" id=link229 onMouseOver="ShowTip(event, 'tt229', 'link229')" onMouseOut="HideTip('tt229')" class=ISymbol>fcb_EPTF_MQTT_Transport_apiRequest</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_apiResponse" id=link230 onMouseOver="ShowTip(event, 'tt230', 'link230')" onMouseOut="HideTip('tt230')" class=ISymbol>fcb_EPTF_MQTT_Transport_apiResponse</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_receiveEvent" id=link231 onMouseOver="ShowTip(event, 'tt231', 'link231')" onMouseOut="HideTip('tt231')" class=ISymbol>fcb_EPTF_MQTT_Transport_receiveEvent</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_receiveMessage" id=link232 onMouseOver="ShowTip(event, 'tt232', 'link232')" onMouseOut="HideTip('tt232')" class=ISymbol>fcb_EPTF_MQTT_Transport_receiveMessage</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_sendMessage" id=link233 onMouseOver="ShowTip(event, 'tt233', 'link233')" onMouseOut="HideTip('tt233')" class=ISymbol>fcb_EPTF_MQTT_Transport_sendMessage</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt92"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_addressDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_addr,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Add a socket address to the addressDB and return its index if no such entry yet, or return its index if already exists</div></div><div class=CToolTip id="tt93"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_addressDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Function to clean up the address database and release its resources</div></div><div class=CToolTip id="tt94"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_addressDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_addr,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Get a socket address from the addressDB by its index</div></div><div class=CToolTip id="tt95"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_addressDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Function to initialize the addressDB</div></div><div class=CToolTip id="tt96"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_addressDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Get the index of a socket entry in addressDB</div></div><div class=CToolTip id="tt97"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_addressDB_Socket2String(</td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap>p_sock</td><td class="PAfterParameters prettyprint "nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a socket address in Socket type format to the string format “IP address:<port number>” to be used as hash key</div></div><div class=CToolTip id="tt98"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_declareEvents() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Declares the FSM events to the CLL framework implemented by EPTF_MQTT_LGen_CT</div></div><div class=CToolTip id="tt99"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_declareSteps() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Declares the FSM steps to the CLL framework implemented by EPTF_MQTT_LGen_CT</div></div><div class=CToolTip id="tt100"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_dispatchEvent(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eventIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_fsmCtx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_IntegerList </td><td class="PParameter prettyprint " nowrap width=100%>pl_reportedArgs</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Dispatches events to an entity/fsm</div></div><div class=CToolTip id="tt101"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_getIntValue(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_IntegerList </td><td class="PParameter prettyprint " nowrap width=100%>pl_intList,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_number,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_value</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return boolean</td></tr></table></td></tr></table></blockquote>Retreives an element of an EPTF_IntegerList if it exists</div></div><div class=CToolTip id="tt102"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_IPL4asp_handleEvent() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>Handler function to be registered into the IPL4 transport layer EPTF_CLL_TransportIPL4_Functions. </div></div><div class=CToolTip id="tt103"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_IPL4asp_handleMessage() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>Handler function to be regisitered into the IPL4 transport layer EPTF_CLL_TransportIPL4_Functions. </div></div><div class=CToolTip id="tt104"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_IPL4asp_handleResult(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>Result </td><td class="PParameter prettyprint " nowrap width=100%>p_res</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks the result of an IPL4 transport operation and records an MQTT transport stats warning if unsuccessful</div></div><div class=CToolTip id="tt105"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_isFsmInitialized(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_fsmIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_sessionIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks if an FSM instance has already been initialized</div></div><div class=CToolTip id="tt106"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_LGen_init(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap>pl_name</td><td class="PAfterParameters prettyprint "nowrap>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The main initialization function for the EPTF_MQTT_LGen_CT component type</div></div><div class=CToolTip id="tt107"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LGen_initLogging() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializing CLL’s logging feature on the EPTF_MQTT_LGen_CT component type</div></div><div class=CToolTip id="tt108"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_receiveEvent(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>ASP_Event </td><td class="PParameter prettyprint " nowrap width=100%>p_event</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The transport layer implementation EPTF_MQTT_Transport_Provider_CT can report received ASP_Event events to the load generator layer EPTF_MQTT_Transport_User_CT extended by EPTF_MQTT_LGen_CT using this function.</div></div><div class=CToolTip id="tt109"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_receiveMessage(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The transport layer implementation EPTF_MQTT_Transport_Provider_CT can report received EPTF_MQTT_PDU message to the load generator layer EPTF_MQTT_Transport_User_CT extended by EPTF_MQTT_LGen_CT using this function.</div></div><div class=CToolTip id="tt110"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This function is used to send out a message of a EPTF_MQTT_PDU using the registered function fcb_EPTF_MQTT_Transport_sendMessage of the underlying transport layer instance.</div></div><div class=CToolTip id="tt111"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LGen_transportApiResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Response </td><td class="PParameter prettyprint " nowrap width=100%>pl_rsp</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The transport layer implementation EPTF_MQTT_Transport_Provider_CT can report received EPTF_MQTT_Transport_Response responses to the load generator layer EPTF_MQTT_Transport_User_CT extended by EPTF_MQTT_LGen_CT using this function.</div></div><div class=CToolTip id="tt112"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_cleanup() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>The main clean up function for the EPTF_MQTT_LocalTransport_CT component type</div></div><div class=CToolTip id="tt113"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_close(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_socketIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote>Close a TCP connection and remove its entry from the socketDB</div></div><div class=CToolTip id="tt114"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_connect(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_local,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_remote,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote>Open a TCP connection and store its data and state in socketDB</div></div><div class=CToolTip id="tt115"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_init() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>The main initialization function of the EPTF_MQTT_LocalTransport_CT component type</div></div><div class=CToolTip id="tt116"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_initLogging() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>Initializing CLL’s logging feature on the EPTF_MQTT_LocalTransport_CT component type</div></div><div class=CToolTip id="tt117"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_IPL4_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_connId,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_remName,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_remPort,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>ProtoTuple </td><td class="PParameter prettyprint " nowrap width=100%>pl_proto,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>octetstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Send a message and add 1 message and its length to MQTT transport stats variable</div></div><div class=CToolTip id="tt118"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Function to send out a EPTF_MQTT_PDU message using the local transport. </div></div><div class=CToolTip id="tt119"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=3>function f_EPTF_MQTT_LocalTransport_sendApiResponse(</td></tr><tr><td> </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Response </td><td class="PParameter prettyprint " nowrap width=100%>pl_rsp</td></tr><tr><td class="PAfterParameters prettyprint "colspan=3>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Function to handle incoming transport API requests</div></div><div class=CToolTip id="tt120"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>SocketEntry </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database</div></div><div class=CToolTip id="tt121"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_socketDB_cleanUp() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database</div></div><div class=CToolTip id="tt122"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>SocketEntry </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote>Retrieves an element from the <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database</div></div><div class=CToolTip id="tt123"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_LocalTransport_socketDB_init() runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database</div></div><div class=CToolTip id="tt124"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an SocketEntry element in <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database based on its socket data</div></div><div class=CToolTip id="tt125"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_lookUp_connId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_connId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an SocketEntry element in <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database based on its connection id</div></div><div class=CToolTip id="tt126"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_socketDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Removes an element from the <b>v_MQTT_LocalTransport_localSocketDB</b> SocketDB database and frees up its reserved resources</div></div><div class=CToolTip id="tt127"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_LocalTransport_startListening(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_local,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT return boolean</td></tr></table></td></tr></table></blockquote>Start listening on a local TCP socket and store its data and state in socketDB</div></div><div class=CToolTip id="tt128"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=3>function f_EPTF_MQTT_LocalTransport_transportApiRequest(</td></tr><tr><td> </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Request </td><td class="PParameter prettyprint " nowrap width=100%>pl_req</td></tr><tr><td class="PAfterParameters prettyprint "colspan=3>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Function to handle incoming transport API requests</div></div><div class=CToolTip id="tt129"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_DEBUG(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the DEBUG log level</div></div><div class=CToolTip id="tt130"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_ERROR(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the ERROR log level</div></div><div class=CToolTip id="tt131"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_VERBOSE(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the VERBOSE log level</div></div><div class=CToolTip id="tt132"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_Logging_WARNING(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the WARNING log level</div></div><div class=CToolTip id="tt133"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_cancelT_watchdog(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_publishIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Cancels the T_watchdog timer of an MQTT_Publish FSM</div></div><div class=CToolTip id="tt134"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Handles PUBLISH and publish response (PUB REC/PUB REL/PUB COMP) messages received from the peer (i.e. </div></div><div class=CToolTip id="tt135"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_fromSession(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Handles a publish transaction in case of QoS 1 and QoS 2 fsm requested by the application layer (e.g. </div></div><div class=CToolTip id="tt136"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Releaseing resources of an MQTT_Publish FSM</div></div><div class=CToolTip id="tt137"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_setState(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Publish_State </td><td class="PParameter prettyprint " nowrap width=100%>p_nextState</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sets the new state of a MQTT_Publish FSM</div></div><div class=CToolTip id="tt138"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_startT_watchdog(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_pIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>float </td><td class="PParameter prettyprint " nowrap width=100%>pl_time</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Start a T_watchdog timer in the MQTT_Publish FSM</div></div><div class=CToolTip id="tt139"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publish_watchdog(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_ScheduledAction </td><td class="PParameter prettyprint " nowrap width=100%>pl_action,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eventIndex</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Handles the T_watchdog event in the MQTT_Publish FSM</div></div><div class=CToolTip id="tt140"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Publish </td><td class="PParameter prettyprint " nowrap width=100%>p_pub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt141"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_check(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks if an element exists in the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt142"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_publishDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt143"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_Publish </td><td class="PParameter prettyprint " nowrap width=100%>p_pub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Retrieves an element from the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt144"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_publishDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database and creates its hashmap</div></div><div class=CToolTip id="tt145"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an MQTT_Publish element in <b>v_MQTT_publishDB</b> MQTT_Publish_DB database by its session and packet id-s</div></div><div class=CToolTip id="tt146"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_packetIdHash(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a pair of session ID & packet ID to the string format “session_sessionId:id_packetId” to be used as a hash key</div></div><div class=CToolTip id="tt147"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes an element from the <b>v_MQTT_publishDB</b> MQTT_Publish_DB database</div></div><div class=CToolTip id="tt148"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishResponsePacketId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_v3_1_1_ReqResp </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return integer</td></tr></table></td></tr></table></blockquote>Get the packet identifier of an MQTT message, if it is a response to a PUBLISH</div></div><div class=CToolTip id="tt149"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_publishResponseType(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_v3_1_1_ReqResp </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return boolean</td></tr></table></td></tr></table></blockquote>Checks if an MQTT message is a response to a PUBLISH</div></div><div class=CToolTip id="tt150"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_qos_int2enum(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap>p_qos</td><td class="PAfterParameters prettyprint "nowrap>) return QoS</td></tr></table></td></tr></table></blockquote>Converts the integer value of QoS to its enumerated value</div></div><div class=CToolTip id="tt151"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_cancelT_keepalive(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_sessionIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Cancels the T_keepalive timer of an MQTT_Session FSM</div></div><div class=CToolTip id="tt152"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_deregisterPublish(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes a publish index from an MQTT_Session</div></div><div class=CToolTip id="tt153"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_deregisterSubscription(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes a subscription index from MQTT_Session</div></div><div class=CToolTip id="tt154"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_fromApp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This is the entry point for an MQTT session fsm handling events coming from the application layer (e.g. </div></div><div class=CToolTip id="tt155"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This is the entry point for an MQTT session fsm from the environment layer (e.g. </div></div><div class=CToolTip id="tt156"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_getNextPacketId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_StepCtx </td><td class="PParameter prettyprint " nowrap width=100%>p_ctx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Sets the value of the packet id field in the next message to be sent in a session</div></div><div class=CToolTip id="tt157"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_keepalive(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_ScheduledAction </td><td class="PParameter prettyprint " nowrap width=100%>pl_action,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eventIndex</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Handles the T_keepalive timer event in the MQTT_Session FSM</div></div><div class=CToolTip id="tt158"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_registerPublish(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_pubIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Adds a publish index to an MQTT_Session</div></div><div class=CToolTip id="tt159"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_registerSubscription(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Adds a subscription index to an MQTT_Session</div></div><div class=CToolTip id="tt160"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Releases all resources related to an MQTT_Session and removes it from the MQTT_Session_DB</div></div><div class=CToolTip id="tt161"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sends a message to the transort layer with type EPTF_MQTT_PDU and the provided session index</div></div><div class=CToolTip id="tt162"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_setState(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Session_State </td><td class="PParameter prettyprint " nowrap width=100%>p_nextState</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sets a new state for an MQTT_Session FSM</div></div><div class=CToolTip id="tt163"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_session_startT_keepalive(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_sIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>float </td><td class="PParameter prettyprint " nowrap width=100%>pl_time</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Starts the T_keepalive timer for an MQTT_Session FSM</div></div><div class=CToolTip id="tt164"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Session </td><td class="PParameter prettyprint " nowrap width=100%>p_session</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database</div></div><div class=CToolTip id="tt165"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_sessionDB_addrHash(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap>p_sock</td><td class="PAfterParameters prettyprint "nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a socket address in Socket type format to the string format “IP address:<port number>” to be used as a hash key</div></div><div class=CToolTip id="tt166"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_check(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks if a session element exists in the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database</div></div><div class=CToolTip id="tt167"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_sessionDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database</div></div><div class=CToolTip id="tt168"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_Session </td><td class="PParameter prettyprint " nowrap width=100%>p_session</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Retrieves a session’s data from the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database</div></div><div class=CToolTip id="tt169"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_sessionDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database and adds its hash to <b>v_MQTT_sessionDB.hashRef</b></div></div><div class=CToolTip id="tt170"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap width=100%>p_sock</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of a session in <b>v_MQTT_sessionDB</b> MQTT_Session_DB database by its socket address</div></div><div class=CToolTip id="tt171"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes an element from the <b>v_MQTT_sessionDB</b> MQTT_Session_DB database and releases its resources</div></div><div class=CToolTip id="tt172"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_sessionDB_setKey(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sets the hash of the local socket address of a session by the session index</div></div><div class=CToolTip id="tt173"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_setCtx(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_eIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_fsmIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_StepCtx </td><td class="PParameter prettyprint " nowrap width=100%>p_ctx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Sets the instance pointers of MQTT_StepCtx to the related instances of a simulated device (entity) and FSM</div></div><div class=CToolTip id="tt174"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_setStepCtx(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_StepCtx </td><td class="PParameter prettyprint " nowrap width=100%>p_ctx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Sets the entity and FSM indexes in the MQTT step context</div></div><div class=CToolTip id="tt175"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_EPTF_MQTT_Socket2String(</td><td class="PType prettyprint " nowrap>Socket </td><td class="PParameter prettyprint " nowrap>p_sock</td><td class="PAfterParameters prettyprint "nowrap>) return charstring</td></tr></table></td></tr></table></blockquote>Converts socket data from Socket type to the format “hostname:<port number>”</div></div><div class=CToolTip id="tt176"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_stack_fromApp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_StepCtx </td><td class="PParameter prettyprint " nowrap width=100%>p_ctx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This is the main entry point for the MQTT stack realization of the EPTF_MQTT_LGen_CT component that handles messages received from the application layer (e.g. </div></div><div class=CToolTip id="tt177"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_stack_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>This is the main entry point for the MQTT stack realization of the EPTF_MQTT_LGen_CT component that handles messages received from the environment layer (e.g. </div></div><div class=CToolTip id="tt178"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscription_fromEnv(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Implements part of the MQTT_Subscription FSM that handles the events coming from the environment</div></div><div class=CToolTip id="tt179"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscription_fromSession(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>p_msg,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Implements part of the MQTT_Subscription FSM that handles the events coming from the MQTT_Session</div></div><div class=CToolTip id="tt180"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscription_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removing resources related to MQTT_Subscription FSM</div></div><div class=CToolTip id="tt181"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscription_setState(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_subIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Subscription_State </td><td class="PParameter prettyprint " nowrap width=100%>p_nextState</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Sets a new state of a MQTT_Subscription FSM</div></div><div class=CToolTip id="tt182"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Subscription </td><td class="PParameter prettyprint " nowrap width=100%>p_sub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt183"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_check(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Checks if an element at an index exists the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt184"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_subscriptionDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt185"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_Subscription </td><td class="PParameter prettyprint " nowrap width=100%>p_sub</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return boolean</td></tr></table></td></tr></table></blockquote>Retrieves an element from the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt186"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_subscriptionDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt187"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_lookUp_packetId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an MQTT_Subscription element in <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database by a session ID and packet ID</div></div><div class=CToolTip id="tt188"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_lookUp_topicName(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>p_topicName</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an MQTT_Subscription element in <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database by a session ID and packet ID</div></div><div class=CToolTip id="tt189"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_packetIdHash(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a pair of session ID & packet ID to the string format “session_sessionId:id_packetId” to be used as hash key</div></div><div class=CToolTip id="tt190"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_remove(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes an element from the <b>v_MQTT_subscriptionDB</b> MQTT_Subscription_DB database</div></div><div class=CToolTip id="tt191"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_removeKey_packetId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Removes the element from the subscription hashmap identified by its session ID and packet ID</div></div><div class=CToolTip id="tt192"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_setKey_packetId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_packetId</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Insert an integer element to the subscription hashmap, key is composed from session ID and packet ID</div></div><div class=CToolTip id="tt193"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_subscriptionDB_topicHash(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_sessionIdx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>p_topic</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) return charstring</td></tr></table></td></tr></table></blockquote>Converts a pair of session ID & topic to the string format “session_sessionId:topic_topic” to be used as hash key</div></div><div class=CToolTip id="tt194"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_templateDB_add(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>MQTT_Template </td><td class="PParameter prettyprint " nowrap width=100%>p_template</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Adds a new element to the <b>v_MQTT_templateDB</b> MQTT_Template_DB database</div></div><div class=CToolTip id="tt195"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_templateDB_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Cleans up the reserved resources of the <b>v_MQTT_templateDB</b> MQTT_Template_DB database</div></div><div class=CToolTip id="tt196"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_templateDB_get(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>p_idx,</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>inout </td><td class="PType prettyprint " nowrap>MQTT_v3_1_1_ReqResp </td><td class="PParameter prettyprint " nowrap width=100%>p_pdu</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Retrieves an element from the <b>v_MQTT_templateDB</b> MQTT_Template_DB database</div></div><div class=CToolTip id="tt197"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_EPTF_MQTT_templateDB_init() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>Initializes the <b>v_MQTT_templateDB</b> MQTT_Template_DB database by adding the templates given in tsp_EPTF_MQTT_LGen_templates</div></div><div class=CToolTip id="tt198"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_EPTF_MQTT_templateDB_lookUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>p_id</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return integer</td></tr></table></td></tr></table></blockquote>Gets the index of an MQTT_Template element in <b>v_MQTT_templateDB</b> MQTT_Template_DB database</div></div><div class=CToolTip id="tt199"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">function f_MQTT_cleanUp() runs on EPTF_MQTT_LGen_CT</td></tr></table></blockquote>The main clean up function for the EPTF_MQTT_LGen_CT component type</div></div><div class=CToolTip id="tt200"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_eCtxBind(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap width=100%>pl_eIdx</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT return EPTF_IntegerList</td></tr></table></td></tr></table></blockquote>This function is called by the CLL for each entity instance created on a particular instace of EPTF_MQTT_LGen_CT</div></div><div class=CToolTip id="tt201"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_MQTT_eCtxReset(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap>pl_eIdx</td><td class="PAfterParameters prettyprint "nowrap>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The resources reserved during f_MQTT_eCtxBind are reinitalized (reset). </div></div><div class=CToolTip id="tt202"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>function f_MQTT_eCtxUnbind(</td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>integer </td><td class="PParameter prettyprint " nowrap>pl_eIdx</td><td class="PAfterParameters prettyprint "nowrap>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The reverse operation of f_MQTT_eCtxBind. </div></div><div class=CToolTip id="tt203"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_cleanUp(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test Step to free up the MQTT FSM context for the caller FSM. </div></div><div class=CToolTip id="tt204"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_init(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test Step to dynamically allocate and initialize the MQTT FSM context for the caller FSM. </div></div><div class=CToolTip id="tt205"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_loadTemplate_byIntIdx(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to load a MQTT_Template from tsp_EPTF_MQTT_LGen_templates into <b>v_MQTT_msgToSend</b> (which can be sent using the send test step) by its integer index in test step args.</div></div><div class=CToolTip id="tt206"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_loadTemplate_byStringId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to load a MQTT_Template from tsp_EPTF_MQTT_LGen_templates into <b>v_MQTT_msgToSend</b> (which can be sent using the send test step) by its string Id.</div></div><div class=CToolTip id="tt207"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_reportPingResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the report ping response to enable/disable using using step arguments.</div></div><div class=CToolTip id="tt208"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_reportPublishResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the report publish response to enable/disable using step arguments</div></div><div class=CToolTip id="tt209"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_send(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to send out an MQTT message from <b>v_MQTT_msgToSend</b>. </div></div><div class=CToolTip id="tt210"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setLocalAddress_byVars(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the local address in the entity context.</div></div><div class=CToolTip id="tt211"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_add_clientId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add client ID of the current session to the payload of a PUBLISH message.</div></div><div class=CToolTip id="tt212"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_add_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to concatenate a string to the content of the PUBLISH message</div></div><div class=CToolTip id="tt213"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_add_varParams(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add the content of a set of variables to the payload of a PUBLISH message.</div></div><div class=CToolTip id="tt214"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setPublishMessage_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the content of the payload in PUBLISH message.</div></div><div class=CToolTip id="tt215"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setQos_intParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the QoS level in SUBSCRIBE and PUBLISH messages using test step arguments</div></div><div class=CToolTip id="tt216"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setRemoteAddress_byVars(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the remote address in the FSM context.</div></div><div class=CToolTip id="tt217"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_add_clientId(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add client ID in the current session to the topic in the first subscription in SUBSCRIBE and to PUBLISH message.</div></div><div class=CToolTip id="tt218"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_add_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add the string value referred by the test step argument to the topic of the first subscription entry in SUBSCRIBE and PUBLISH messages.</div></div><div class=CToolTip id="tt219"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_add_varParams(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to add the string value of variables referred by the test step argument to the topic of the first subscription entry in SUBSCRIBE and PUBLISH messages.</div></div><div class=CToolTip id="tt220"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_setTopic_stringParam(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>Test step to set the string value referred by the test step argument as the topic of the first subscription entry in SUBSCRIBE and PUBLISH messages.</div></div><div class=CToolTip id="tt221"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_startListening(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The test step expects that a transport endpoint is set in the addressDB as a local address. </div></div><div class=CToolTip id="tt222"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_transportClose(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The test step expects that a transport endpoint is set in the addressDB as a local address. </div></div><div class=CToolTip id="tt223"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_step_transportConnect(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_LGenBase_TestStepArgs </td><td class="PParameter prettyprint " nowrap width=100%>pl_ptr</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LGen_CT</td></tr></table></td></tr></table></blockquote>The test step expects that local and remote socket adresses are set in the addressDB. </div></div><div class=CToolTip id="tt224"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_Transport_Logging_DEBUG(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the DEBUG log level</div></div><div class=CToolTip id="tt225"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_Transport_Logging_ERROR(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the ERROR log level</div></div><div class=CToolTip id="tt226"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_Transport_Logging_VERBOSE(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the VERBOSE log level</div></div><div class=CToolTip id="tt227"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>function f_MQTT_Transport_Logging_WARNING(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in @lazy </td><td class="PType prettyprint " nowrap>charstring </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on EPTF_MQTT_LocalTransport_CT</td></tr></table></td></tr></table></blockquote>Logging functions for the WARNING log level</div></div><div class=CToolTip id="tt228"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_messageReceived(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for reporting received MQTT messages</div></div><div class=CToolTip id="tt229"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_apiRequest(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Request </td><td class="PParameter prettyprint " nowrap width=100%>pl_req</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for sending a EPTF_MQTT_Transport_Request MQTT transport request</div></div><div class=CToolTip id="tt230"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_apiResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Response </td><td class="PParameter prettyprint " nowrap width=100%>pl_rsp</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for reporting a EPTF_MQTT_Transport_Response MQTT transport response</div></div><div class=CToolTip id="tt231"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_receiveEvent(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>ASP_Event </td><td class="PParameter prettyprint " nowrap width=100%>p_event</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for reporting received ASP_Event MQTT event</div></div><div class=CToolTip id="tt232"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_receiveMessage(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for reporting received EPTF_MQTT_PDU MQTT message</div></div><div class=CToolTip id="tt233"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_sendMessage(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for sending a EPTF_MQTT_PDU MQTT message</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/index/General3.html b/apidoc/html/index/General3.html
new file mode 100644
index 0000000..0ba59ca
--- /dev/null
+++ b/apidoc/html/index/General3.html
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Massive IoT Test Tools - Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="FramedIndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Index</div><div class=INavigationBar>$#! · 0-9 · A · B · <a href="General.html#C">C</a> · D · <a href="General.html#E">E</a> · <a href="General2.html#F">F</a> · G · H · I · J · K · L · <a href="#M">M</a> · N · O · P · Q · R · S · <a href="#T">T</a> · U · V · W · X · Y · Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="M"></a>M</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Address_DB" id=link234 onMouseOver="ShowTip(event, 'tt234', 'link234')" onMouseOut="HideTip('tt234')" class=ISymbol>MQTT_Address_DB</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Address_List" id=link235 onMouseOver="ShowTip(event, 'tt235', 'link235')" onMouseOut="HideTip('tt235')" class=ISymbol>MQTT_Address_List</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" id=link236 onMouseOver="ShowTip(event, 'tt236', 'link236')" onMouseOut="HideTip('tt236')" class=ISymbol>MQTT_Publish</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" id=link237 onMouseOver="ShowTip(event, 'tt237', 'link237')" onMouseOut="HideTip('tt237')" class=ISymbol>MQTT_Publish_DB</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_List" id=link238 onMouseOver="ShowTip(event, 'tt238', 'link238')" onMouseOut="HideTip('tt238')" class=ISymbol>MQTT_Publish_List</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_Side" id=link239 onMouseOver="ShowTip(event, 'tt239', 'link239')" onMouseOut="HideTip('tt239')" class=ISymbol>MQTT_Publish_Side</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_State" id=link240 onMouseOver="ShowTip(event, 'tt240', 'link240')" onMouseOut="HideTip('tt240')" class=ISymbol>MQTT_Publish_State</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_PublishQos1_State" id=link241 onMouseOver="ShowTip(event, 'tt241', 'link241')" onMouseOut="HideTip('tt241')" class=ISymbol>MQTT_PublishQos1_State</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_PublishQos2_State" id=link242 onMouseOver="ShowTip(event, 'tt242', 'link242')" onMouseOut="HideTip('tt242')" class=ISymbol>MQTT_PublishQos2_State</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" id=link243 onMouseOver="ShowTip(event, 'tt243', 'link243')" onMouseOut="HideTip('tt243')" class=ISymbol>MQTT_Session</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" id=link244 onMouseOver="ShowTip(event, 'tt244', 'link244')" onMouseOut="HideTip('tt244')" class=ISymbol>MQTT_Session_DB</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_List" id=link245 onMouseOver="ShowTip(event, 'tt245', 'link245')" onMouseOut="HideTip('tt245')" class=ISymbol>MQTT_Session_List</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_State" id=link246 onMouseOver="ShowTip(event, 'tt246', 'link246')" onMouseOut="HideTip('tt246')" class=ISymbol>MQTT_Session_State</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_StepCtx" id=link247 onMouseOver="ShowTip(event, 'tt247', 'link247')" onMouseOut="HideTip('tt247')" class=ISymbol>MQTT_StepCtx</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" id=link248 onMouseOver="ShowTip(event, 'tt248', 'link248')" onMouseOut="HideTip('tt248')" class=ISymbol>MQTT_Subscription</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" id=link249 onMouseOver="ShowTip(event, 'tt249', 'link249')" onMouseOut="HideTip('tt249')" class=ISymbol>MQTT_Subscription_DB</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_List" id=link250 onMouseOver="ShowTip(event, 'tt250', 'link250')" onMouseOut="HideTip('tt250')" class=ISymbol>MQTT_Subscription_List</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_State" id=link251 onMouseOver="ShowTip(event, 'tt251', 'link251')" onMouseOut="HideTip('tt251')" class=ISymbol>MQTT_Subscription_State</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template" id=link252 onMouseOver="ShowTip(event, 'tt252', 'link252')" onMouseOut="HideTip('tt252')" class=ISymbol>MQTT_Template</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" id=link253 onMouseOver="ShowTip(event, 'tt253', 'link253')" onMouseOut="HideTip('tt253')" class=ISymbol>MQTT_Template_DB</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_List" id=link254 onMouseOver="ShowTip(event, 'tt254', 'link254')" onMouseOut="HideTip('tt254')" class=ISymbol>MQTT_Template_List</a></td></tr><tr><td class=IHeading><a name="T"></a>T</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_debug" id=link255 onMouseOver="ShowTip(event, 'tt255', 'link255')" onMouseOut="HideTip('tt255')" class=ISymbol>tsp_EPTF_MQTT_LGen_debug</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_debugVerbose" id=link256 onMouseOver="ShowTip(event, 'tt256', 'link256')" onMouseOut="HideTip('tt256')" class=ISymbol>tsp_EPTF_MQTT_LGen_debugVerbose</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_maxBindableCtx" id=link257 onMouseOver="ShowTip(event, 'tt257', 'link257')" onMouseOut="HideTip('tt257')" class=ISymbol>tsp_EPTF_MQTT_LGen_maxBindableCtx</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_templates" id=link258 onMouseOver="ShowTip(event, 'tt258', 'link258')" onMouseOut="HideTip('tt258')" class=ISymbol>tsp_EPTF_MQTT_LGen_templates</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Definitions-ttcn.html#tsp_EPTF_MQTT_LocalTransport_debug" id=link259 onMouseOver="ShowTip(event, 'tt259', 'link259')" onMouseOut="HideTip('tt259')" class=ISymbol>tsp_EPTF_MQTT_LocalTransport_debug</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Definitions-ttcn.html#tsp_EPTF_MQTT_LocalTransport_debugVerbose" id=link260 onMouseOver="ShowTip(event, 'tt260', 'link260')" onMouseOut="HideTip('tt260')" class=ISymbol>tsp_EPTF_MQTT_LocalTransport_debugVerbose</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_PUBLISH_responseWatchdog" id=link261 onMouseOver="ShowTip(event, 'tt261', 'link261')" onMouseOut="HideTip('tt261')" class=ISymbol>tsp_EPTF_MQTT_PUBLISH_responseWatchdog</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt234"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Address_DB</td></tr></table></blockquote>Storing Socket instances</div></div><div class=CToolTip id="tt235"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of Socket MQTT_Address_List</td></tr></table></blockquote>List of Socket</div></div><div class=CToolTip id="tt236"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Publish</td></tr></table></blockquote>Models an MQTT publish</div></div><div class=CToolTip id="tt237"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Publish_DB</td></tr></table></blockquote>Storing MQTT_Publish instances</div></div><div class=CToolTip id="tt238"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of MQTT_Publish MQTT_Publish_List</td></tr></table></blockquote>List of MQTT_Publish</div></div><div class=CToolTip id="tt239"><div class=CType>Side of an MQTT_Publish</div></div><div class=CToolTip id="tt240"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type union MQTT_Publish_State</td></tr></table></blockquote>State of an MQTT_Publish</div></div><div class=CToolTip id="tt241"><div class=CType>Qos1 state of an MQTT_Publish_State</div></div><div class=CToolTip id="tt242"><div class=CType>Qos2 state of an MQTT_Publish_State</div></div><div class=CToolTip id="tt243"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Session</td></tr></table></blockquote>Models and MQTT session</div></div><div class=CToolTip id="tt244"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Session_DB</td></tr></table></blockquote>Storing MQTT_Session instances</div></div><div class=CToolTip id="tt245"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of MQTT_Session MQTT_Session_List</td></tr></table></blockquote>List of MQTT_Session</div></div><div class=CToolTip id="tt246"><div class=CType>States of an MQTT_Session state machine</div></div><div class=CToolTip id="tt247"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_StepCtx</td></tr></table></blockquote>Type that stores the most important pointers</div></div><div class=CToolTip id="tt248"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Subscription</td></tr></table></blockquote>Models an MQTT subscription</div></div><div class=CToolTip id="tt249"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Subscription_DB</td></tr></table></blockquote>Storing MQTT_Subscription instances</div></div><div class=CToolTip id="tt250"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of MQTT_Subscription MQTT_Subscription_List</td></tr></table></blockquote>List of MQTT_Subscription</div></div><div class=CToolTip id="tt251"><div class=CType>States of an MQTT_Subscription state machine</div></div><div class=CToolTip id="tt252"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Template</td></tr></table></blockquote>Grouping a MQTT_v3_1_1_ReqResp with an id</div></div><div class=CToolTip id="tt253"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Template_DB</td></tr></table></blockquote>Storing MQTT_Template instances</div></div><div class=CToolTip id="tt254"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of MQTT_Template MQTT_Template_List</td></tr></table></blockquote>List of MQTT_Template</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt255"><div class=CModuleParameter>Enabled/disable debug logging</div></div><div class=CToolTip id="tt256"><div class=CModuleParameter>Enabled/disable verbosity of debug logging</div></div><div class=CToolTip id="tt257"><div class=CModuleParameter>Can be used to limit the maximum number of contexts set it to -1 otherwise.</div></div><div class=CToolTip id="tt258"><div class=CModuleParameter>MQTT message template definitions for sending</div></div><div class=CToolTip id="tt259"><div class=CModuleParameter>Enabled/disable debug logging</div></div><div class=CToolTip id="tt260"><div class=CModuleParameter>Enabled/disable verbosity of debug logging</div></div><div class=CToolTip id="tt261"><div class=CModuleParameter>Watchdog timer value to wait responses to an MQTT PUBLISH message</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/index/ModuleParameters.html b/apidoc/html/index/ModuleParameters.html
new file mode 100644
index 0000000..943b338
--- /dev/null
+++ b/apidoc/html/index/ModuleParameters.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Massive IoT Test Tools - Module Parameter Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="FramedIndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Module Parameter Index</div><div class=INavigationBar>$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · <a href="#T">T</a> · U · V · W · X · Y · Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="T"></a>T</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_debug" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>tsp_EPTF_MQTT_LGen_debug</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_debugVerbose" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>tsp_EPTF_MQTT_LGen_debugVerbose</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_maxBindableCtx" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>tsp_EPTF_MQTT_LGen_maxBindableCtx</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_templates" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>tsp_EPTF_MQTT_LGen_templates</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Definitions-ttcn.html#tsp_EPTF_MQTT_LocalTransport_debug" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>tsp_EPTF_MQTT_LocalTransport_debug</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Definitions-ttcn.html#tsp_EPTF_MQTT_LocalTransport_debugVerbose" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>tsp_EPTF_MQTT_LocalTransport_debugVerbose</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_PUBLISH_responseWatchdog" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>tsp_EPTF_MQTT_PUBLISH_responseWatchdog</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CModuleParameter>Enabled/disable debug logging</div></div><div class=CToolTip id="tt2"><div class=CModuleParameter>Enabled/disable verbosity of debug logging</div></div><div class=CToolTip id="tt3"><div class=CModuleParameter>Can be used to limit the maximum number of contexts set it to -1 otherwise.</div></div><div class=CToolTip id="tt4"><div class=CModuleParameter>MQTT message template definitions for sending</div></div><div class=CToolTip id="tt5"><div class=CModuleParameter>Enabled/disable debug logging</div></div><div class=CToolTip id="tt6"><div class=CModuleParameter>Enabled/disable verbosity of debug logging</div></div><div class=CToolTip id="tt7"><div class=CModuleParameter>Watchdog timer value to wait responses to an MQTT PUBLISH message</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/index/Types.html b/apidoc/html/index/Types.html
new file mode 100644
index 0000000..d220f87
--- /dev/null
+++ b/apidoc/html/index/Types.html
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Massive IoT Test Tools - Type Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="FramedIndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Type Index</div><div class=INavigationBar>$#! · 0-9 · A · B · C · D · <a href="#E">E</a> · <a href="#F">F</a> · G · H · I · J · K · L · <a href="#M">M</a> · N · O · P · Q · R · S · T · U · V · W · X · Y · Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="E"></a>E</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>EPTF_MQTT_LGen_CT</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>EPTF_MQTT_PDU</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_close" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>EPTF_MQTT_Transport_close</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_connect" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>EPTF_MQTT_Transport_connect</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Provider_CT" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>EPTF_MQTT_Transport_Provider_CT</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Request" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>EPTF_MQTT_Transport_Request</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_RequestParams" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>EPTF_MQTT_Transport_RequestParams</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Response" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>EPTF_MQTT_Transport_Response</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_ResponseParams" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>EPTF_MQTT_Transport_ResponseParams</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_startListening" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>EPTF_MQTT_Transport_startListening</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_User_CT" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>EPTF_MQTT_Transport_User_CT</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_TransportParameters" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>EPTF_MQTT_TransportParameters</a></td></tr><tr><td class=IHeading><a name="F"></a>F</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#fcb_EPTF_MQTT_messageReceived" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>fcb_EPTF_MQTT_messageReceived</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_apiRequest" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>fcb_EPTF_MQTT_Transport_apiRequest</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_apiResponse" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>fcb_EPTF_MQTT_Transport_apiResponse</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_receiveEvent" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>fcb_EPTF_MQTT_Transport_receiveEvent</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_receiveMessage" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>fcb_EPTF_MQTT_Transport_receiveMessage</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_sendMessage" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>fcb_EPTF_MQTT_Transport_sendMessage</a></td></tr><tr><td class=IHeading><a name="M"></a>M</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Address_DB" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>MQTT_Address_DB</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Address_List" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')" class=ISymbol>MQTT_Address_List</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')" class=ISymbol>MQTT_Publish</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')" class=ISymbol>MQTT_Publish_DB</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_List" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')" class=ISymbol>MQTT_Publish_List</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_Side" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')" class=ISymbol>MQTT_Publish_Side</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_State" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')" class=ISymbol>MQTT_Publish_State</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_PublishQos1_State" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')" class=ISymbol>MQTT_PublishQos1_State</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_PublishQos2_State" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')" class=ISymbol>MQTT_PublishQos2_State</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')" class=ISymbol>MQTT_Session</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')" class=ISymbol>MQTT_Session_DB</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_List" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')" class=ISymbol>MQTT_Session_List</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_State" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')" class=ISymbol>MQTT_Session_State</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_StepCtx" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')" class=ISymbol>MQTT_StepCtx</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')" class=ISymbol>MQTT_Subscription</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')" class=ISymbol>MQTT_Subscription_DB</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_List" id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')" class=ISymbol>MQTT_Subscription_List</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_State" id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')" class=ISymbol>MQTT_Subscription_State</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template" id=link37 onMouseOver="ShowTip(event, 'tt37', 'link37')" onMouseOut="HideTip('tt37')" class=ISymbol>MQTT_Template</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" id=link38 onMouseOver="ShowTip(event, 'tt38', 'link38')" onMouseOut="HideTip('tt38')" class=ISymbol>MQTT_Template_DB</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix> </td><td class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_List" id=link39 onMouseOver="ShowTip(event, 'tt39', 'link39')" onMouseOut="HideTip('tt39')" class=ISymbol>MQTT_Template_List</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type component EPTF_MQTT_LGen_CT extends EPTF_MQTT_Transport_User_CT, EPTF_LGenBase_CT, EPTF_Logging_CT</td></tr></table></blockquote>MQTT load generator component</div></div><div class=CToolTip id="tt2"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_PDU</td></tr></table></blockquote>Encapsulates a MQTT PDU with the corresponding entity (and FSM) indices and transport information</div></div><div class=CToolTip id="tt3"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_close</td></tr></table></blockquote>Closes the connection</div></div><div class=CToolTip id="tt4"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_connect</td></tr></table></blockquote>Establishes a connection between the local and remote sockets</div></div><div class=CToolTip id="tt5"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type component EPTF_MQTT_Transport_Provider_CT</td></tr></table></blockquote>Base component type for a MQTT transport realization, declares variables to register the transport user functions</div></div><div class=CToolTip id="tt6"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_Request</td></tr></table></blockquote>Type for transport request</div></div><div class=CToolTip id="tt7"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type union EPTF_MQTT_Transport_RequestParams</td></tr></table></blockquote>Union encapsulating the different transport requests</div></div><div class=CToolTip id="tt8"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_Response</td></tr></table></blockquote>Type for transport response</div></div><div class=CToolTip id="tt9"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type union EPTF_MQTT_Transport_ResponseParams</td></tr></table></blockquote>Union encapsulating the responses</div></div><div class=CToolTip id="tt10"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_Transport_startListening</td></tr></table></blockquote>Starts a listening socket</div></div><div class=CToolTip id="tt11"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type component EPTF_MQTT_Transport_User_CT</td></tr></table></blockquote>Base component type for a MQTT transport user realization</div></div><div class=CToolTip id="tt12"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record EPTF_MQTT_TransportParameters</td></tr></table></blockquote>Transport parameters for MQTT</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt13"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_messageReceived(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for reporting received MQTT messages</div></div><div class=CToolTip id="tt14"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_apiRequest(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Request </td><td class="PParameter prettyprint " nowrap width=100%>pl_req</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for sending a EPTF_MQTT_Transport_Request MQTT transport request</div></div><div class=CToolTip id="tt15"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_apiResponse(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_Transport_Response </td><td class="PParameter prettyprint " nowrap width=100%>pl_rsp</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for reporting a EPTF_MQTT_Transport_Response MQTT transport response</div></div><div class=CToolTip id="tt16"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_receiveEvent(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>ASP_Event </td><td class="PParameter prettyprint " nowrap width=100%>p_event</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for reporting received ASP_Event MQTT event</div></div><div class=CToolTip id="tt17"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_receiveMessage(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_message</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for reporting received EPTF_MQTT_PDU MQTT message</div></div><div class=CToolTip id="tt18"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "colspan=4>type function fcb_EPTF_MQTT_Transport_sendMessage(</td></tr><tr><td> </td><td class="PTypePrefix prettyprint " nowrap>in </td><td class="PType prettyprint " nowrap>EPTF_MQTT_PDU </td><td class="PParameter prettyprint " nowrap width=100%>pl_msg</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) runs on self</td></tr></table></td></tr></table></blockquote>Call-back function type for sending a EPTF_MQTT_PDU MQTT message</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt19"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Address_DB</td></tr></table></blockquote>Storing Socket instances</div></div><div class=CToolTip id="tt20"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of Socket MQTT_Address_List</td></tr></table></blockquote>List of Socket</div></div><div class=CToolTip id="tt21"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Publish</td></tr></table></blockquote>Models an MQTT publish</div></div><div class=CToolTip id="tt22"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Publish_DB</td></tr></table></blockquote>Storing MQTT_Publish instances</div></div><div class=CToolTip id="tt23"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of MQTT_Publish MQTT_Publish_List</td></tr></table></blockquote>List of MQTT_Publish</div></div><div class=CToolTip id="tt24"><div class=CType>Side of an MQTT_Publish</div></div><div class=CToolTip id="tt25"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type union MQTT_Publish_State</td></tr></table></blockquote>State of an MQTT_Publish</div></div><div class=CToolTip id="tt26"><div class=CType>Qos1 state of an MQTT_Publish_State</div></div><div class=CToolTip id="tt27"><div class=CType>Qos2 state of an MQTT_Publish_State</div></div><div class=CToolTip id="tt28"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Session</td></tr></table></blockquote>Models and MQTT session</div></div><div class=CToolTip id="tt29"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Session_DB</td></tr></table></blockquote>Storing MQTT_Session instances</div></div><div class=CToolTip id="tt30"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of MQTT_Session MQTT_Session_List</td></tr></table></blockquote>List of MQTT_Session</div></div><div class=CToolTip id="tt31"><div class=CType>States of an MQTT_Session state machine</div></div><div class=CToolTip id="tt32"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_StepCtx</td></tr></table></blockquote>Type that stores the most important pointers</div></div><div class=CToolTip id="tt33"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Subscription</td></tr></table></blockquote>Models an MQTT subscription</div></div><div class=CToolTip id="tt34"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Subscription_DB</td></tr></table></blockquote>Storing MQTT_Subscription instances</div></div><div class=CToolTip id="tt35"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of MQTT_Subscription MQTT_Subscription_List</td></tr></table></blockquote>List of MQTT_Subscription</div></div><div class=CToolTip id="tt36"><div class=CType>States of an MQTT_Subscription state machine</div></div><div class=CToolTip id="tt37"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Template</td></tr></table></blockquote>Grouping a MQTT_v3_1_1_ReqResp with an id</div></div><div class=CToolTip id="tt38"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record MQTT_Template_DB</td></tr></table></blockquote>Storing MQTT_Template instances</div></div><div class=CToolTip id="tt39"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">type record of MQTT_Template MQTT_Template_List</td></tr></table></blockquote>List of MQTT_Template</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/javascript/main.js b/apidoc/html/javascript/main.js
new file mode 100644
index 0000000..3f42acd
--- /dev/null
+++ b/apidoc/html/javascript/main.js
@@ -0,0 +1,841 @@
+// This file is part of Natural Docs, which is Copyright © 2003-2010 Greg Valure
+// Natural Docs is licensed under version 3 of the GNU Affero General Public License (AGPL)
+// Refer to License.txt for the complete details
+
+// This file may be distributed with documentation files generated by Natural Docs.
+// Such documentation is not covered by Natural Docs' copyright and licensing,
+// and may have its own copyright and distribution terms as decided by its author.
+
+
+//
+// Browser Styles
+// ____________________________________________________________________________
+
+var agt=navigator.userAgent.toLowerCase();
+var browserType;
+var browserVer;
+
+if (agt.indexOf("opera") != -1)
+ {
+ browserType = "Opera";
+
+ if (agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1)
+ { browserVer = "Opera7"; }
+ else if (agt.indexOf("opera 8") != -1 || agt.indexOf("opera/8") != -1)
+ { browserVer = "Opera8"; }
+ else if (agt.indexOf("opera 9") != -1 || agt.indexOf("opera/9") != -1)
+ { browserVer = "Opera9"; }
+ }
+
+else if (agt.indexOf("applewebkit") != -1)
+ {
+ browserType = "Safari";
+
+ if (agt.indexOf("version/3") != -1)
+ { browserVer = "Safari3"; }
+ else if (agt.indexOf("safari/4") != -1)
+ { browserVer = "Safari2"; }
+ }
+
+else if (agt.indexOf("khtml") != -1)
+ {
+ browserType = "Konqueror";
+ }
+
+else if (agt.indexOf("msie") != -1)
+ {
+ browserType = "IE";
+
+ if (agt.indexOf("msie 6") != -1)
+ { browserVer = "IE6"; }
+ else if (agt.indexOf("msie 7") != -1)
+ { browserVer = "IE7"; }
+ }
+
+else if (agt.indexOf("gecko") != -1)
+ {
+ browserType = "Firefox";
+
+ if (agt.indexOf("rv:1.7") != -1)
+ { browserVer = "Firefox1"; }
+ else if (agt.indexOf("rv:1.8)") != -1 || agt.indexOf("rv:1.8.0") != -1)
+ { browserVer = "Firefox15"; }
+ else if (agt.indexOf("rv:1.8.1") != -1)
+ { browserVer = "Firefox2"; }
+ }
+
+
+//
+// Support Functions
+// ____________________________________________________________________________
+
+
+function GetXPosition(item)
+ {
+ var position = 0;
+
+ if (item.offsetWidth != null)
+ {
+ while (item != document.body && item != null)
+ {
+ position += item.offsetLeft;
+ item = item.offsetParent;
+ };
+ };
+
+ return position;
+ };
+
+
+function GetYPosition(item)
+ {
+ var position = 0;
+
+ if (item.offsetWidth != null)
+ {
+ while (item != document.body && item != null)
+ {
+ position += item.offsetTop;
+ item = item.offsetParent;
+ };
+ };
+
+ return position;
+ };
+
+
+function MoveToPosition(item, x, y)
+ {
+ // Opera 5 chokes on the px extension, so it can use the Microsoft one instead.
+
+ if (item.style.left != null)
+ {
+ item.style.left = x + "px";
+ item.style.top = y + "px";
+ }
+ else if (item.style.pixelLeft != null)
+ {
+ item.style.pixelLeft = x;
+ item.style.pixelTop = y;
+ };
+ };
+
+
+//
+// Menu
+// ____________________________________________________________________________
+
+
+function ToggleMenu(id)
+ {
+ if (!window.document.getElementById)
+ { return; };
+
+ var display = window.document.getElementById(id).style.display;
+
+ if (display == "none")
+ { display = "block"; }
+ else
+ { display = "none"; }
+
+ window.document.getElementById(id).style.display = display;
+ }
+
+function HideAllBut(ids, max)
+ {
+ if (document.getElementById)
+ {
+ ids.sort( function(a,b) { return a - b; } );
+ var number = 1;
+
+ while (number < max)
+ {
+ if (ids.length > 0 && number == ids[0])
+ { ids.shift(); }
+ else
+ {
+ document.getElementById("MGroupContent" + number).style.display = "none";
+ };
+
+ number++;
+ };
+ };
+ }
+
+
+//
+// Tooltips
+// ____________________________________________________________________________
+
+
+var tooltipTimer = 0;
+
+function ShowTip(event, tooltipID, linkID)
+ {
+ if (tooltipTimer)
+ { clearTimeout(tooltipTimer); };
+
+ var docX = event.clientX + window.pageXOffset;
+ var docY = event.clientY + window.pageYOffset;
+
+ var showCommand = "ReallyShowTip('" + tooltipID + "', '" + linkID + "', " + docX + ", " + docY + ")";
+
+ tooltipTimer = setTimeout(showCommand, 1000);
+ }
+
+function ReallyShowTip(tooltipID, linkID, docX, docY)
+ {
+ tooltipTimer = 0;
+
+ var tooltip;
+ var link;
+
+ if (document.getElementById)
+ {
+ tooltip = document.getElementById(tooltipID);
+ link = document.getElementById(linkID);
+ }
+/* else if (document.all)
+ {
+ tooltip = eval("document.all['" + tooltipID + "']");
+ link = eval("document.all['" + linkID + "']");
+ }
+*/
+ if (tooltip)
+ {
+ var left = GetXPosition(link);
+ var top = GetYPosition(link);
+ top += link.offsetHeight;
+
+
+ // The fallback method is to use the mouse X and Y relative to the document. We use a separate if and test if its a number
+ // in case some browser snuck through the above if statement but didn't support everything.
+
+ if (!isFinite(top) || top == 0)
+ {
+ left = docX;
+ top = docY;
+ }
+
+ // Some spacing to get it out from under the cursor.
+
+ top += 10;
+
+ // Make sure the tooltip doesnt get smushed by being too close to the edge, or in some browsers, go off the edge of the
+ // page. We do it here because Konqueror does get offsetWidth right even if it doesnt get the positioning right.
+
+ if (tooltip.offsetWidth != null)
+ {
+ var width = tooltip.offsetWidth;
+ var docWidth = document.body.clientWidth;
+
+ if (left + width > docWidth)
+ { left = docWidth - width - 1; }
+
+ // If there's a horizontal scroll bar we could go past zero because it's using the page width, not the window width.
+ if (left < 0)
+ { left = 0; };
+ }
+
+ MoveToPosition(tooltip, left, top);
+ tooltip.style.visibility = "visible";
+ }
+ }
+
+function HideTip(tooltipID)
+ {
+ if (tooltipTimer)
+ {
+ clearTimeout(tooltipTimer);
+ tooltipTimer = 0;
+ }
+
+ var tooltip;
+
+ if (document.getElementById)
+ { tooltip = document.getElementById(tooltipID); }
+ else if (document.all)
+ { tooltip = eval("document.all['" + tooltipID + "']"); }
+
+ if (tooltip)
+ { tooltip.style.visibility = "hidden"; }
+ }
+
+
+//
+// Blockquote fix for IE
+// ____________________________________________________________________________
+
+
+function NDOnLoad()
+ {
+ if (browserVer == "IE6")
+ {
+ var scrollboxes = document.getElementsByTagName('blockquote');
+
+ if (scrollboxes.item(0))
+ {
+ NDDoResize();
+ window.onresize=NDOnResize;
+ };
+ };
+ };
+
+
+var resizeTimer = 0;
+
+function NDOnResize()
+ {
+ if (resizeTimer != 0)
+ { clearTimeout(resizeTimer); };
+
+ resizeTimer = setTimeout(NDDoResize, 250);
+ };
+
+
+function NDDoResize()
+ {
+ var scrollboxes = document.getElementsByTagName('blockquote');
+
+ var i;
+ var item;
+
+ i = 0;
+ while (item = scrollboxes.item(i))
+ {
+ item.style.width = 100;
+ i++;
+ };
+
+ i = 0;
+ while (item = scrollboxes.item(i))
+ {
+ item.style.width = item.parentNode.offsetWidth;
+ i++;
+ };
+
+ clearTimeout(resizeTimer);
+ resizeTimer = 0;
+ }
+
+
+
+/* ________________________________________________________________________________________________________
+
+ Class: SearchPanel
+ ________________________________________________________________________________________________________
+
+ A class handling everything associated with the search panel.
+
+ Parameters:
+
+ name - The name of the global variable that will be storing this instance. Is needed to be able to set timeouts.
+ mode - The mode the search is going to work in. Pass <NaturalDocs::Builder::Base->CommandLineOption()>, so the
+ value will be something like "HTML" or "FramedHTML".
+
+ ________________________________________________________________________________________________________
+*/
+
+
+function SearchPanel(name, mode, resultsPath)
+ {
+ if (!name || !mode || !resultsPath)
+ { alert("Incorrect parameters to SearchPanel."); };
+
+
+ // Group: Variables
+ // ________________________________________________________________________
+
+ /*
+ var: name
+ The name of the global variable that will be storing this instance of the class.
+ */
+ this.name = name;
+
+ /*
+ var: mode
+ The mode the search is going to work in, such as "HTML" or "FramedHTML".
+ */
+ this.mode = mode;
+
+ /*
+ var: resultsPath
+ The relative path from the current HTML page to the results page directory.
+ */
+ this.resultsPath = resultsPath;
+
+ /*
+ var: keyTimeout
+ The timeout used between a keystroke and when a search is performed.
+ */
+ this.keyTimeout = 0;
+
+ /*
+ var: keyTimeoutLength
+ The length of <keyTimeout> in thousandths of a second.
+ */
+ this.keyTimeoutLength = 500;
+
+ /*
+ var: lastSearchValue
+ The last search string executed, or an empty string if none.
+ */
+ this.lastSearchValue = "";
+
+ /*
+ var: lastResultsPage
+ The last results page. The value is only relevant if <lastSearchValue> is set.
+ */
+ this.lastResultsPage = "";
+
+ /*
+ var: deactivateTimeout
+
+ The timeout used between when a control is deactivated and when the entire panel is deactivated. Is necessary
+ because a control may be deactivated in favor of another control in the same panel, in which case it should stay
+ active.
+ */
+ this.deactivateTimout = 0;
+
+ /*
+ var: deactivateTimeoutLength
+ The length of <deactivateTimeout> in thousandths of a second.
+ */
+ this.deactivateTimeoutLength = 200;
+
+
+
+
+ // Group: DOM Elements
+ // ________________________________________________________________________
+
+
+ // Function: DOMSearchField
+ this.DOMSearchField = function()
+ { return document.getElementById("MSearchField"); };
+
+ // Function: DOMSearchType
+ this.DOMSearchType = function()
+ { return document.getElementById("MSearchType"); };
+
+ // Function: DOMPopupSearchResults
+ this.DOMPopupSearchResults = function()
+ { return document.getElementById("MSearchResults"); };
+
+ // Function: DOMPopupSearchResultsWindow
+ this.DOMPopupSearchResultsWindow = function()
+ { return document.getElementById("MSearchResultsWindow"); };
+
+ // Function: DOMSearchPanel
+ this.DOMSearchPanel = function()
+ { return document.getElementById("MSearchPanel"); };
+
+
+
+
+ // Group: Event Handlers
+ // ________________________________________________________________________
+
+
+ /*
+ Function: OnSearchFieldFocus
+ Called when focus is added or removed from the search field.
+ */
+ this.OnSearchFieldFocus = function(isActive)
+ {
+ this.Activate(isActive);
+ };
+
+
+ /*
+ Function: OnSearchFieldChange
+ Called when the content of the search field is changed.
+ */
+ this.OnSearchFieldChange = function()
+ {
+ if (this.keyTimeout)
+ {
+ clearTimeout(this.keyTimeout);
+ this.keyTimeout = 0;
+ };
+
+ var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+
+ if (searchValue != this.lastSearchValue)
+ {
+ if (searchValue != "")
+ {
+ this.keyTimeout = setTimeout(this.name + ".Search()", this.keyTimeoutLength);
+ }
+ else
+ {
+ if (this.mode == "HTML")
+ { this.DOMPopupSearchResultsWindow().style.display = "none"; };
+ this.lastSearchValue = "";
+ };
+ };
+ };
+
+
+ /*
+ Function: OnSearchTypeFocus
+ Called when focus is added or removed from the search type.
+ */
+ this.OnSearchTypeFocus = function(isActive)
+ {
+ this.Activate(isActive);
+ };
+
+
+ /*
+ Function: OnSearchTypeChange
+ Called when the search type is changed.
+ */
+ this.OnSearchTypeChange = function()
+ {
+ var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+
+ if (searchValue != "")
+ {
+ this.Search();
+ };
+ };
+
+
+
+ // Group: Action Functions
+ // ________________________________________________________________________
+
+
+ /*
+ Function: CloseResultsWindow
+ Closes the results window.
+ */
+ this.CloseResultsWindow = function()
+ {
+ this.DOMPopupSearchResultsWindow().style.display = "none";
+ this.Activate(false, true);
+ };
+
+
+ /*
+ Function: Search
+ Performs a search.
+ */
+ this.Search = function()
+ {
+ this.keyTimeout = 0;
+
+ var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
+ var searchTopic = this.DOMSearchType().value;
+
+ var pageExtension = searchValue.substr(0,1);
+
+ if (pageExtension.match(/^[a-z]/i))
+ { pageExtension = pageExtension.toUpperCase(); }
+ else if (pageExtension.match(/^[0-9]/))
+ { pageExtension = 'Numbers'; }
+ else
+ { pageExtension = "Symbols"; };
+
+ var resultsPage;
+ var resultsPageWithSearch;
+ var hasResultsPage;
+
+ // indexSectionsWithContent is defined in searchdata.js
+ if (indexSectionsWithContent[searchTopic][pageExtension] == true)
+ {
+ resultsPage = this.resultsPath + '/' + searchTopic + pageExtension + '.html';
+ resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
+ hasResultsPage = true;
+ }
+ else
+ {
+ resultsPage = this.resultsPath + '/NoResults.html';
+ resultsPageWithSearch = resultsPage;
+ hasResultsPage = false;
+ };
+
+ var resultsFrame;
+ if (this.mode == "HTML")
+ { resultsFrame = window.frames.MSearchResults; }
+ else if (this.mode == "FramedHTML")
+ { resultsFrame = window.top.frames['Content']; };
+
+
+ if (resultsPage != this.lastResultsPage ||
+
+ // Bug in IE. If everything becomes hidden in a run, none of them will be able to be reshown in the next for some
+ // reason. It counts the right number of results, and you can even read the display as "block" after setting it, but it
+ // just doesn't work in IE 6 or IE 7. So if we're on the right page but the previous search had no results, reload the
+ // page anyway to get around the bug.
+ (browserType == "IE" && hasResultsPage &&
+ (!resultsFrame.searchResults || resultsFrame.searchResults.lastMatchCount == 0)) )
+
+ {
+ resultsFrame.location.href = resultsPageWithSearch;
+ }
+
+ // So if the results page is right and there's no IE bug, reperform the search on the existing page. We have to check if there
+ // are results because NoResults.html doesn't have any JavaScript, and it would be useless to do anything on that page even
+ // if it did.
+ else if (hasResultsPage)
+ {
+ // We need to check if this exists in case the frame is present but didn't finish loading.
+ if (resultsFrame.searchResults)
+ { resultsFrame.searchResults.Search(searchValue); }
+
+ // Otherwise just reload instead of waiting.
+ else
+ { resultsFrame.location.href = resultsPageWithSearch; };
+ };
+
+
+ var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
+
+ if (this.mode == "HTML" && domPopupSearchResultsWindow.style.display != "block")
+ {
+ var domSearchType = this.DOMSearchType();
+
+ var left = GetXPosition(domSearchType);
+ var top = GetYPosition(domSearchType) + domSearchType.offsetHeight;
+
+ MoveToPosition(domPopupSearchResultsWindow, left, top);
+ domPopupSearchResultsWindow.style.display = 'block';
+ };
+
+
+ this.lastSearchValue = searchValue;
+ this.lastResultsPage = resultsPage;
+ };
+
+
+
+ // Group: Activation Functions
+ // Functions that handle whether the entire panel is active or not.
+ // ________________________________________________________________________
+
+
+ /*
+ Function: Activate
+
+ Activates or deactivates the search panel, resetting things to their default values if necessary. You can call this on every
+ control's OnBlur() and it will handle not deactivating the entire panel when focus is just switching between them transparently.
+
+ Parameters:
+
+ isActive - Whether you're activating or deactivating the panel.
+ ignoreDeactivateDelay - Set if you're positive the action will deactivate the panel and thus want to skip the delay.
+ */
+ this.Activate = function(isActive, ignoreDeactivateDelay)
+ {
+ // We want to ignore isActive being false while the results window is open.
+ if (isActive || (this.mode == "HTML" && this.DOMPopupSearchResultsWindow().style.display == "block"))
+ {
+ if (this.inactivateTimeout)
+ {
+ clearTimeout(this.inactivateTimeout);
+ this.inactivateTimeout = 0;
+ };
+
+ this.DOMSearchPanel().className = 'MSearchPanelActive';
+
+ var searchField = this.DOMSearchField();
+
+ if (searchField.value == 'Search')
+ { searchField.value = ""; }
+ }
+ else if (!ignoreDeactivateDelay)
+ {
+ this.inactivateTimeout = setTimeout(this.name + ".InactivateAfterTimeout()", this.inactivateTimeoutLength);
+ }
+ else
+ {
+ this.InactivateAfterTimeout();
+ };
+ };
+
+
+ /*
+ Function: InactivateAfterTimeout
+
+ Called by <inactivateTimeout>, which is set by <Activate()>. Inactivation occurs on a timeout because a control may
+ receive OnBlur() when focus is really transferring to another control in the search panel. In this case we don't want to
+ actually deactivate the panel because not only would that cause a visible flicker but it could also reset the search value.
+ So by doing it on a timeout instead, there's a short period where the second control's OnFocus() can cancel the deactivation.
+ */
+ this.InactivateAfterTimeout = function()
+ {
+ this.inactivateTimeout = 0;
+
+ this.DOMSearchPanel().className = 'MSearchPanelInactive';
+ this.DOMSearchField().value = "Search";
+
+ this.lastSearchValue = "";
+ this.lastResultsPage = "";
+ };
+ };
+
+
+
+
+/* ________________________________________________________________________________________________________
+
+ Class: SearchResults
+ _________________________________________________________________________________________________________
+
+ The class that handles everything on the search results page.
+ _________________________________________________________________________________________________________
+*/
+
+
+function SearchResults(name, mode)
+ {
+ /*
+ var: mode
+ The mode the search is going to work in, such as "HTML" or "FramedHTML".
+ */
+ this.mode = mode;
+
+ /*
+ var: lastMatchCount
+ The number of matches from the last run of <Search()>.
+ */
+ this.lastMatchCount = 0;
+
+
+ /*
+ Function: Toggle
+ Toggles the visibility of the passed element ID.
+ */
+ this.Toggle = function(id)
+ {
+ if (this.mode == "FramedHTML")
+ { return; };
+
+ var parentElement = document.getElementById(id);
+
+ var element = parentElement.firstChild;
+
+ while (element && element != parentElement)
+ {
+ if (element.nodeName == 'DIV' && element.className == 'ISubIndex')
+ {
+ if (element.style.display == 'block')
+ { element.style.display = "none"; }
+ else
+ { element.style.display = 'block'; }
+ };
+
+ if (element.nodeName == 'DIV' && element.hasChildNodes())
+ { element = element.firstChild; }
+ else if (element.nextSibling)
+ { element = element.nextSibling; }
+ else
+ {
+ do
+ {
+ element = element.parentNode;
+ }
+ while (element && element != parentElement && !element.nextSibling);
+
+ if (element && element != parentElement)
+ { element = element.nextSibling; };
+ };
+ };
+ };
+
+
+ /*
+ Function: Search
+
+ Searches for the passed string. If there is no parameter, it takes it from the URL query.
+
+ Always returns true, since other documents may try to call it and that may or may not be possible.
+ */
+ this.Search = function(search)
+ {
+ if (!search)
+ {
+ search = window.location.search;
+ search = search.substring(1); // Remove the leading ?
+ search = unescape(search);
+ };
+
+ search = search.replace(/^ +/, "");
+ search = search.replace(/ +$/, "");
+ search = search.toLowerCase();
+
+ if (search.match(/[^a-z0-9]/)) // Just a little speedup so it doesn't have to go through the below unnecessarily.
+ {
+ search = search.replace(/\_/g, "_und");
+ search = search.replace(/\ +/gi, "_spc");
+ search = search.replace(/\~/g, "_til");
+ search = search.replace(/\!/g, "_exc");
+ search = search.replace(/\@/g, "_att");
+ search = search.replace(/\#/g, "_num");
+ search = search.replace(/\$/g, "_dol");
+ search = search.replace(/\%/g, "_pct");
+ search = search.replace(/\^/g, "_car");
+ search = search.replace(/\&/g, "_amp");
+ search = search.replace(/\*/g, "_ast");
+ search = search.replace(/\(/g, "_lpa");
+ search = search.replace(/\)/g, "_rpa");
+ search = search.replace(/\-/g, "_min");
+ search = search.replace(/\+/g, "_plu");
+ search = search.replace(/\=/g, "_equ");
+ search = search.replace(/\{/g, "_lbc");
+ search = search.replace(/\}/g, "_rbc");
+ search = search.replace(/\[/g, "_lbk");
+ search = search.replace(/\]/g, "_rbk");
+ search = search.replace(/\:/g, "_col");
+ search = search.replace(/\;/g, "_sco");
+ search = search.replace(/\"/g, "_quo");
+ search = search.replace(/\'/g, "_apo");
+ search = search.replace(/\</g, "_lan");
+ search = search.replace(/\>/g, "_ran");
+ search = search.replace(/\,/g, "_com");
+ search = search.replace(/\./g, "_per");
+ search = search.replace(/\?/g, "_que");
+ search = search.replace(/\//g, "_sla");
+ search = search.replace(/[^a-z0-9\_]i/gi, "_zzz");
+ };
+
+ var resultRows = document.getElementsByTagName("div");
+ var matches = 0;
+
+ var i = 0;
+ while (i < resultRows.length)
+ {
+ var row = resultRows.item(i);
+
+ if (row.className == "SRResult")
+ {
+ var rowMatchName = row.id.toLowerCase();
+ rowMatchName = rowMatchName.replace(/^sr\d*_/, '');
+
+ if (search.length <= rowMatchName.length && rowMatchName.substr(0, search.length) == search)
+ {
+ row.style.display = "block";
+ matches++;
+ }
+ else
+ { row.style.display = "none"; };
+ };
+
+ i++;
+ };
+
+ document.getElementById("Searching").style.display="none";
+
+ if (matches == 0)
+ { document.getElementById("NoMatches").style.display="block"; }
+ else
+ { document.getElementById("NoMatches").style.display="none"; }
+
+ this.lastMatchCount = matches;
+
+ return true;
+ };
+ };
+
diff --git a/apidoc/html/javascript/prettify.js b/apidoc/html/javascript/prettify.js
new file mode 100644
index 0000000..fda4bf1
--- /dev/null
+++ b/apidoc/html/javascript/prettify.js
@@ -0,0 +1,1526 @@
+
+// This code comes from the December 2009 release of Google Prettify, which is Copyright © 2006 Google Inc.
+// Minor modifications are marked with "ND Change" comments.
+// As part of Natural Docs, this code is licensed under version 3 of the GNU Affero General Public License (AGPL.)
+// However, it may also be obtained separately under version 2.0 of the Apache License.
+// Refer to License.txt for the complete details
+
+
+// Main code
+// ____________________________________________________________________________
+
+// Copyright (C) 2006 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+/**
+ * @fileoverview
+ * some functions for browser-side pretty printing of code contained in html.
+ * <p>
+ *
+ * For a fairly comprehensive set of languages see the
+ * <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html#langs">README</a>
+ * file that came with this source. At a minimum, the lexer should work on a
+ * number of languages including C and friends, Java, Python, Bash, SQL, HTML,
+ * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk
+ * and a subset of Perl, but, because of commenting conventions, doesn't work on
+ * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class.
+ * <p>
+ * Usage: <ol>
+ * <li> include this source file in an html page via
+ * {@code <script type="text/javascript" src="/path/to/prettify.js"></script>}
+ * <li> define style rules. See the example page for examples.
+ * <li> mark the {@code <pre>} and {@code <code>} tags in your source with
+ * {@code class=prettyprint.}
+ * You can also use the (html deprecated) {@code <xmp>} tag, but the pretty
+ * printer needs to do more substantial DOM manipulations to support that, so
+ * some css styles may not be preserved.
+ * </ol>
+ * That's it. I wanted to keep the API as simple as possible, so there's no
+ * need to specify which language the code is in, but if you wish, you can add
+ * another class to the {@code <pre>} or {@code <code>} element to specify the
+ * language, as in {@code <pre class="prettyprint lang-java">}. Any class that
+ * starts with "lang-" followed by a file extension, specifies the file type.
+ * See the "lang-*.js" files in this directory for code that implements
+ * per-language file handlers.
+ * <p>
+ * Change log:<br>
+ * cbeust, 2006/08/22
+ * <blockquote>
+ * Java annotations (start with "@") are now captured as literals ("lit")
+ * </blockquote>
+ * @requires console
+ * @overrides window
+ */
+
+// JSLint declarations
+/*global console, document, navigator, setTimeout, window */
+
+/**
+ * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
+ * UI events.
+ * If set to {@code false}, {@code prettyPrint()} is synchronous.
+ */
+window['PR_SHOULD_USE_CONTINUATION'] = true;
+
+/** the number of characters between tab columns */
+window['PR_TAB_WIDTH'] = 8;
+
+/** Walks the DOM returning a properly escaped version of innerHTML.
+ * @param {Node} node
+ * @param {Array.<string>} out output buffer that receives chunks of HTML.
+ */
+window['PR_normalizedHtml']
+
+/** Contains functions for creating and registering new language handlers.
+ * @type {Object}
+ */
+ = window['PR']
+
+/** Pretty print a chunk of code.
+ *
+ * @param {string} sourceCodeHtml code as html
+ * @return {string} code as html, but prettier
+ */
+ = window['prettyPrintOne']
+/** Find all the {@code <pre>} and {@code <code>} tags in the DOM with
+ * {@code class=prettyprint} and prettify them.
+ * @param {Function?} opt_whenDone if specified, called when the last entry
+ * has been finished.
+ */
+ = window['prettyPrint'] = void 0;
+
+/** browser detection. @extern @returns false if not IE, otherwise the major version. */
+window['_pr_isIE6'] = function () {
+ var ieVersion = navigator && navigator.userAgent &&
+ navigator.userAgent.match(/\bMSIE ([678])\./);
+ ieVersion = ieVersion ? +ieVersion[1] : false;
+ window['_pr_isIE6'] = function () { return ieVersion; };
+ return ieVersion;
+};
+
+
+(function () {
+ // Keyword lists for various languages.
+ var FLOW_CONTROL_KEYWORDS =
+ "break continue do else for if return while ";
+ var C_KEYWORDS = FLOW_CONTROL_KEYWORDS + "auto case char const default " +
+ "double enum extern float goto int long register short signed sizeof " +
+ "static struct switch typedef union unsigned void volatile ";
+ var COMMON_KEYWORDS = C_KEYWORDS + "catch class delete false import " +
+ "new operator private protected public this throw true try typeof ";
+ var CPP_KEYWORDS = COMMON_KEYWORDS + "alignof align_union asm axiom bool " +
+ "concept concept_map const_cast constexpr decltype " +
+ "dynamic_cast explicit export friend inline late_check " +
+ "mutable namespace nullptr reinterpret_cast static_assert static_cast " +
+ "template typeid typename using virtual wchar_t where ";
+ var JAVA_KEYWORDS = COMMON_KEYWORDS +
+ "abstract boolean byte extends final finally implements import " +
+ "instanceof null native package strictfp super synchronized throws " +
+ "transient ";
+ var CSHARP_KEYWORDS = JAVA_KEYWORDS +
+ "as base by checked decimal delegate descending event " +
+ "fixed foreach from group implicit in interface internal into is lock " +
+ "object out override orderby params partial readonly ref sbyte sealed " +
+ "stackalloc string select uint ulong unchecked unsafe ushort var ";
+ var JSCRIPT_KEYWORDS = COMMON_KEYWORDS +
+ "debugger eval export function get null set undefined var with " +
+ "Infinity NaN ";
+ var PERL_KEYWORDS = "caller delete die do dump elsif eval exit foreach for " +
+ "goto if import last local my next no our print package redo require " +
+ "sub undef unless until use wantarray while BEGIN END ";
+ var PYTHON_KEYWORDS = FLOW_CONTROL_KEYWORDS + "and as assert class def del " +
+ "elif except exec finally from global import in is lambda " +
+ "nonlocal not or pass print raise try with yield " +
+ "False True None ";
+ var RUBY_KEYWORDS = FLOW_CONTROL_KEYWORDS + "alias and begin case class def" +
+ " defined elsif end ensure false in module next nil not or redo rescue " +
+ "retry self super then true undef unless until when yield BEGIN END ";
+ var SH_KEYWORDS = FLOW_CONTROL_KEYWORDS + "case done elif esac eval fi " +
+ "function in local set then until ";
+ var ALL_KEYWORDS = (
+ CPP_KEYWORDS + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS +
+ PYTHON_KEYWORDS + RUBY_KEYWORDS + SH_KEYWORDS);
+
+ // token style names. correspond to css classes
+ /** token style for a string literal */
+ var PR_STRING = 'str';
+ /** token style for a keyword */
+ var PR_KEYWORD = 'kwd';
+ /** token style for a comment */
+ var PR_COMMENT = 'com';
+ /** token style for a type */
+ var PR_TYPE = 'typ';
+ /** token style for a literal value. e.g. 1, null, true. */
+ var PR_LITERAL = 'lit';
+ /** token style for a punctuation string. */
+ var PR_PUNCTUATION = 'pun';
+ /** token style for a punctuation string. */
+ var PR_PLAIN = 'pln';
+
+ /** token style for an sgml tag. */
+ var PR_TAG = 'tag';
+ /** token style for a markup declaration such as a DOCTYPE. */
+ var PR_DECLARATION = 'dec';
+ /** token style for embedded source. */
+ var PR_SOURCE = 'src';
+ /** token style for an sgml attribute name. */
+ var PR_ATTRIB_NAME = 'atn';
+ /** token style for an sgml attribute value. */
+ var PR_ATTRIB_VALUE = 'atv';
+
+ /**
+ * A class that indicates a section of markup that is not code, e.g. to allow
+ * embedding of line numbers within code listings.
+ */
+ var PR_NOCODE = 'nocode';
+
+ /** A set of tokens that can precede a regular expression literal in
+ * javascript.
+ * http://www.mozilla.org/js/language/js20/rationale/syntax.html has the full
+ * list, but I've removed ones that might be problematic when seen in
+ * languages that don't support regular expression literals.
+ *
+ * <p>Specifically, I've removed any keywords that can't precede a regexp
+ * literal in a syntactically legal javascript program, and I've removed the
+ * "in" keyword since it's not a keyword in many languages, and might be used
+ * as a count of inches.
+ *
+ * <p>The link a above does not accurately describe EcmaScript rules since
+ * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
+ * very well in practice.
+ *
+ * @private
+ */
+ var REGEXP_PRECEDER_PATTERN = function () {
+ var preceders = [
+ "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=",
+ "&=", "(", "*", "*=", /* "+", */ "+=", ",", /* "-", */ "-=",
+ "->", /*".", "..", "...", handled below */ "/", "/=", ":", "::", ";",
+ "<", "<<", "<<=", "<=", "=", "==", "===", ">",
+ ">=", ">>", ">>=", ">>>", ">>>=", "?", "@", "[",
+ "^", "^=", "^^", "^^=", "{", "|", "|=", "||",
+ "||=", "~" /* handles =~ and !~ */,
+ "break", "case", "continue", "delete",
+ "do", "else", "finally", "instanceof",
+ "return", "throw", "try", "typeof"
+ ];
+ var pattern = '(?:^^|[+-]';
+ for (var i = 0; i < preceders.length; ++i) {
+ pattern += '|' + preceders[i].replace(/([^=<>:&a-z])/g, '\\$1');
+ }
+ pattern += ')\\s*'; // matches at end, and matches empty string
+ return pattern;
+ // CAVEAT: this does not properly handle the case where a regular
+ // expression immediately follows another since a regular expression may
+ // have flags for case-sensitivity and the like. Having regexp tokens
+ // adjacent is not valid in any language I'm aware of, so I'm punting.
+ // TODO: maybe style special characters inside a regexp as punctuation.
+ }();
+
+ // Define regexps here so that the interpreter doesn't have to create an
+ // object each time the function containing them is called.
+ // The language spec requires a new object created even if you don't access
+ // the $1 members.
+ var pr_amp = /&/g;
+ var pr_lt = /</g;
+ var pr_gt = />/g;
+ var pr_quot = /\"/g;
+ /** like textToHtml but escapes double quotes to be attribute safe. */
+ function attribToHtml(str) {
+ return str.replace(pr_amp, '&')
+ .replace(pr_lt, '<')
+ .replace(pr_gt, '>')
+ .replace(pr_quot, '"');
+ }
+
+ /** escapest html special characters to html. */
+ function textToHtml(str) {
+ return str.replace(pr_amp, '&')
+ .replace(pr_lt, '<')
+ .replace(pr_gt, '>');
+ }
+
+
+ var pr_ltEnt = /</g;
+ var pr_gtEnt = />/g;
+ var pr_aposEnt = /'/g;
+ var pr_quotEnt = /"/g;
+ var pr_ampEnt = /&/g;
+ var pr_nbspEnt = / /g;
+ /** unescapes html to plain text. */
+ function htmlToText(html) {
+ var pos = html.indexOf('&');
+ if (pos < 0) { return html; }
+ // Handle numeric entities specially. We can't use functional substitution
+ // since that doesn't work in older versions of Safari.
+ // These should be rare since most browsers convert them to normal chars.
+ for (--pos; (pos = html.indexOf('&#', pos + 1)) >= 0;) {
+ var end = html.indexOf(';', pos);
+ if (end >= 0) {
+ var num = html.substring(pos + 3, end);
+ var radix = 10;
+ if (num && num.charAt(0) === 'x') {
+ num = num.substring(1);
+ radix = 16;
+ }
+ var codePoint = parseInt(num, radix);
+ if (!isNaN(codePoint)) {
+ html = (html.substring(0, pos) + String.fromCharCode(codePoint) +
+ html.substring(end + 1));
+ }
+ }
+ }
+
+ return html.replace(pr_ltEnt, '<')
+ .replace(pr_gtEnt, '>')
+ .replace(pr_aposEnt, "'")
+ .replace(pr_quotEnt, '"')
+ .replace(pr_nbspEnt, ' ')
+ .replace(pr_ampEnt, '&');
+ }
+
+ /** is the given node's innerHTML normally unescaped? */
+ function isRawContent(node) {
+ return 'XMP' === node.tagName;
+ }
+
+ var newlineRe = /[\r\n]/g;
+ /**
+ * Are newlines and adjacent spaces significant in the given node's innerHTML?
+ */
+ function isPreformatted(node, content) {
+ // PRE means preformatted, and is a very common case, so don't create
+ // unnecessary computed style objects.
+ if ('PRE' === node.tagName) { return true; }
+ if (!newlineRe.test(content)) { return true; } // Don't care
+ var whitespace = '';
+ // For disconnected nodes, IE has no currentStyle.
+ if (node.currentStyle) {
+ whitespace = node.currentStyle.whiteSpace;
+ } else if (window.getComputedStyle) {
+ // Firefox makes a best guess if node is disconnected whereas Safari
+ // returns the empty string.
+ whitespace = window.getComputedStyle(node, null).whiteSpace;
+ }
+ return !whitespace || whitespace === 'pre';
+ }
+
+ function normalizedHtml(node, out) {
+ switch (node.nodeType) {
+ case 1: // an element
+ var name = node.tagName.toLowerCase();
+ out.push('<', name);
+ for (var i = 0; i < node.attributes.length; ++i) {
+ var attr = node.attributes[i];
+ if (!attr.specified) { continue; }
+ out.push(' ');
+ normalizedHtml(attr, out);
+ }
+ out.push('>');
+ for (var child = node.firstChild; child; child = child.nextSibling) {
+ normalizedHtml(child, out);
+ }
+ if (node.firstChild || !/^(?:br|link|img)$/.test(name)) {
+ out.push('<\/', name, '>');
+ }
+ break;
+ case 2: // an attribute
+ out.push(node.name.toLowerCase(), '="', attribToHtml(node.value), '"');
+ break;
+ case 3: case 4: // text
+ out.push(textToHtml(node.nodeValue));
+ break;
+ }
+ }
+
+ /**
+ * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
+ * matches the union o the sets o strings matched d by the input RegExp.
+ * Since it matches globally, if the input strings have a start-of-input
+ * anchor (/^.../), it is ignored for the purposes of unioning.
+ * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
+ * @return {RegExp} a global regex.
+ */
+ function combinePrefixPatterns(regexs) {
+ var capturedGroupIndex = 0;
+
+ var needToFoldCase = false;
+ var ignoreCase = false;
+ for (var i = 0, n = regexs.length; i < n; ++i) {
+ var regex = regexs[i];
+ if (regex.ignoreCase) {
+ ignoreCase = true;
+ } else if (/[a-z]/i.test(regex.source.replace(
+ /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
+ needToFoldCase = true;
+ ignoreCase = false;
+ break;
+ }
+ }
+
+ function decodeEscape(charsetPart) {
+ if (charsetPart.charAt(0) !== '\\') { return charsetPart.charCodeAt(0); }
+ switch (charsetPart.charAt(1)) {
+ case 'b': return 8;
+ case 't': return 9;
+ case 'n': return 0xa;
+ case 'v': return 0xb;
+ case 'f': return 0xc;
+ case 'r': return 0xd;
+ case 'u': case 'x':
+ return parseInt(charsetPart.substring(2), 16)
+ || charsetPart.charCodeAt(1);
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7':
+ return parseInt(charsetPart.substring(1), 8);
+ default: return charsetPart.charCodeAt(1);
+ }
+ }
+
+ function encodeEscape(charCode) {
+ if (charCode < 0x20) {
+ return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
+ }
+ var ch = String.fromCharCode(charCode);
+ if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
+ ch = '\\' + ch;
+ }
+ return ch;
+ }
+
+ function caseFoldCharset(charSet) {
+ var charsetParts = charSet.substring(1, charSet.length - 1).match(
+ new RegExp(
+ '\\\\u[0-9A-Fa-f]{4}'
+ + '|\\\\x[0-9A-Fa-f]{2}'
+ + '|\\\\[0-3][0-7]{0,2}'
+ + '|\\\\[0-7]{1,2}'
+ + '|\\\\[\\s\\S]'
+ + '|-'
+ + '|[^-\\\\]',
+ 'g'));
+ var groups = [];
+ var ranges = [];
+ var inverse = charsetParts[0] === '^';
+ for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
+ var p = charsetParts[i];
+ switch (p) {
+ case '\\B': case '\\b':
+ case '\\D': case '\\d':
+ case '\\S': case '\\s':
+ case '\\W': case '\\w':
+ groups.push(p);
+ continue;
+ }
+ var start = decodeEscape(p);
+ var end;
+ if (i + 2 < n && '-' === charsetParts[i + 1]) {
+ end = decodeEscape(charsetParts[i + 2]);
+ i += 2;
+ } else {
+ end = start;
+ }
+ ranges.push([start, end]);
+ // If the range might intersect letters, then expand it.
+ if (!(end < 65 || start > 122)) {
+ if (!(end < 65 || start > 90)) {
+ ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
+ }
+ if (!(end < 97 || start > 122)) {
+ ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
+ }
+ }
+ }
+
+ // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
+ // -> [[1, 12], [14, 14], [16, 17]]
+ ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1] - a[1]); });
+ var consolidatedRanges = [];
+ var lastRange = [NaN, NaN];
+ for (var i = 0; i < ranges.length; ++i) {
+ var range = ranges[i];
+ if (range[0] <= lastRange[1] + 1) {
+ lastRange[1] = Math.max(lastRange[1], range[1]);
+ } else {
+ consolidatedRanges.push(lastRange = range);
+ }
+ }
+
+ var out = ['['];
+ if (inverse) { out.push('^'); }
+ out.push.apply(out, groups);
+ for (var i = 0; i < consolidatedRanges.length; ++i) {
+ var range = consolidatedRanges[i];
+ out.push(encodeEscape(range[0]));
+ if (range[1] > range[0]) {
+ if (range[1] + 1 > range[0]) { out.push('-'); }
+ out.push(encodeEscape(range[1]));
+ }
+ }
+ out.push(']');
+ return out.join('');
+ }
+
+ function allowAnywhereFoldCaseAndRenumberGroups(regex) {
+ // Split into character sets, escape sequences, punctuation strings
+ // like ('(', '(?:', ')', '^'), and runs of characters that do not
+ // include any of the above.
+ var parts = regex.source.match(
+ new RegExp(
+ '(?:'
+ + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]' // a character set
+ + '|\\\\u[A-Fa-f0-9]{4}' // a unicode escape
+ + '|\\\\x[A-Fa-f0-9]{2}' // a hex escape
+ + '|\\\\[0-9]+' // a back-reference or octal escape
+ + '|\\\\[^ux0-9]' // other escape sequence
+ + '|\\(\\?[:!=]' // start of a non-capturing group
+ + '|[\\(\\)\\^]' // start/emd of a group, or line start
+ + '|[^\\x5B\\x5C\\(\\)\\^]+' // run of other characters
+ + ')',
+ 'g'));
+ var n = parts.length;
+
+ // Maps captured group numbers to the number they will occupy in
+ // the output or to -1 if that has not been determined, or to
+ // undefined if they need not be capturing in the output.
+ var capturedGroups = [];
+
+ // Walk over and identify back references to build the capturedGroups
+ // mapping.
+ for (var i = 0, groupIndex = 0; i < n; ++i) {
+ var p = parts[i];
+ if (p === '(') {
+ // groups are 1-indexed, so max group index is count of '('
+ ++groupIndex;
+ } else if ('\\' === p.charAt(0)) {
+ var decimalValue = +p.substring(1);
+ if (decimalValue && decimalValue <= groupIndex) {
+ capturedGroups[decimalValue] = -1;
+ }
+ }
+ }
+
+ // Renumber groups and reduce capturing groups to non-capturing groups
+ // where possible.
+ for (var i = 1; i < capturedGroups.length; ++i) {
+ if (-1 === capturedGroups[i]) {
+ capturedGroups[i] = ++capturedGroupIndex;
+ }
+ }
+ for (var i = 0, groupIndex = 0; i < n; ++i) {
+ var p = parts[i];
+ if (p === '(') {
+ ++groupIndex;
+ if (capturedGroups[groupIndex] === undefined) {
+ parts[i] = '(?:';
+ }
+ } else if ('\\' === p.charAt(0)) {
+ var decimalValue = +p.substring(1);
+ if (decimalValue && decimalValue <= groupIndex) {
+ parts[i] = '\\' + capturedGroups[groupIndex];
+ }
+ }
+ }
+
+ // Remove any prefix anchors so that the output will match anywhere.
+ // ^^ really does mean an anchored match though.
+ for (var i = 0, groupIndex = 0; i < n; ++i) {
+ if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
+ }
+
+ // Expand letters to groupts to handle mixing of case-sensitive and
+ // case-insensitive patterns if necessary.
+ if (regex.ignoreCase && needToFoldCase) {
+ for (var i = 0; i < n; ++i) {
+ var p = parts[i];
+ var ch0 = p.charAt(0);
+ if (p.length >= 2 && ch0 === '[') {
+ parts[i] = caseFoldCharset(p);
+ } else if (ch0 !== '\\') {
+ // TODO: handle letters in numeric escapes.
+ parts[i] = p.replace(
+ /[a-zA-Z]/g,
+ function (ch) {
+ var cc = ch.charCodeAt(0);
+ return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
+ });
+ }
+ }
+ }
+
+ return parts.join('');
+ }
+
+ var rewritten = [];
+ for (var i = 0, n = regexs.length; i < n; ++i) {
+ var regex = regexs[i];
+ if (regex.global || regex.multiline) { throw new Error('' + regex); }
+ rewritten.push(
+ '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
+ }
+
+ return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
+ }
+
+ var PR_innerHtmlWorks = null;
+ function getInnerHtml(node) {
+ // inner html is hopelessly broken in Safari 2.0.4 when the content is
+ // an html description of well formed XML and the containing tag is a PRE
+ // tag, so we detect that case and emulate innerHTML.
+ if (null === PR_innerHtmlWorks) {
+ var testNode = document.createElement('PRE');
+ testNode.appendChild(
+ document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
+ PR_innerHtmlWorks = !/</.test(testNode.innerHTML);
+ }
+
+ if (PR_innerHtmlWorks) {
+ var content = node.innerHTML;
+ // XMP tags contain unescaped entities so require special handling.
+ if (isRawContent(node)) {
+ content = textToHtml(content);
+ } else if (!isPreformatted(node, content)) {
+ content = content.replace(/(<br\s*\/?>)[\r\n]+/g, '$1')
+ .replace(/(?:[\r\n]+[ \t]*)+/g, ' ');
+ }
+ return content;
+ }
+
+ var out = [];
+ for (var child = node.firstChild; child; child = child.nextSibling) {
+ normalizedHtml(child, out);
+ }
+ return out.join('');
+ }
+
+ /** returns a function that expand tabs to spaces. This function can be fed
+ * successive chunks of text, and will maintain its own internal state to
+ * keep track of how tabs are expanded.
+ * @return {function (string) : string} a function that takes
+ * plain text and return the text with tabs expanded.
+ * @private
+ */
+ function makeTabExpander(tabWidth) {
+ var SPACES = ' ';
+ var charInLine = 0;
+
+ return function (plainText) {
+ // walk over each character looking for tabs and newlines.
+ // On tabs, expand them. On newlines, reset charInLine.
+ // Otherwise increment charInLine
+ var out = null;
+ var pos = 0;
+ for (var i = 0, n = plainText.length; i < n; ++i) {
+ var ch = plainText.charAt(i);
+
+ switch (ch) {
+ case '\t':
+ if (!out) { out = []; }
+ out.push(plainText.substring(pos, i));
+ // calculate how much space we need in front of this part
+ // nSpaces is the amount of padding -- the number of spaces needed
+ // to move us to the next column, where columns occur at factors of
+ // tabWidth.
+ var nSpaces = tabWidth - (charInLine % tabWidth);
+ charInLine += nSpaces;
+ for (; nSpaces >= 0; nSpaces -= SPACES.length) {
+ out.push(SPACES.substring(0, nSpaces));
+ }
+ pos = i + 1;
+ break;
+ case '\n':
+ charInLine = 0;
+ break;
+ default:
+ ++charInLine;
+ }
+ }
+ if (!out) { return plainText; }
+ out.push(plainText.substring(pos));
+ return out.join('');
+ };
+ }
+
+ var pr_chunkPattern = new RegExp(
+ '[^<]+' // A run of characters other than '<'
+ + '|<\!--[\\s\\S]*?--\>' // an HTML comment
+ + '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>' // a CDATA section
+ // a probable tag that should not be highlighted
+ + '|<\/?[a-zA-Z](?:[^>\"\']|\'[^\']*\'|\"[^\"]*\")*>'
+ + '|<', // A '<' that does not begin a larger chunk
+ 'g');
+ var pr_commentPrefix = /^<\!--/;
+ var pr_cdataPrefix = /^<!\[CDATA\[/;
+ var pr_brPrefix = /^<br\b/i;
+ var pr_tagNameRe = /^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/;
+
+ /** split markup into chunks of html tags (style null) and
+ * plain text (style {@link #PR_PLAIN}), converting tags which are
+ * significant for tokenization (<br>) into their textual equivalent.
+ *
+ * @param {string} s html where whitespace is considered significant.
+ * @return {Object} source code and extracted tags.
+ * @private
+ */
+ function extractTags(s) {
+ // since the pattern has the 'g' modifier and defines no capturing groups,
+ // this will return a list of all chunks which we then classify and wrap as
+ // PR_Tokens
+ var matches = s.match(pr_chunkPattern);
+ var sourceBuf = [];
+ var sourceBufLen = 0;
+ var extractedTags = [];
+ if (matches) {
+ for (var i = 0, n = matches.length; i < n; ++i) {
+ var match = matches[i];
+ if (match.length > 1 && match.charAt(0) === '<') {
+ if (pr_commentPrefix.test(match)) { continue; }
+ if (pr_cdataPrefix.test(match)) {
+ // strip CDATA prefix and suffix. Don't unescape since it's CDATA
+ sourceBuf.push(match.substring(9, match.length - 3));
+ sourceBufLen += match.length - 12;
+ } else if (pr_brPrefix.test(match)) {
+ // <br> tags are lexically significant so convert them to text.
+ // This is undone later.
+ sourceBuf.push('\n');
+ ++sourceBufLen;
+ } else {
+ if (match.indexOf(PR_NOCODE) >= 0 && isNoCodeTag(match)) {
+ // A <span class="nocode"> will start a section that should be
+ // ignored. Continue walking the list until we see a matching end
+ // tag.
+ var name = match.match(pr_tagNameRe)[2];
+ var depth = 1;
+ var j;
+ end_tag_loop:
+ for (j = i + 1; j < n; ++j) {
+ var name2 = matches[j].match(pr_tagNameRe);
+ if (name2 && name2[2] === name) {
+ if (name2[1] === '/') {
+ if (--depth === 0) { break end_tag_loop; }
+ } else {
+ ++depth;
+ }
+ }
+ }
+ if (j < n) {
+ extractedTags.push(
+ sourceBufLen, matches.slice(i, j + 1).join(''));
+ i = j;
+ } else { // Ignore unclosed sections.
+ extractedTags.push(sourceBufLen, match);
+ }
+ } else {
+ extractedTags.push(sourceBufLen, match);
+ }
+ }
+ } else {
+ var literalText = htmlToText(match);
+ sourceBuf.push(literalText);
+ sourceBufLen += literalText.length;
+ }
+ }
+ }
+ return { source: sourceBuf.join(''), tags: extractedTags };
+ }
+
+ /** True if the given tag contains a class attribute with the nocode class. */
+ function isNoCodeTag(tag) {
+ return !!tag
+ // First canonicalize the representation of attributes
+ .replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,
+ ' $1="$2$3$4"')
+ // Then look for the attribute we want.
+ .match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/);
+ }
+
+ /**
+ * Apply the given language handler to sourceCode and add the resulting
+ * decorations to out.
+ * @param {number} basePos the index of sourceCode within the chunk of source
+ * whose decorations are already present on out.
+ */
+ function appendDecorations(basePos, sourceCode, langHandler, out) {
+ if (!sourceCode) { return; }
+ var job = {
+ source: sourceCode,
+ basePos: basePos
+ };
+ langHandler(job);
+ out.push.apply(out, job.decorations);
+ }
+
+ /** Given triples of [style, pattern, context] returns a lexing function,
+ * The lexing function interprets the patterns to find token boundaries and
+ * returns a decoration list of the form
+ * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
+ * where index_n is an index into the sourceCode, and style_n is a style
+ * constant like PR_PLAIN. index_n-1 <= index_n, and style_n-1 applies to
+ * all characters in sourceCode[index_n-1:index_n].
+ *
+ * The stylePatterns is a list whose elements have the form
+ * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
+ *
+ * Style is a style constant like PR_PLAIN, or can be a string of the
+ * form 'lang-FOO', where FOO is a language extension describing the
+ * language of the portion of the token in $1 after pattern executes.
+ * E.g., if style is 'lang-lisp', and group 1 contains the text
+ * '(hello (world))', then that portion of the token will be passed to the
+ * registered lisp handler for formatting.
+ * The text before and after group 1 will be restyled using this decorator
+ * so decorators should take care that this doesn't result in infinite
+ * recursion. For example, the HTML lexer rule for SCRIPT elements looks
+ * something like ['lang-js', /<[s]cript>(.+?)<\/script>/]. This may match
+ * '<script>foo()<\/script>', which would cause the current decorator to
+ * be called with '<script>' which would not match the same rule since
+ * group 1 must not be empty, so it would be instead styled as PR_TAG by
+ * the generic tag rule. The handler registered for the 'js' extension would
+ * then be called with 'foo()', and finally, the current decorator would
+ * be called with '<\/script>' which would not match the original rule and
+ * so the generic tag rule would identify it as a tag.
+ *
+ * Pattern must only match prefixes, and if it matches a prefix, then that
+ * match is considered a token with the same style.
+ *
+ * Context is applied to the last non-whitespace, non-comment token
+ * recognized.
+ *
+ * Shortcut is an optional string of characters, any of which, if the first
+ * character, gurantee that this pattern and only this pattern matches.
+ *
+ * @param {Array} shortcutStylePatterns patterns that always start with
+ * a known character. Must have a shortcut string.
+ * @param {Array} fallthroughStylePatterns patterns that will be tried in
+ * order if the shortcut ones fail. May have shortcuts.
+ *
+ * @return {function (Object)} a
+ * function that takes source code and returns a list of decorations.
+ */
+ function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
+ var shortcuts = {};
+ var tokenizer;
+ (function () {
+ var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
+ var allRegexs = [];
+ var regexKeys = {};
+ for (var i = 0, n = allPatterns.length; i < n; ++i) {
+ var patternParts = allPatterns[i];
+ var shortcutChars = patternParts[3];
+ if (shortcutChars) {
+ for (var c = shortcutChars.length; --c >= 0;) {
+ shortcuts[shortcutChars.charAt(c)] = patternParts;
+ }
+ }
+ var regex = patternParts[1];
+ var k = '' + regex;
+ if (!regexKeys.hasOwnProperty(k)) {
+ allRegexs.push(regex);
+ regexKeys[k] = null;
+ }
+ }
+ allRegexs.push(/[\0-\uffff]/);
+ tokenizer = combinePrefixPatterns(allRegexs);
+ })();
+
+ var nPatterns = fallthroughStylePatterns.length;
+ var notWs = /\S/;
+
+ /**
+ * Lexes job.source and produces an output array job.decorations of style
+ * classes preceded by the position at which they start in job.source in
+ * order.
+ *
+ * @param {Object} job an object like {@code
+ * source: {string} sourceText plain text,
+ * basePos: {int} position of job.source in the larger chunk of
+ * sourceCode.
+ * }
+ */
+ var decorate = function (job) {
+ var sourceCode = job.source, basePos = job.basePos;
+ /** Even entries are positions in source in ascending order. Odd enties
+ * are style markers (e.g., PR_COMMENT) that run from that position until
+ * the end.
+ * @type {Array.<number|string>}
+ */
+ var decorations = [basePos, PR_PLAIN];
+ var pos = 0; // index into sourceCode
+ var tokens = sourceCode.match(tokenizer) || [];
+ var styleCache = {};
+
+ for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
+ var token = tokens[ti];
+ var style = styleCache[token];
+ var match = void 0;
+
+ var isEmbedded;
+ if (typeof style === 'string') {
+ isEmbedded = false;
+ } else {
+ var patternParts = shortcuts[token.charAt(0)];
+ if (patternParts) {
+ match = token.match(patternParts[1]);
+ style = patternParts[0];
+ } else {
+ for (var i = 0; i < nPatterns; ++i) {
+ patternParts = fallthroughStylePatterns[i];
+ match = token.match(patternParts[1]);
+ if (match) {
+ style = patternParts[0];
+ break;
+ }
+ }
+
+ if (!match) { // make sure that we make progress
+ style = PR_PLAIN;
+ }
+ }
+
+ isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
+ if (isEmbedded && !(match && typeof match[1] === 'string')) {
+ isEmbedded = false;
+ style = PR_SOURCE;
+ }
+
+ if (!isEmbedded) { styleCache[token] = style; }
+ }
+
+ var tokenStart = pos;
+ pos += token.length;
+
+ if (!isEmbedded) {
+ decorations.push(basePos + tokenStart, style);
+ } else { // Treat group 1 as an embedded block of source code.
+ var embeddedSource = match[1];
+ var embeddedSourceStart = token.indexOf(embeddedSource);
+ var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
+ if (match[2]) {
+ // If embeddedSource can be blank, then it would match at the
+ // beginning which would cause us to infinitely recurse on the
+ // entire token, so we catch the right context in match[2].
+ embeddedSourceEnd = token.length - match[2].length;
+ embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
+ }
+ var lang = style.substring(5);
+ // Decorate the left of the embedded source
+ appendDecorations(
+ basePos + tokenStart,
+ token.substring(0, embeddedSourceStart),
+ decorate, decorations);
+ // Decorate the embedded source
+ appendDecorations(
+ basePos + tokenStart + embeddedSourceStart,
+ embeddedSource,
+ langHandlerForExtension(lang, embeddedSource),
+ decorations);
+ // Decorate the right of the embedded section
+ appendDecorations(
+ basePos + tokenStart + embeddedSourceEnd,
+ token.substring(embeddedSourceEnd),
+ decorate, decorations);
+ }
+ }
+ job.decorations = decorations;
+ };
+ return decorate;
+ }
+
+ /** returns a function that produces a list of decorations from source text.
+ *
+ * This code treats ", ', and ` as string delimiters, and \ as a string
+ * escape. It does not recognize perl's qq() style strings.
+ * It has no special handling for double delimiter escapes as in basic, or
+ * the tripled delimiters used in python, but should work on those regardless
+ * although in those cases a single string literal may be broken up into
+ * multiple adjacent string literals.
+ *
+ * It recognizes C, C++, and shell style comments.
+ *
+ * @param {Object} options a set of optional parameters.
+ * @return {function (Object)} a function that examines the source code
+ * in the input job and builds the decoration list.
+ */
+ function sourceDecorator(options) {
+ var shortcutStylePatterns = [], fallthroughStylePatterns = [];
+ if (options['tripleQuotedStrings']) {
+ // '''multi-line-string''', 'single-line-string', and double-quoted
+ shortcutStylePatterns.push(
+ [PR_STRING, /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
+ null, '\'"']);
+ } else if (options['multiLineStrings']) {
+ // 'multi-line-string', "multi-line-string"
+ shortcutStylePatterns.push(
+ [PR_STRING, /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
+ null, '\'"`']);
+ } else {
+ // 'single-line-string', "single-line-string"
+ shortcutStylePatterns.push(
+ [PR_STRING,
+ /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
+ null, '"\'']);
+ }
+ if (options['verbatimStrings']) {
+ // verbatim-string-literal production from the C# grammar. See issue 93.
+ fallthroughStylePatterns.push(
+ [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
+ }
+ if (options['hashComments']) {
+ if (options['cStyleComments']) {
+ // Stop C preprocessor declarations at an unclosed open comment
+ shortcutStylePatterns.push(
+ [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
+ null, '#']);
+ fallthroughStylePatterns.push(
+ [PR_STRING,
+ /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
+ null]);
+ } else {
+ shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
+ }
+ }
+ if (options['cStyleComments']) {
+ fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
+ fallthroughStylePatterns.push(
+ [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
+ }
+ if (options['regexLiterals']) {
+ var REGEX_LITERAL = (
+ // A regular expression literal starts with a slash that is
+ // not followed by * or / so that it is not confused with
+ // comments.
+ '/(?=[^/*])'
+ // and then contains any number of raw characters,
+ + '(?:[^/\\x5B\\x5C]'
+ // escape sequences (\x5C),
+ + '|\\x5C[\\s\\S]'
+ // or non-nesting character sets (\x5B\x5D);
+ + '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
+ // finally closed by a /.
+ + '/');
+ fallthroughStylePatterns.push(
+ ['lang-regex',
+ new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
+ ]);
+ }
+
+ var keywords = options['keywords'].replace(/^\s+|\s+$/g, '');
+ if (keywords.length) {
+ fallthroughStylePatterns.push(
+ [PR_KEYWORD,
+ new RegExp('^(?:' + keywords.replace(/\s+/g, '|') + ')\\b'), null]);
+ }
+
+ shortcutStylePatterns.push([PR_PLAIN, /^\s+/, null, ' \r\n\t\xA0']);
+ fallthroughStylePatterns.push(
+ // TODO(mikesamuel): recognize non-latin letters and numerals in idents
+ [PR_LITERAL, /^@[a-z_$][a-z_$@0-9]*/i, null],
+ [PR_TYPE, /^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, null],
+ [PR_PLAIN, /^[a-z_$][a-z_$@0-9]*/i, null],
+ [PR_LITERAL,
+ new RegExp(
+ '^(?:'
+ // A hex number
+ + '0x[a-f0-9]+'
+ // or an octal or decimal number,
+ + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
+ // possibly in scientific notation
+ + '(?:e[+\\-]?\\d+)?'
+ + ')'
+ // with an optional modifier like UL for unsigned long
+ + '[a-z]*', 'i'),
+ null, '0123456789'],
+ [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#]*/, null]);
+
+ return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
+ }
+
+ var decorateSource = sourceDecorator({
+ 'keywords': ALL_KEYWORDS,
+ 'hashComments': true,
+ 'cStyleComments': true,
+ 'multiLineStrings': true,
+ 'regexLiterals': true
+ });
+
+ /** Breaks {@code job.source} around style boundaries in
+ * {@code job.decorations} while re-interleaving {@code job.extractedTags},
+ * and leaves the result in {@code job.prettyPrintedHtml}.
+ * @param {Object} job like {
+ * source: {string} source as plain text,
+ * extractedTags: {Array.<number|string>} extractedTags chunks of raw
+ * html preceded by their position in {@code job.source}
+ * in order
+ * decorations: {Array.<number|string} an array of style classes preceded
+ * by the position at which they start in job.source in order
+ * }
+ * @private
+ */
+ function recombineTagsAndDecorations(job) {
+ var sourceText = job.source;
+ var extractedTags = job.extractedTags;
+ var decorations = job.decorations;
+
+ var html = [];
+ // index past the last char in sourceText written to html
+ var outputIdx = 0;
+
+ var openDecoration = null;
+ var currentDecoration = null;
+ var tagPos = 0; // index into extractedTags
+ var decPos = 0; // index into decorations
+ var tabExpander = makeTabExpander(window['PR_TAB_WIDTH']);
+
+ var adjacentSpaceRe = /([\r\n ]) /g;
+ var startOrSpaceRe = /(^| ) /gm;
+ var newlineRe = /\r\n?|\n/g;
+ var trailingSpaceRe = /[ \r\n]$/;
+ var lastWasSpace = true; // the last text chunk emitted ended with a space.
+
+ // A helper function that is responsible for opening sections of decoration
+ // and outputing properly escaped chunks of source
+ function emitTextUpTo(sourceIdx) {
+ if (sourceIdx > outputIdx) {
+ if (openDecoration && openDecoration !== currentDecoration) {
+ // Close the current decoration
+ html.push('</span>');
+ openDecoration = null;
+ }
+ if (!openDecoration && currentDecoration) {
+ openDecoration = currentDecoration;
+ html.push('<span class="', openDecoration, '">');
+ }
+ // This interacts badly with some wikis which introduces paragraph tags
+ // into pre blocks for some strange reason.
+ // It's necessary for IE though which seems to lose the preformattedness
+ // of <pre> tags when their innerHTML is assigned.
+ // http://stud3.tuwien.ac.at/~e0226430/innerHtmlQuirk.html
+ // and it serves to undo the conversion of <br>s to newlines done in
+ // chunkify.
+ var htmlChunk = textToHtml(
+ tabExpander(sourceText.substring(outputIdx, sourceIdx)))
+ .replace(lastWasSpace
+ ? startOrSpaceRe
+ : adjacentSpaceRe, '$1 ');
+ // Keep track of whether we need to escape space at the beginning of the
+ // next chunk.
+ lastWasSpace = trailingSpaceRe.test(htmlChunk);
+ // IE collapses multiple adjacient <br>s into 1 line break.
+ // Prefix every <br> with ' ' can prevent such IE's behavior.
+ var lineBreakHtml = window['_pr_isIE6']() ? ' <br />' : '<br />';
+ html.push(htmlChunk.replace(newlineRe, lineBreakHtml));
+ outputIdx = sourceIdx;
+ }
+ }
+
+ while (true) {
+ // Determine if we're going to consume a tag this time around. Otherwise
+ // we consume a decoration or exit.
+ var outputTag;
+ if (tagPos < extractedTags.length) {
+ if (decPos < decorations.length) {
+ // Pick one giving preference to extractedTags since we shouldn't open
+ // a new style that we're going to have to immediately close in order
+ // to output a tag.
+ outputTag = extractedTags[tagPos] <= decorations[decPos];
+ } else {
+ outputTag = true;
+ }
+ } else {
+ outputTag = false;
+ }
+ // Consume either a decoration or a tag or exit.
+ if (outputTag) {
+ emitTextUpTo(extractedTags[tagPos]);
+ if (openDecoration) {
+ // Close the current decoration
+ html.push('</span>');
+ openDecoration = null;
+ }
+ html.push(extractedTags[tagPos + 1]);
+ tagPos += 2;
+ } else if (decPos < decorations.length) {
+ emitTextUpTo(decorations[decPos]);
+ currentDecoration = decorations[decPos + 1];
+ decPos += 2;
+ } else {
+ break;
+ }
+ }
+ emitTextUpTo(sourceText.length);
+ if (openDecoration) {
+ html.push('</span>');
+ }
+ job.prettyPrintedHtml = html.join('');
+ }
+
+ /** Maps language-specific file extensions to handlers. */
+ var langHandlerRegistry = {};
+ /** Register a language handler for the given file extensions.
+ * @param {function (Object)} handler a function from source code to a list
+ * of decorations. Takes a single argument job which describes the
+ * state of the computation. The single parameter has the form
+ * {@code {
+ * source: {string} as plain text.
+ * decorations: {Array.<number|string>} an array of style classes
+ * preceded by the position at which they start in
+ * job.source in order.
+ * The language handler should assigned this field.
+ * basePos: {int} the position of source in the larger source chunk.
+ * All positions in the output decorations array are relative
+ * to the larger source chunk.
+ * } }
+ * @param {Array.<string>} fileExtensions
+ */
+ function registerLangHandler(handler, fileExtensions) {
+ for (var i = fileExtensions.length; --i >= 0;) {
+ var ext = fileExtensions[i];
+ if (!langHandlerRegistry.hasOwnProperty(ext)) {
+ langHandlerRegistry[ext] = handler;
+ } else if ('console' in window) {
+ console.warn('cannot override language handler %s', ext);
+ }
+ }
+ }
+ function langHandlerForExtension(extension, source) {
+ if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
+ // Treat it as markup if the first non whitespace character is a < and
+ // the last non-whitespace character is a >.
+ extension = /^\s*</.test(source)
+ ? 'default-markup'
+ : 'default-code';
+ }
+ return langHandlerRegistry[extension];
+ }
+ registerLangHandler(decorateSource, ['default-code']);
+ registerLangHandler(
+ createSimpleLexer(
+ [],
+ [
+ [PR_PLAIN, /^[^<?]+/],
+ [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
+ [PR_COMMENT, /^<\!--[\s\S]*?(?:-\->|$)/],
+ // Unescaped content in an unknown language
+ ['lang-', /^<\?([\s\S]+?)(?:\?>|$)/],
+ ['lang-', /^<%([\s\S]+?)(?:%>|$)/],
+ [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
+ ['lang-', /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
+ // Unescaped content in javascript. (Or possibly vbscript).
+ ['lang-js', /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
+ // Contains unescaped stylesheet content
+ ['lang-css', /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
+ ['lang-in.tag', /^(<\/?[a-z][^<>]*>)/i]
+ ]),
+ ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
+ registerLangHandler(
+ createSimpleLexer(
+ [
+ [PR_PLAIN, /^[\s]+/, null, ' \t\r\n'],
+ [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
+ ],
+ [
+ [PR_TAG, /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
+ [PR_ATTRIB_NAME, /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
+ ['lang-uq.val', /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
+ [PR_PUNCTUATION, /^[=<>\/]+/],
+ ['lang-js', /^on\w+\s*=\s*\"([^\"]+)\"/i],
+ ['lang-js', /^on\w+\s*=\s*\'([^\']+)\'/i],
+ ['lang-js', /^on\w+\s*=\s*([^\"\'>\s]+)/i],
+ ['lang-css', /^style\s*=\s*\"([^\"]+)\"/i],
+ ['lang-css', /^style\s*=\s*\'([^\']+)\'/i],
+ ['lang-css', /^style\s*=\s*([^\"\'>\s]+)/i]
+ ]),
+ ['in.tag']);
+ registerLangHandler(
+ createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
+ registerLangHandler(sourceDecorator({
+ 'keywords': CPP_KEYWORDS,
+ 'hashComments': true,
+ 'cStyleComments': true
+ }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
+ registerLangHandler(sourceDecorator({
+ 'keywords': 'null true false'
+ }), ['json']);
+ registerLangHandler(sourceDecorator({
+ 'keywords': CSHARP_KEYWORDS,
+ 'hashComments': true,
+ 'cStyleComments': true,
+ 'verbatimStrings': true
+ }), ['cs']);
+ registerLangHandler(sourceDecorator({
+ 'keywords': JAVA_KEYWORDS,
+ 'cStyleComments': true
+ }), ['java']);
+ registerLangHandler(sourceDecorator({
+ 'keywords': SH_KEYWORDS,
+ 'hashComments': true,
+ 'multiLineStrings': true
+ }), ['bsh', 'csh', 'sh']);
+ registerLangHandler(sourceDecorator({
+ 'keywords': PYTHON_KEYWORDS,
+ 'hashComments': true,
+ 'multiLineStrings': true,
+ 'tripleQuotedStrings': true
+ }), ['cv', 'py']);
+ registerLangHandler(sourceDecorator({
+ 'keywords': PERL_KEYWORDS,
+ 'hashComments': true,
+ 'multiLineStrings': true,
+ 'regexLiterals': true
+ }), ['perl', 'pl', 'pm']);
+ registerLangHandler(sourceDecorator({
+ 'keywords': RUBY_KEYWORDS,
+ 'hashComments': true,
+ 'multiLineStrings': true,
+ 'regexLiterals': true
+ }), ['rb']);
+ registerLangHandler(sourceDecorator({
+ 'keywords': JSCRIPT_KEYWORDS,
+ 'cStyleComments': true,
+ 'regexLiterals': true
+ }), ['js']);
+ registerLangHandler(
+ createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
+
+ function applyDecorator(job) {
+ var sourceCodeHtml = job.sourceCodeHtml;
+ var opt_langExtension = job.langExtension;
+
+ // Prepopulate output in case processing fails with an exception.
+ job.prettyPrintedHtml = sourceCodeHtml;
+
+ try {
+ // Extract tags, and convert the source code to plain text.
+ var sourceAndExtractedTags = extractTags(sourceCodeHtml);
+ /** Plain text. @type {string} */
+ var source = sourceAndExtractedTags.source;
+ job.source = source;
+ job.basePos = 0;
+
+ /** Even entries are positions in source in ascending order. Odd entries
+ * are tags that were extracted at that position.
+ * @type {Array.<number|string>}
+ */
+ job.extractedTags = sourceAndExtractedTags.tags;
+
+ // Apply the appropriate language handler
+ langHandlerForExtension(opt_langExtension, source)(job);
+ // Integrate the decorations and tags back into the source code to produce
+ // a decorated html string which is left in job.prettyPrintedHtml.
+ recombineTagsAndDecorations(job);
+ } catch (e) {
+ if ('console' in window) {
+ console.log(e);
+ console.trace();
+ }
+ }
+ }
+
+ function prettyPrintOne(sourceCodeHtml, opt_langExtension) {
+ var job = {
+ sourceCodeHtml: sourceCodeHtml,
+ langExtension: opt_langExtension
+ };
+ applyDecorator(job);
+ return job.prettyPrintedHtml;
+ }
+
+ function prettyPrint(opt_whenDone) {
+ var isIE678 = window['_pr_isIE6']();
+ var ieNewline = isIE678 === 6 ? '\r\n' : '\r';
+ // See bug 71 and http://stackoverflow.com/questions/136443/why-doesnt-ie7-
+
+ // fetch a list of nodes to rewrite
+ var codeSegments = [
+ document.getElementsByTagName('pre'),
+ document.getElementsByTagName('code'),
+ document.getElementsByTagName('td'), /* ND Change: Add tables to support prototypes. */
+ document.getElementsByTagName('xmp') ];
+ var elements = [];
+ for (var i = 0; i < codeSegments.length; ++i) {
+ for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
+ elements.push(codeSegments[i][j]);
+ }
+ }
+ codeSegments = null;
+
+ var clock = Date;
+ if (!clock['now']) {
+ clock = { 'now': function () { return (new Date).getTime(); } };
+ }
+
+ // The loop is broken into a series of continuations to make sure that we
+ // don't make the browser unresponsive when rewriting a large page.
+ var k = 0;
+ var prettyPrintingJob;
+
+ function doWork() {
+ var endTime = (window['PR_SHOULD_USE_CONTINUATION'] ?
+ clock.now() + 250 /* ms */ :
+ Infinity);
+ for (; k < elements.length && clock.now() < endTime; k++) {
+ var cs = elements[k];
+ if (cs.className && cs.className.indexOf('prettyprint') >= 0) {
+ // If the classes includes a language extensions, use it.
+ // Language extensions can be specified like
+ // <pre class="prettyprint lang-cpp">
+ // the language extension "cpp" is used to find a language handler as
+ // passed to PR_registerLangHandler.
+ var langExtension = cs.className.match(/\blang-(\w+)\b/);
+ if (langExtension) { langExtension = langExtension[1]; }
+
+ // make sure this is not nested in an already prettified element
+ var nested = false;
+ for (var p = cs.parentNode; p; p = p.parentNode) {
+ if ((p.tagName === 'pre' || p.tagName === 'code' ||
+ p.tagName === 'xmp' || p.tagName === 'td') && /* ND Change: Add tables to support prototypes */
+ p.className && p.className.indexOf('prettyprint') >= 0) {
+ nested = true;
+ break;
+ }
+ }
+ if (!nested) {
+ // fetch the content as a snippet of properly escaped HTML.
+ // Firefox adds newlines at the end.
+ var content = getInnerHtml(cs);
+ content = content.replace(/(?:\r\n?|\n)$/, '');
+
+ /* ND Change: we need to preserve s so change them to a special character instead of a space. */
+ content = content.replace(/ /g, '\x11');
+
+ // do the pretty printing
+ prettyPrintingJob = {
+ sourceCodeHtml: content,
+ langExtension: langExtension,
+ sourceNode: cs
+ };
+ applyDecorator(prettyPrintingJob);
+ replaceWithPrettyPrintedHtml();
+ }
+ }
+ }
+ if (k < elements.length) {
+ // finish up in a continuation
+ setTimeout(doWork, 250);
+ } else if (opt_whenDone) {
+ opt_whenDone();
+ }
+ }
+
+ function replaceWithPrettyPrintedHtml() {
+ var newContent = prettyPrintingJob.prettyPrintedHtml;
+ if (!newContent) { return; }
+
+ /* ND Change: Restore the preserved s. */
+ newContent = newContent.replace(/\x11/g, ' ');
+
+ var cs = prettyPrintingJob.sourceNode;
+
+ // push the prettified html back into the tag.
+ if (!isRawContent(cs)) {
+ // just replace the old html with the new
+ cs.innerHTML = newContent;
+ } else {
+ // we need to change the tag to a <pre> since <xmp>s do not allow
+ // embedded tags such as the span tags used to attach styles to
+ // sections of source code.
+ var pre = document.createElement('PRE');
+ for (var i = 0; i < cs.attributes.length; ++i) {
+ var a = cs.attributes[i];
+ if (a.specified) {
+ var aname = a.name.toLowerCase();
+ if (aname === 'class') {
+ pre.className = a.value; // For IE 6
+ } else {
+ pre.setAttribute(a.name, a.value);
+ }
+ }
+ }
+ pre.innerHTML = newContent;
+
+ // remove the old
+ cs.parentNode.replaceChild(pre, cs);
+ cs = pre;
+ }
+
+ // Replace <br>s with line-feeds so that copying and pasting works
+ // on IE 6.
+ // Doing this on other browsers breaks lots of stuff since \r\n is
+ // treated as two newlines on Firefox, and doing this also slows
+ // down rendering.
+ if (isIE678 && cs.tagName === 'PRE') {
+ var lineBreaks = cs.getElementsByTagName('br');
+ for (var j = lineBreaks.length; --j >= 0;) {
+ var lineBreak = lineBreaks[j];
+ lineBreak.parentNode.replaceChild(
+ document.createTextNode(ieNewline), lineBreak);
+ }
+ }
+ }
+
+ doWork();
+ }
+
+ window['PR_normalizedHtml'] = normalizedHtml;
+ window['prettyPrintOne'] = prettyPrintOne;
+ window['prettyPrint'] = prettyPrint;
+ window['PR'] = {
+ 'combinePrefixPatterns': combinePrefixPatterns,
+ 'createSimpleLexer': createSimpleLexer,
+ 'registerLangHandler': registerLangHandler,
+ 'sourceDecorator': sourceDecorator,
+ 'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
+ 'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
+ 'PR_COMMENT': PR_COMMENT,
+ 'PR_DECLARATION': PR_DECLARATION,
+ 'PR_KEYWORD': PR_KEYWORD,
+ 'PR_LITERAL': PR_LITERAL,
+ 'PR_NOCODE': PR_NOCODE,
+ 'PR_PLAIN': PR_PLAIN,
+ 'PR_PUNCTUATION': PR_PUNCTUATION,
+ 'PR_SOURCE': PR_SOURCE,
+ 'PR_STRING': PR_STRING,
+ 'PR_TAG': PR_TAG,
+ 'PR_TYPE': PR_TYPE
+ };
+})();
+
+
+// ____________________________________________________________________________
+
+
+
+// Lua extension
+
+PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0]+/,null,' \n\r \xa0'],[PR.PR_STRING,/^(?:\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)|\'(?:[^\'\\]|\\[\s\S])*(?:\'|$))/,null,'\"\'']],[[PR.PR_COMMENT,/^--(?:\[(=*)\[[\s\S]*?(?:\]\1\]|$)|[^\r\n]*)/],[PR.PR_STRING,/^\[(=*)\[[\s\S]*?(?:\]\1\]|$)/],[PR.PR_KEYWORD,/^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,null],[PR.PR_LITERAL,/^[+-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],[PR.PR_PLAIN,/^[a-z_]\w*/i],[PR.PR_PUNCTUATION,/^[^\w\t\n\r \xA0][^\w\t\n\r \xA0\"\'\-\+=]*/]]),['lua'])
+
+
+// Haskell extension
+
+PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\x0B\x0C\r ]+/,null,' \n\r '],[PR.PR_STRING,/^\"(?:[^\"\\\n\x0C\r]|\\[\s\S])*(?:\"|$)/,null,'\"'],[PR.PR_STRING,/^\'(?:[^\'\\\n\x0C\r]|\\[^&])\'?/,null,'\''],[PR.PR_LITERAL,/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+\-]?\d+)?)/i,null,'0123456789']],[[PR.PR_COMMENT,/^(?:(?:--+(?:[^\r\n\x0C]*)?)|(?:\{-(?:[^-]|-+[^-\}])*-\}))/],[PR.PR_KEYWORD,/^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^a-zA-Z0-9\']|$)/,null],[PR.PR_PLAIN,/^(?:[A-Z][\w\']*\.)*[a-zA-Z][\w\']*/],[PR.PR_PUNCTUATION,/^[^\t\n\x0B\x0C\r a-zA-Z0-9\'\"]+/]]),['hs'])
+
+
+// ML extension
+
+PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0]+/,null,' \n\r \xa0'],[PR.PR_COMMENT,/^#(?:if[\t\n\r \xA0]+(?:[a-z_$][\w\']*|``[^\r\n\t`]*(?:``|$))|else|endif|light)/i,null,'#'],[PR.PR_STRING,/^(?:\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)|\'(?:[^\'\\]|\\[\s\S])*(?:\'|$))/,null,'\"\'']],[[PR.PR_COMMENT,/^(?:\/\/[^\r\n]*|\(\*[\s\S]*?\*\))/],[PR.PR_KEYWORD,/^(?:abstract|and|as|assert|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|if|in|inherit|inline|interface|internal|lazy|let|match|member|module|mutable|namespace|new|null|of|open|or|override|private|public|rec|return|static|struct|then|to|true|try|type|upcast|use|val|void|when|while|with|yield|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|global|include|method|mixin|object|parallel|process|protected|pure|sealed|trait|virtual|volatile)\b/],[PR.PR_LITERAL,/^[+\-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],[PR.PR_PLAIN,/^(?:[a-z_]\w*[!?#]?|``[^\r\n\t`]*(?:``|$))/i],[PR.PR_PUNCTUATION,/^[^\t\n\r \xA0\"\'\w]+/]]),['fs','ml'])
+
+
+// SQL extension
+
+PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0]+/,null,' \n\r \xa0'],[PR.PR_STRING,/^(?:"(?:[^\"\\]|\\.)*"|'(?:[^\'\\]|\\.)*')/,null,'\"\'']],[[PR.PR_COMMENT,/^(?:--[^\r\n]*|\/\*[\s\S]*?(?:\*\/|$))/],[PR.PR_KEYWORD,/^(?:ADD|ALL|ALTER|AND|ANY|AS|ASC|AUTHORIZATION|BACKUP|BEGIN|BETWEEN|BREAK|BROWSE|BULK|BY|CASCADE|CASE|CHECK|CHECKPOINT|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMN|COMMIT|COMPUTE|CONSTRAINT|CONTAINS|CONTAINSTABLE|CONTINUE|CONVERT|CREATE|CROSS|CURRENT|CURRENT_DATE|CURRENT_TIME|CURRENT_TIMESTAMP|CURRENT_USER|CURSOR|DATABASE|DBCC|DEALLOCATE|DECLARE|DEFAULT|DELETE|DENY|DESC|DISK|DISTINCT|DISTRIBUTED|DOUBLE|DROP|DUMMY|DUMP|ELSE|END|ERRLVL|ESCAPE|EXCEPT|EXEC|EXECUTE|EXISTS|EXIT|FETCH|FILE|FILLFACTOR|FOR|FOREIGN|FREETEXT|FREETEXTTABLE|FROM|FULL|FUNCTION|GOTO|GRANT|GROUP|HAVING|HOLDLOCK|IDENTITY|IDENTITYCOL|IDENTITY_INSERT|IF|IN|INDEX|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KILL|LEFT|LIKE|LINENO|LOAD|NATIONAL|NOCHECK|NONCLUSTERED|NOT|NULL|NULLIF|OF|OFF|OFFSETS|ON|OPEN|OPENDATASOURCE|OPENQUERY|OPENROWSET|OPENXML|OPTION|OR|ORDER|OUTER|OVER|PERCENT|PLAN|PRECISION|PRIMARY|PRINT|PROC|PROCEDURE|PUBLIC|RAISERROR|READ|READTEXT|RECONFIGURE|REFERENCES|REPLICATION|RESTORE|RESTRICT|RETURN|REVOKE|RIGHT|ROLLBACK|ROWCOUNT|ROWGUIDCOL|RULE|SAVE|SCHEMA|SELECT|SESSION_USER|SET|SETUSER|SHUTDOWN|SOME|STATISTICS|SYSTEM_USER|TABLE|TEXTSIZE|THEN|TO|TOP|TRAN|TRANSACTION|TRIGGER|TRUNCATE|TSEQUAL|UNION|UNIQUE|UPDATE|UPDATETEXT|USE|USER|VALUES|VARYING|VIEW|WAITFOR|WHEN|WHERE|WHILE|WITH|WRITETEXT)(?=[^\w-]|$)/i,null],[PR.PR_LITERAL,/^[+-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],[PR.PR_PLAIN,/^[a-z_][\w-]*/i],[PR.PR_PUNCTUATION,/^[^\w\t\n\r \xA0\"\'][^\w\t\n\r \xA0+\-\"\']*/]]),['sql'])
+
+
+// VB extension
+
+PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0\u2028\u2029]+/,null,' \n\r \xa0\u2028\u2029'],[PR.PR_STRING,/^(?:[\"\u201C\u201D](?:[^\"\u201C\u201D]|[\"\u201C\u201D]{2})(?:[\"\u201C\u201D]c|$)|[\"\u201C\u201D](?:[^\"\u201C\u201D]|[\"\u201C\u201D]{2})*(?:[\"\u201C\u201D]|$))/i,null,'\"\u201c\u201d'],[PR.PR_COMMENT,/^[\'\u2018\u2019][^\r\n\u2028\u2029]*/,null,'\'\u2018\u2019']],[[PR.PR_KEYWORD,/^(?:AddHandler|AddressOf|Alias|And|AndAlso|Ansi|As|Assembly|Auto|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|CBool|CByte|CChar|CDate|CDbl|CDec|Char|CInt|Class|CLng|CObj|Const|CShort|CSng|CStr|CType|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else|ElseIf|End|EndIf|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get|GetType|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|Let|Lib|Like|Long|Loop|Me|Mod|Module|MustInherit|MustOverride|MyBase|MyClass|Namespace|New|Next|Not|NotInheritable|NotOverridable|Object|On|Option|Optional|Or|OrElse|Overloads|Overridable|Overrides|ParamArray|Preserve|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|Select|Set|Shadows|Shared|Short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TypeOf|Unicode|Until|Variant|Wend|When|While|With|WithEvents|WriteOnly|Xor|EndIf|GoSub|Let|Variant|Wend)\b/i,null],[PR.PR_COMMENT,/^REM[^\r\n\u2028\u2029]*/i],[PR.PR_LITERAL,/^(?:True\b|False\b|Nothing\b|\d+(?:E[+\-]?\d+[FRD]?|[FRDSIL])?|(?:&H[0-9A-F]+|&O[0-7]+)[SIL]?|\d*\.\d+(?:E[+\-]?\d+)?[FRD]?|#\s+(?:\d+[\-\/]\d+[\-\/]\d+(?:\s+\d+:\d+(?::\d+)?(\s*(?:AM|PM))?)?|\d+:\d+(?::\d+)?(\s*(?:AM|PM))?)\s+#)/i],[PR.PR_PLAIN,/^(?:(?:[a-z]|_\w)\w*|\[(?:[a-z]|_\w)\w*\])/i],[PR.PR_PUNCTUATION,/^[^\w\t\n\r \"\'\[\]\xA0\u2018\u2019\u201C\u201D\u2028\u2029]+/],[PR.PR_PUNCTUATION,/^(?:\[|\])/]]),['vb','vbs'])
diff --git a/apidoc/html/javascript/searchdata.js b/apidoc/html/javascript/searchdata.js
new file mode 100644
index 0000000..0e586bb
--- /dev/null
+++ b/apidoc/html/javascript/searchdata.js
@@ -0,0 +1,182 @@
+var indexSectionsWithContent = {
+ "General": {
+ "Symbols": false,
+ "Numbers": false,
+ "A": false,
+ "B": false,
+ "C": true,
+ "D": false,
+ "E": true,
+ "F": true,
+ "G": false,
+ "H": false,
+ "I": false,
+ "J": false,
+ "K": false,
+ "L": false,
+ "M": true,
+ "N": false,
+ "O": false,
+ "P": false,
+ "Q": false,
+ "R": false,
+ "S": false,
+ "T": true,
+ "U": false,
+ "V": false,
+ "W": false,
+ "X": false,
+ "Y": false,
+ "Z": false
+ },
+ "Types": {
+ "Symbols": false,
+ "Numbers": false,
+ "A": false,
+ "B": false,
+ "C": false,
+ "D": false,
+ "E": true,
+ "F": true,
+ "G": false,
+ "H": false,
+ "I": false,
+ "J": false,
+ "K": false,
+ "L": false,
+ "M": true,
+ "N": false,
+ "O": false,
+ "P": false,
+ "Q": false,
+ "R": false,
+ "S": false,
+ "T": false,
+ "U": false,
+ "V": false,
+ "W": false,
+ "X": false,
+ "Y": false,
+ "Z": false
+ },
+ "Constants": {
+ "Symbols": false,
+ "Numbers": false,
+ "A": false,
+ "B": false,
+ "C": true,
+ "D": false,
+ "E": false,
+ "F": false,
+ "G": false,
+ "H": false,
+ "I": false,
+ "J": false,
+ "K": false,
+ "L": false,
+ "M": false,
+ "N": false,
+ "O": false,
+ "P": false,
+ "Q": false,
+ "R": false,
+ "S": false,
+ "T": false,
+ "U": false,
+ "V": false,
+ "W": false,
+ "X": false,
+ "Y": false,
+ "Z": false
+ },
+ "Functions": {
+ "Symbols": false,
+ "Numbers": false,
+ "A": false,
+ "B": false,
+ "C": false,
+ "D": false,
+ "E": false,
+ "F": true,
+ "G": false,
+ "H": false,
+ "I": false,
+ "J": false,
+ "K": false,
+ "L": false,
+ "M": false,
+ "N": false,
+ "O": false,
+ "P": false,
+ "Q": false,
+ "R": false,
+ "S": false,
+ "T": false,
+ "U": false,
+ "V": false,
+ "W": false,
+ "X": false,
+ "Y": false,
+ "Z": false
+ },
+ "Files": {
+ "Symbols": false,
+ "Numbers": false,
+ "A": false,
+ "B": false,
+ "C": false,
+ "D": false,
+ "E": true,
+ "F": false,
+ "G": false,
+ "H": false,
+ "I": false,
+ "J": false,
+ "K": false,
+ "L": false,
+ "M": false,
+ "N": false,
+ "O": false,
+ "P": false,
+ "Q": false,
+ "R": false,
+ "S": false,
+ "T": false,
+ "U": false,
+ "V": false,
+ "W": false,
+ "X": false,
+ "Y": false,
+ "Z": false
+ },
+ "ModuleParameters": {
+ "Symbols": false,
+ "Numbers": false,
+ "A": false,
+ "B": false,
+ "C": false,
+ "D": false,
+ "E": false,
+ "F": false,
+ "G": false,
+ "H": false,
+ "I": false,
+ "J": false,
+ "K": false,
+ "L": false,
+ "M": false,
+ "N": false,
+ "O": false,
+ "P": false,
+ "Q": false,
+ "R": false,
+ "S": false,
+ "T": true,
+ "U": false,
+ "V": false,
+ "W": false,
+ "X": false,
+ "Y": false,
+ "Z": false
+ }
+ }
\ No newline at end of file
diff --git a/apidoc/html/menu.html b/apidoc/html/menu.html
new file mode 100644
index 0000000..3d595d3
--- /dev/null
+++ b/apidoc/html/menu.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Menu - Massive IoT Test Tools</title><base target="Content"><link rel="stylesheet" type="text/css" href="styles/main.css"><script language=JavaScript src="javascript/main.js"></script><script language=JavaScript src="javascript/searchdata.js"></script></head><body class="FramedMenuPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Menu><div class=MTitle>Massive IoT Test Tools<div class=MSubTitle>API Documentation</div></div><div class=MEntry><div class=MFile><a href="files/EPTF_MQTT_LGen_Definitions-ttcn.html">EPTF_MQTT_LGen_Definitions</a></div></div><div class=MEntry><div class=MFile><a href="files/EPTF_MQTT_LGen_Functions-ttcn.html">EPTF_MQTT_LGen_Functions</a></div></div><div class=MEntry><div class=MFile><a href="files/EPTF_MQTT_LocalTransport_Definitions-ttcn.html">EPTF_MQTT_LocalTransport_Definitions</a></div></div><div class=MEntry><div class=MFile><a href="files/EPTF_MQTT_LocalTransport_Functions-ttcn.html">EPTF_MQTT_LocalTransport_Functions</a></div></div><div class=MEntry><div class=MFile><a href="files/EPTF_MQTT_Transport_Definitions-ttcn.html">EPTF_MQTT_Transport_Definitions</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')" target="_self">Index</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MIndex><a href="index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="index/ModuleParameters.html">Module Parameters</a></div></div><div class=MEntry><div class=MIndex><a href="index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "FramedHTML", "search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="ModuleParameters">Module Parameters</option><option value="Types">Types</option></select></div></div><!--Menu-->
+
+
+<div id=Footer><p>Copyright 2020 Test Competence Center</p><p>Generated on 2020-02-14</p><p><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></p></div><!--Footer-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/search/ConstantsC.html b/apidoc/html/search/ConstantsC.html
new file mode 100644
index 0000000..f32aa1b
--- /dev/null
+++ b/apidoc/html/search/ConstantsC.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="FramedSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Search Results</div><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_c_undMQTT_undeventIdx_undCONNACK_undAccepted><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_CONNACK_Accepted" class=ISymbol>c_MQTT_eventIdx_CONNACK_Accepted</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undCONNACK_undRefused><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_CONNACK_Refused" class=ISymbol>c_MQTT_eventIdx_CONNACK_Refused</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undPING_undRequest><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PING_Request" class=ISymbol>c_MQTT_eventIdx_PING_Request</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undPING_undResponse><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PING_Response" class=ISymbol>c_MQTT_eventIdx_PING_Response</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undPUBACK><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBACK" class=ISymbol>c_MQTT_eventIdx_PUBACK</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undPUBCOMP><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBCOMP" class=ISymbol>c_MQTT_eventIdx_PUBCOMP</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undPUBLISH><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBLISH" class=ISymbol>c_MQTT_eventIdx_PUBLISH</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undPUBLISH_undTimeout><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBLISH_Timeout" class=ISymbol>c_MQTT_eventIdx_PUBLISH_Timeout</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undPUBREC><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBREC" class=ISymbol>c_MQTT_eventIdx_PUBREC</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undPUBREL><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBREL" class=ISymbol>c_MQTT_eventIdx_PUBREL</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undSUBACK_undAccepted><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_SUBACK_Accepted" class=ISymbol>c_MQTT_eventIdx_SUBACK_Accepted</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undSUBACK_undRefused><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_SUBACK_Refused" class=ISymbol>c_MQTT_eventIdx_SUBACK_Refused</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undtransportClosed><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_transportClosed" class=ISymbol>c_MQTT_eventIdx_transportClosed</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undtransportFail><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_transportFail" class=ISymbol>c_MQTT_eventIdx_transportFail</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undtransportSucc><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_transportSucc" class=ISymbol>c_MQTT_eventIdx_transportSucc</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undUNSUBACK><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_UNSUBACK" class=ISymbol>c_MQTT_eventIdx_UNSUBACK</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undCONNACK_undAccepted><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_CONNACK_Accepted" class=ISymbol>c_MQTT_eventName_CONNACK_Accepted</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undCONNACK_undRefused><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_CONNACK_Refused" class=ISymbol>c_MQTT_eventName_CONNACK_Refused</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undPING_undRequest><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PING_Request" class=ISymbol>c_MQTT_eventName_PING_Request</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undPING_undResponse><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PING_Response" class=ISymbol>c_MQTT_eventName_PING_Response</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undPUBACK><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBACK" class=ISymbol>c_MQTT_eventName_PUBACK</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undPUBCOMP><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBCOMP" class=ISymbol>c_MQTT_eventName_PUBCOMP</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undPUBLISH><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBLISH" class=ISymbol>c_MQTT_eventName_PUBLISH</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undPUBLISH_undTimeout><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBLISH_Timeout" class=ISymbol>c_MQTT_eventName_PUBLISH_Timeout</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undPUBREC><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBREC" class=ISymbol>c_MQTT_eventName_PUBREC</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undPUBREL><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBREL" class=ISymbol>c_MQTT_eventName_PUBREL</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undSUBACK_undAccepted><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_SUBACK_Accepted" class=ISymbol>c_MQTT_eventName_SUBACK_Accepted</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undSUBACK_undRefused><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_SUBACK_Refused" class=ISymbol>c_MQTT_eventName_SUBACK_Refused</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undtransportClosed><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_transportClosed" class=ISymbol>c_MQTT_eventName_transportClosed</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undtransportFail><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_transportFail" class=ISymbol>c_MQTT_eventName_transportFail</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undtransportSucc><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_transportSucc" class=ISymbol>c_MQTT_eventName_transportSucc</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undUNSUBACK><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_UNSUBACK" class=ISymbol>c_MQTT_eventName_UNSUBACK</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_cleanUp" class=ISymbol>c_MQTT_stepIdx_cleanUp</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_init" class=ISymbol>c_MQTT_stepIdx_init</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undloadTemplate_undbyIntIdx><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_loadTemplate_byIntIdx" class=ISymbol>c_MQTT_stepIdx_loadTemplate_byIntIdx</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undloadTemplate_undbyStringId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_loadTemplate_byStringId" class=ISymbol>c_MQTT_stepIdx_loadTemplate_byStringId</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undreportPingResponse><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_reportPingResponse" class=ISymbol>c_MQTT_stepIdx_reportPingResponse</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undreportPublishResponse><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_reportPublishResponse" class=ISymbol>c_MQTT_stepIdx_reportPublishResponse</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsend><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_send" class=ISymbol>c_MQTT_stepIdx_send</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetLocalAddress_undbyVars><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setLocalAddress_byVars" class=ISymbol>c_MQTT_stepIdx_setLocalAddress_byVars</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetPublishMessage_undadd_undclientId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_add_clientId" class=ISymbol>c_MQTT_stepIdx_setPublishMessage_add_clientId</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetPublishMessage_undadd_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_add_stringParam" class=ISymbol>c_MQTT_stepIdx_setPublishMessage_add_stringParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetPublishMessage_undadd_undvarParams><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_add_varParams" class=ISymbol>c_MQTT_stepIdx_setPublishMessage_add_varParams</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetPublishMessage_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_stringParam" class=ISymbol>c_MQTT_stepIdx_setPublishMessage_stringParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetQos_undintParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setQos_intParam" class=ISymbol>c_MQTT_stepIdx_setQos_intParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetRemoteAddress_undbyVars><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setRemoteAddress_byVars" class=ISymbol>c_MQTT_stepIdx_setRemoteAddress_byVars</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetTopic_undadd_undclientId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_add_clientId" class=ISymbol>c_MQTT_stepIdx_setTopic_add_clientId</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetTopic_undadd_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_add_stringParam" class=ISymbol>c_MQTT_stepIdx_setTopic_add_stringParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetTopic_undadd_undvarParams><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_add_varParams" class=ISymbol>c_MQTT_stepIdx_setTopic_add_varParams</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetTopic_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_stringParam" class=ISymbol>c_MQTT_stepIdx_setTopic_stringParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undstartListening><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_startListening" class=ISymbol>c_MQTT_stepIdx_startListening</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undtransportClose><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_transportClose" class=ISymbol>c_MQTT_stepIdx_transportClose</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undtransportConnect><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_transportConnect" class=ISymbol>c_MQTT_stepIdx_transportConnect</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_cleanUp" class=ISymbol>c_MQTT_stepName_cleanUp</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_init" class=ISymbol>c_MQTT_stepName_init</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undloadTemplate_undbyIntIdx><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_loadTemplate_byIntIdx" class=ISymbol>c_MQTT_stepName_loadTemplate_byIntIdx</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undloadTemplate_undbyStringId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_loadTemplate_byStringId" class=ISymbol>c_MQTT_stepName_loadTemplate_byStringId</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undreportPingResponse><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_reportPingResponse" class=ISymbol>c_MQTT_stepName_reportPingResponse</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undreportPublishResponse><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_reportPublishResponse" class=ISymbol>c_MQTT_stepName_reportPublishResponse</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsend><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_send" class=ISymbol>c_MQTT_stepName_send</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetLocalAddress_undbyVars><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setLocalAddress_byVars" class=ISymbol>c_MQTT_stepName_setLocalAddress_byVars</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetPublishMessage_undadd_undclientId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_add_clientId" class=ISymbol>c_MQTT_stepName_setPublishMessage_add_clientId</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetPublishMessage_undadd_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_add_stringParam" class=ISymbol>c_MQTT_stepName_setPublishMessage_add_stringParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetPublishMessage_undadd_undvarParams><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_add_varParams" class=ISymbol>c_MQTT_stepName_setPublishMessage_add_varParams</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetPublishMessage_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_stringParam" class=ISymbol>c_MQTT_stepName_setPublishMessage_stringParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetQos_undintParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setQos_intParam" class=ISymbol>c_MQTT_stepName_setQos_intParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetRemoteAddress_undbyVars><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setRemoteAddress_byVars" class=ISymbol>c_MQTT_stepName_setRemoteAddress_byVars</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetTopic_undadd_undclientId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_add_clientId" class=ISymbol>c_MQTT_stepName_setTopic_add_clientId</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetTopic_undadd_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_add_stringParam" class=ISymbol>c_MQTT_stepName_setTopic_add_stringParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetTopic_undadd_undvarParams><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_add_varParams" class=ISymbol>c_MQTT_stepName_setTopic_add_varParams</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetTopic_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_stringParam" class=ISymbol>c_MQTT_stepName_setTopic_stringParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undstartListening><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_startListening" class=ISymbol>c_MQTT_stepName_startListening</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undtransportClose><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_transportClose" class=ISymbol>c_MQTT_stepName_transportClose</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undtransportConnect><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_transportConnect" class=ISymbol>c_MQTT_stepName_transportConnect</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/search/FilesE.html b/apidoc/html/search/FilesE.html
new file mode 100644
index 0000000..d81e1b8
--- /dev/null
+++ b/apidoc/html/search/FilesE.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="FramedSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Search Results</div><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_EPTF_undMQTT_undLGen_undDefinitions><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_Definitions" class=ISymbol>EPTF_MQTT_LGen_Definitions</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undLGen_undFunctions><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#EPTF_MQTT_LGen_Functions" class=ISymbol>EPTF_MQTT_LGen_Functions</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undLocalTransport_undDefinitions><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Definitions-ttcn.html#EPTF_MQTT_LocalTransport_Definitions" class=ISymbol>EPTF_MQTT_LocalTransport_Definitions</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undLocalTransport_undFunctions><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#EPTF_MQTT_LocalTransport_Functions" class=ISymbol>EPTF_MQTT_LocalTransport_Functions</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undDefinitions><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Definitions" class=ISymbol>EPTF_MQTT_Transport_Definitions</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/search/FunctionsF.html b/apidoc/html/search/FunctionsF.html
new file mode 100644
index 0000000..a9a058e
--- /dev/null
+++ b/apidoc/html/search/FunctionsF.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="FramedSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Search Results</div><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_f_undEPTF_undMQTT_undaddressDB_undadd><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_add" class=ISymbol>f_EPTF_MQTT_addressDB_add</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undaddressDB_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_cleanUp" class=ISymbol>f_EPTF_MQTT_addressDB_cleanUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undaddressDB_undget><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_get" class=ISymbol>f_EPTF_MQTT_addressDB_get</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undaddressDB_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_init" class=ISymbol>f_EPTF_MQTT_addressDB_init</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undaddressDB_undlookUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_lookUp" class=ISymbol>f_EPTF_MQTT_addressDB_lookUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undaddressDB_undSocket2String><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_Socket2String" class=ISymbol>f_EPTF_MQTT_addressDB_Socket2String</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_unddeclareEvents><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_declareEvents" class=ISymbol>f_EPTF_MQTT_declareEvents</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_unddeclareSteps><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_declareSteps" class=ISymbol>f_EPTF_MQTT_declareSteps</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_unddispatchEvent><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_dispatchEvent" class=ISymbol>f_EPTF_MQTT_dispatchEvent</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undgetIntValue><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_getIntValue" class=ISymbol>f_EPTF_MQTT_getIntValue</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undIPL4asp_undhandleEvent><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_IPL4asp_handleEvent" class=ISymbol>f_EPTF_MQTT_IPL4asp_handleEvent</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undIPL4asp_undhandleMessage><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_IPL4asp_handleMessage" class=ISymbol>f_EPTF_MQTT_IPL4asp_handleMessage</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undIPL4asp_undhandleResult><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_IPL4asp_handleResult" class=ISymbol>f_EPTF_MQTT_IPL4asp_handleResult</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undisFsmInitialized><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_isFsmInitialized" class=ISymbol>f_EPTF_MQTT_isFsmInitialized</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLGen_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_init" class=ISymbol>f_EPTF_MQTT_LGen_init</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLGen_undinitLogging><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_initLogging" class=ISymbol>f_EPTF_MQTT_LGen_initLogging</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLGen_undreceiveEvent><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_receiveEvent" class=ISymbol>f_EPTF_MQTT_LGen_receiveEvent</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLGen_undreceiveMessage><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_receiveMessage" class=ISymbol>f_EPTF_MQTT_LGen_receiveMessage</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLGen_undsend><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_send" class=ISymbol>f_EPTF_MQTT_LGen_send</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLGen_undtransportApiResponse><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_transportApiResponse" class=ISymbol>f_EPTF_MQTT_LGen_transportApiResponse</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undcleanup><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_cleanup" class=ISymbol>f_EPTF_MQTT_LocalTransport_cleanup</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undclose><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_close" class=ISymbol>f_EPTF_MQTT_LocalTransport_close</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undconnect><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_connect" class=ISymbol>f_EPTF_MQTT_LocalTransport_connect</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_init" class=ISymbol>f_EPTF_MQTT_LocalTransport_init</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undinitLogging><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_initLogging" class=ISymbol>f_EPTF_MQTT_LocalTransport_initLogging</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undIPL4_undsend><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_IPL4_send" class=ISymbol>f_EPTF_MQTT_LocalTransport_IPL4_send</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undsend><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_send" class=ISymbol>f_EPTF_MQTT_LocalTransport_send</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undsendApiResponse><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_sendApiResponse" class=ISymbol>f_EPTF_MQTT_LocalTransport_sendApiResponse</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undsocketDB_undadd><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_add" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_add</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undsocketDB_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_cleanUp" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_cleanUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undsocketDB_undget><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_get" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_get</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undsocketDB_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_init" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_init</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undsocketDB_undlookUp><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_lookUp" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_lookUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undsocketDB_undlookUp_undconnId><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_lookUp_connId" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_lookUp_connId</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undsocketDB_undremove><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_remove" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_remove</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undstartListening><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_startListening" class=ISymbol>f_EPTF_MQTT_LocalTransport_startListening</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undtransportApiRequest><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_transportApiRequest" class=ISymbol>f_EPTF_MQTT_LocalTransport_transportApiRequest</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLogging_undDEBUG><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_DEBUG" class=ISymbol>f_EPTF_MQTT_Logging_DEBUG</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLogging_undERROR><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_ERROR" class=ISymbol>f_EPTF_MQTT_Logging_ERROR</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLogging_undVERBOSE><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_VERBOSE" class=ISymbol>f_EPTF_MQTT_Logging_VERBOSE</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLogging_undWARNING><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_WARNING" class=ISymbol>f_EPTF_MQTT_Logging_WARNING</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublish_undcancelT_undwatchdog><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_cancelT_watchdog" class=ISymbol>f_EPTF_MQTT_publish_cancelT_watchdog</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublish_undfromEnv><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_fromEnv" class=ISymbol>f_EPTF_MQTT_publish_fromEnv</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublish_undfromSession><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_fromSession" class=ISymbol>f_EPTF_MQTT_publish_fromSession</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublish_undremove><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_remove" class=ISymbol>f_EPTF_MQTT_publish_remove</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublish_undsetState><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_setState" class=ISymbol>f_EPTF_MQTT_publish_setState</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublish_undstartT_undwatchdog><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_startT_watchdog" class=ISymbol>f_EPTF_MQTT_publish_startT_watchdog</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublish_undwatchdog><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_watchdog" class=ISymbol>f_EPTF_MQTT_publish_watchdog</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishDB_undadd><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_add" class=ISymbol>f_EPTF_MQTT_publishDB_add</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishDB_undcheck><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_check" class=ISymbol>f_EPTF_MQTT_publishDB_check</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishDB_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_cleanUp" class=ISymbol>f_EPTF_MQTT_publishDB_cleanUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishDB_undget><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_get" class=ISymbol>f_EPTF_MQTT_publishDB_get</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishDB_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_init" class=ISymbol>f_EPTF_MQTT_publishDB_init</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishDB_undlookUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_lookUp" class=ISymbol>f_EPTF_MQTT_publishDB_lookUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishDB_undpacketIdHash><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_packetIdHash" class=ISymbol>f_EPTF_MQTT_publishDB_packetIdHash</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishDB_undremove><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_remove" class=ISymbol>f_EPTF_MQTT_publishDB_remove</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishResponsePacketId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishResponsePacketId" class=ISymbol>f_EPTF_MQTT_publishResponsePacketId</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishResponseType><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishResponseType" class=ISymbol>f_EPTF_MQTT_publishResponseType</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undqos_undint2enum><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_qos_int2enum" class=ISymbol>f_EPTF_MQTT_qos_int2enum</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undcancelT_undkeepalive><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_cancelT_keepalive" class=ISymbol>f_EPTF_MQTT_session_cancelT_keepalive</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undderegisterPublish><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_deregisterPublish" class=ISymbol>f_EPTF_MQTT_session_deregisterPublish</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undderegisterSubscription><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_deregisterSubscription" class=ISymbol>f_EPTF_MQTT_session_deregisterSubscription</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undfromApp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_fromApp" class=ISymbol>f_EPTF_MQTT_session_fromApp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undfromEnv><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_fromEnv" class=ISymbol>f_EPTF_MQTT_session_fromEnv</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undgetNextPacketId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_getNextPacketId" class=ISymbol>f_EPTF_MQTT_session_getNextPacketId</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undkeepalive><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_keepalive" class=ISymbol>f_EPTF_MQTT_session_keepalive</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undregisterPublish><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_registerPublish" class=ISymbol>f_EPTF_MQTT_session_registerPublish</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undregisterSubscription><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_registerSubscription" class=ISymbol>f_EPTF_MQTT_session_registerSubscription</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undremove><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_remove" class=ISymbol>f_EPTF_MQTT_session_remove</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undsend><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_send" class=ISymbol>f_EPTF_MQTT_session_send</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undsetState><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_setState" class=ISymbol>f_EPTF_MQTT_session_setState</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undstartT_undkeepalive><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_startT_keepalive" class=ISymbol>f_EPTF_MQTT_session_startT_keepalive</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsessionDB_undadd><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_add" class=ISymbol>f_EPTF_MQTT_sessionDB_add</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsessionDB_undaddrHash><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_addrHash" class=ISymbol>f_EPTF_MQTT_sessionDB_addrHash</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsessionDB_undcheck><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_check" class=ISymbol>f_EPTF_MQTT_sessionDB_check</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsessionDB_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_cleanUp" class=ISymbol>f_EPTF_MQTT_sessionDB_cleanUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsessionDB_undget><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_get" class=ISymbol>f_EPTF_MQTT_sessionDB_get</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsessionDB_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_init" class=ISymbol>f_EPTF_MQTT_sessionDB_init</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsessionDB_undlookUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_lookUp" class=ISymbol>f_EPTF_MQTT_sessionDB_lookUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsessionDB_undremove><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_remove" class=ISymbol>f_EPTF_MQTT_sessionDB_remove</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsessionDB_undsetKey><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_setKey" class=ISymbol>f_EPTF_MQTT_sessionDB_setKey</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsetCtx><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_setCtx" class=ISymbol>f_EPTF_MQTT_setCtx</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsetStepCtx><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_setStepCtx" class=ISymbol>f_EPTF_MQTT_setStepCtx</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undSocket2String><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_Socket2String" class=ISymbol>f_EPTF_MQTT_Socket2String</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undstack_undfromApp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_stack_fromApp" class=ISymbol>f_EPTF_MQTT_stack_fromApp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undstack_undfromEnv><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_stack_fromEnv" class=ISymbol>f_EPTF_MQTT_stack_fromEnv</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscription_undfromEnv><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscription_fromEnv" class=ISymbol>f_EPTF_MQTT_subscription_fromEnv</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscription_undfromSession><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscription_fromSession" class=ISymbol>f_EPTF_MQTT_subscription_fromSession</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscription_undremove><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscription_remove" class=ISymbol>f_EPTF_MQTT_subscription_remove</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscription_undsetState><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscription_setState" class=ISymbol>f_EPTF_MQTT_subscription_setState</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undadd><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_add" class=ISymbol>f_EPTF_MQTT_subscriptionDB_add</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undcheck><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_check" class=ISymbol>f_EPTF_MQTT_subscriptionDB_check</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_cleanUp" class=ISymbol>f_EPTF_MQTT_subscriptionDB_cleanUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undget><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_get" class=ISymbol>f_EPTF_MQTT_subscriptionDB_get</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_init" class=ISymbol>f_EPTF_MQTT_subscriptionDB_init</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undlookUp_undpacketId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_lookUp_packetId" class=ISymbol>f_EPTF_MQTT_subscriptionDB_lookUp_packetId</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undlookUp_undtopicName><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_lookUp_topicName" class=ISymbol>f_EPTF_MQTT_subscriptionDB_lookUp_topicName</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undpacketIdHash><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_packetIdHash" class=ISymbol>f_EPTF_MQTT_subscriptionDB_packetIdHash</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undremove><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_remove" class=ISymbol>f_EPTF_MQTT_subscriptionDB_remove</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undremoveKey_undpacketId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_removeKey_packetId" class=ISymbol>f_EPTF_MQTT_subscriptionDB_removeKey_packetId</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undsetKey_undpacketId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_setKey_packetId" class=ISymbol>f_EPTF_MQTT_subscriptionDB_setKey_packetId</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undtopicHash><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_topicHash" class=ISymbol>f_EPTF_MQTT_subscriptionDB_topicHash</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undtemplateDB_undadd><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_add" class=ISymbol>f_EPTF_MQTT_templateDB_add</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undtemplateDB_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_cleanUp" class=ISymbol>f_EPTF_MQTT_templateDB_cleanUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undtemplateDB_undget><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_get" class=ISymbol>f_EPTF_MQTT_templateDB_get</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undtemplateDB_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_init" class=ISymbol>f_EPTF_MQTT_templateDB_init</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undtemplateDB_undlookUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_lookUp" class=ISymbol>f_EPTF_MQTT_templateDB_lookUp</a></div></div><div class=SRResult id=SR_f_undMQTT_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_cleanUp" class=ISymbol>f_MQTT_cleanUp</a></div></div><div class=SRResult id=SR_f_undMQTT_undeCtxBind><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_eCtxBind" class=ISymbol>f_MQTT_eCtxBind</a></div></div><div class=SRResult id=SR_f_undMQTT_undeCtxReset><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_eCtxReset" class=ISymbol>f_MQTT_eCtxReset</a></div></div><div class=SRResult id=SR_f_undMQTT_undeCtxUnbind><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_eCtxUnbind" class=ISymbol>f_MQTT_eCtxUnbind</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_cleanUp" class=ISymbol>f_MQTT_step_cleanUp</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_init" class=ISymbol>f_MQTT_step_init</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undloadTemplate_undbyIntIdx><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_loadTemplate_byIntIdx" class=ISymbol>f_MQTT_step_loadTemplate_byIntIdx</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undloadTemplate_undbyStringId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_loadTemplate_byStringId" class=ISymbol>f_MQTT_step_loadTemplate_byStringId</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undreportPingResponse><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_reportPingResponse" class=ISymbol>f_MQTT_step_reportPingResponse</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undreportPublishResponse><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_reportPublishResponse" class=ISymbol>f_MQTT_step_reportPublishResponse</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsend><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_send" class=ISymbol>f_MQTT_step_send</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetLocalAddress_undbyVars><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setLocalAddress_byVars" class=ISymbol>f_MQTT_step_setLocalAddress_byVars</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetPublishMessage_undadd_undclientId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_clientId" class=ISymbol>f_MQTT_step_setPublishMessage_add_clientId</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetPublishMessage_undadd_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_stringParam" class=ISymbol>f_MQTT_step_setPublishMessage_add_stringParam</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetPublishMessage_undadd_undvarParams><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_varParams" class=ISymbol>f_MQTT_step_setPublishMessage_add_varParams</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetPublishMessage_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_stringParam" class=ISymbol>f_MQTT_step_setPublishMessage_stringParam</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetQos_undintParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setQos_intParam" class=ISymbol>f_MQTT_step_setQos_intParam</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetRemoteAddress_undbyVars><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setRemoteAddress_byVars" class=ISymbol>f_MQTT_step_setRemoteAddress_byVars</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetTopic_undadd_undclientId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_clientId" class=ISymbol>f_MQTT_step_setTopic_add_clientId</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetTopic_undadd_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_stringParam" class=ISymbol>f_MQTT_step_setTopic_add_stringParam</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetTopic_undadd_undvarParams><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_varParams" class=ISymbol>f_MQTT_step_setTopic_add_varParams</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetTopic_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_stringParam" class=ISymbol>f_MQTT_step_setTopic_stringParam</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undstartListening><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_startListening" class=ISymbol>f_MQTT_step_startListening</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undtransportClose><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_transportClose" class=ISymbol>f_MQTT_step_transportClose</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undtransportConnect><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_transportConnect" class=ISymbol>f_MQTT_step_transportConnect</a></div></div><div class=SRResult id=SR_f_undMQTT_undTransport_undLogging_undDEBUG><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_MQTT_Transport_Logging_DEBUG" class=ISymbol>f_MQTT_Transport_Logging_DEBUG</a></div></div><div class=SRResult id=SR_f_undMQTT_undTransport_undLogging_undERROR><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_MQTT_Transport_Logging_ERROR" class=ISymbol>f_MQTT_Transport_Logging_ERROR</a></div></div><div class=SRResult id=SR_f_undMQTT_undTransport_undLogging_undVERBOSE><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_MQTT_Transport_Logging_VERBOSE" class=ISymbol>f_MQTT_Transport_Logging_VERBOSE</a></div></div><div class=SRResult id=SR_f_undMQTT_undTransport_undLogging_undWARNING><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_MQTT_Transport_Logging_WARNING" class=ISymbol>f_MQTT_Transport_Logging_WARNING</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/search/GeneralC.html b/apidoc/html/search/GeneralC.html
new file mode 100644
index 0000000..f32aa1b
--- /dev/null
+++ b/apidoc/html/search/GeneralC.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="FramedSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Search Results</div><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_c_undMQTT_undeventIdx_undCONNACK_undAccepted><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_CONNACK_Accepted" class=ISymbol>c_MQTT_eventIdx_CONNACK_Accepted</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undCONNACK_undRefused><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_CONNACK_Refused" class=ISymbol>c_MQTT_eventIdx_CONNACK_Refused</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undPING_undRequest><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PING_Request" class=ISymbol>c_MQTT_eventIdx_PING_Request</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undPING_undResponse><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PING_Response" class=ISymbol>c_MQTT_eventIdx_PING_Response</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undPUBACK><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBACK" class=ISymbol>c_MQTT_eventIdx_PUBACK</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undPUBCOMP><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBCOMP" class=ISymbol>c_MQTT_eventIdx_PUBCOMP</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undPUBLISH><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBLISH" class=ISymbol>c_MQTT_eventIdx_PUBLISH</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undPUBLISH_undTimeout><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBLISH_Timeout" class=ISymbol>c_MQTT_eventIdx_PUBLISH_Timeout</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undPUBREC><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBREC" class=ISymbol>c_MQTT_eventIdx_PUBREC</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undPUBREL><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_PUBREL" class=ISymbol>c_MQTT_eventIdx_PUBREL</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undSUBACK_undAccepted><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_SUBACK_Accepted" class=ISymbol>c_MQTT_eventIdx_SUBACK_Accepted</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undSUBACK_undRefused><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_SUBACK_Refused" class=ISymbol>c_MQTT_eventIdx_SUBACK_Refused</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undtransportClosed><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_transportClosed" class=ISymbol>c_MQTT_eventIdx_transportClosed</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undtransportFail><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_transportFail" class=ISymbol>c_MQTT_eventIdx_transportFail</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undtransportSucc><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_transportSucc" class=ISymbol>c_MQTT_eventIdx_transportSucc</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventIdx_undUNSUBACK><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventIdx_UNSUBACK" class=ISymbol>c_MQTT_eventIdx_UNSUBACK</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undCONNACK_undAccepted><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_CONNACK_Accepted" class=ISymbol>c_MQTT_eventName_CONNACK_Accepted</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undCONNACK_undRefused><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_CONNACK_Refused" class=ISymbol>c_MQTT_eventName_CONNACK_Refused</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undPING_undRequest><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PING_Request" class=ISymbol>c_MQTT_eventName_PING_Request</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undPING_undResponse><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PING_Response" class=ISymbol>c_MQTT_eventName_PING_Response</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undPUBACK><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBACK" class=ISymbol>c_MQTT_eventName_PUBACK</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undPUBCOMP><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBCOMP" class=ISymbol>c_MQTT_eventName_PUBCOMP</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undPUBLISH><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBLISH" class=ISymbol>c_MQTT_eventName_PUBLISH</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undPUBLISH_undTimeout><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBLISH_Timeout" class=ISymbol>c_MQTT_eventName_PUBLISH_Timeout</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undPUBREC><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBREC" class=ISymbol>c_MQTT_eventName_PUBREC</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undPUBREL><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_PUBREL" class=ISymbol>c_MQTT_eventName_PUBREL</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undSUBACK_undAccepted><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_SUBACK_Accepted" class=ISymbol>c_MQTT_eventName_SUBACK_Accepted</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undSUBACK_undRefused><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_SUBACK_Refused" class=ISymbol>c_MQTT_eventName_SUBACK_Refused</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undtransportClosed><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_transportClosed" class=ISymbol>c_MQTT_eventName_transportClosed</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undtransportFail><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_transportFail" class=ISymbol>c_MQTT_eventName_transportFail</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undtransportSucc><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_transportSucc" class=ISymbol>c_MQTT_eventName_transportSucc</a></div></div><div class=SRResult id=SR_c_undMQTT_undeventName_undUNSUBACK><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_eventName_UNSUBACK" class=ISymbol>c_MQTT_eventName_UNSUBACK</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_cleanUp" class=ISymbol>c_MQTT_stepIdx_cleanUp</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_init" class=ISymbol>c_MQTT_stepIdx_init</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undloadTemplate_undbyIntIdx><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_loadTemplate_byIntIdx" class=ISymbol>c_MQTT_stepIdx_loadTemplate_byIntIdx</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undloadTemplate_undbyStringId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_loadTemplate_byStringId" class=ISymbol>c_MQTT_stepIdx_loadTemplate_byStringId</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undreportPingResponse><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_reportPingResponse" class=ISymbol>c_MQTT_stepIdx_reportPingResponse</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undreportPublishResponse><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_reportPublishResponse" class=ISymbol>c_MQTT_stepIdx_reportPublishResponse</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsend><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_send" class=ISymbol>c_MQTT_stepIdx_send</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetLocalAddress_undbyVars><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setLocalAddress_byVars" class=ISymbol>c_MQTT_stepIdx_setLocalAddress_byVars</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetPublishMessage_undadd_undclientId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_add_clientId" class=ISymbol>c_MQTT_stepIdx_setPublishMessage_add_clientId</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetPublishMessage_undadd_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_add_stringParam" class=ISymbol>c_MQTT_stepIdx_setPublishMessage_add_stringParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetPublishMessage_undadd_undvarParams><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_add_varParams" class=ISymbol>c_MQTT_stepIdx_setPublishMessage_add_varParams</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetPublishMessage_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setPublishMessage_stringParam" class=ISymbol>c_MQTT_stepIdx_setPublishMessage_stringParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetQos_undintParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setQos_intParam" class=ISymbol>c_MQTT_stepIdx_setQos_intParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetRemoteAddress_undbyVars><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setRemoteAddress_byVars" class=ISymbol>c_MQTT_stepIdx_setRemoteAddress_byVars</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetTopic_undadd_undclientId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_add_clientId" class=ISymbol>c_MQTT_stepIdx_setTopic_add_clientId</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetTopic_undadd_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_add_stringParam" class=ISymbol>c_MQTT_stepIdx_setTopic_add_stringParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetTopic_undadd_undvarParams><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_add_varParams" class=ISymbol>c_MQTT_stepIdx_setTopic_add_varParams</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undsetTopic_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_setTopic_stringParam" class=ISymbol>c_MQTT_stepIdx_setTopic_stringParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undstartListening><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_startListening" class=ISymbol>c_MQTT_stepIdx_startListening</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undtransportClose><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_transportClose" class=ISymbol>c_MQTT_stepIdx_transportClose</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepIdx_undtransportConnect><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepIdx_transportConnect" class=ISymbol>c_MQTT_stepIdx_transportConnect</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_cleanUp" class=ISymbol>c_MQTT_stepName_cleanUp</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_init" class=ISymbol>c_MQTT_stepName_init</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undloadTemplate_undbyIntIdx><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_loadTemplate_byIntIdx" class=ISymbol>c_MQTT_stepName_loadTemplate_byIntIdx</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undloadTemplate_undbyStringId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_loadTemplate_byStringId" class=ISymbol>c_MQTT_stepName_loadTemplate_byStringId</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undreportPingResponse><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_reportPingResponse" class=ISymbol>c_MQTT_stepName_reportPingResponse</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undreportPublishResponse><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_reportPublishResponse" class=ISymbol>c_MQTT_stepName_reportPublishResponse</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsend><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_send" class=ISymbol>c_MQTT_stepName_send</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetLocalAddress_undbyVars><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setLocalAddress_byVars" class=ISymbol>c_MQTT_stepName_setLocalAddress_byVars</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetPublishMessage_undadd_undclientId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_add_clientId" class=ISymbol>c_MQTT_stepName_setPublishMessage_add_clientId</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetPublishMessage_undadd_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_add_stringParam" class=ISymbol>c_MQTT_stepName_setPublishMessage_add_stringParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetPublishMessage_undadd_undvarParams><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_add_varParams" class=ISymbol>c_MQTT_stepName_setPublishMessage_add_varParams</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetPublishMessage_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setPublishMessage_stringParam" class=ISymbol>c_MQTT_stepName_setPublishMessage_stringParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetQos_undintParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setQos_intParam" class=ISymbol>c_MQTT_stepName_setQos_intParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetRemoteAddress_undbyVars><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setRemoteAddress_byVars" class=ISymbol>c_MQTT_stepName_setRemoteAddress_byVars</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetTopic_undadd_undclientId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_add_clientId" class=ISymbol>c_MQTT_stepName_setTopic_add_clientId</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetTopic_undadd_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_add_stringParam" class=ISymbol>c_MQTT_stepName_setTopic_add_stringParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetTopic_undadd_undvarParams><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_add_varParams" class=ISymbol>c_MQTT_stepName_setTopic_add_varParams</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undsetTopic_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_setTopic_stringParam" class=ISymbol>c_MQTT_stepName_setTopic_stringParam</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undstartListening><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_startListening" class=ISymbol>c_MQTT_stepName_startListening</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undtransportClose><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_transportClose" class=ISymbol>c_MQTT_stepName_transportClose</a></div></div><div class=SRResult id=SR_c_undMQTT_undstepName_undtransportConnect><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#c_MQTT_stepName_transportConnect" class=ISymbol>c_MQTT_stepName_transportConnect</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/search/GeneralE.html b/apidoc/html/search/GeneralE.html
new file mode 100644
index 0000000..88c8524
--- /dev/null
+++ b/apidoc/html/search/GeneralE.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="FramedSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Search Results</div><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_EPTF_undMQTT_undLGen_undCT><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=ISymbol>EPTF_MQTT_LGen_CT</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undLGen_undDefinitions><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_Definitions" class=ISymbol>EPTF_MQTT_LGen_Definitions</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undLGen_undFunctions><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#EPTF_MQTT_LGen_Functions" class=ISymbol>EPTF_MQTT_LGen_Functions</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undLocalTransport_undDefinitions><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Definitions-ttcn.html#EPTF_MQTT_LocalTransport_Definitions" class=ISymbol>EPTF_MQTT_LocalTransport_Definitions</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undLocalTransport_undFunctions><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#EPTF_MQTT_LocalTransport_Functions" class=ISymbol>EPTF_MQTT_LocalTransport_Functions</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undPDU><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=ISymbol>EPTF_MQTT_PDU</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undclose><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_close" class=ISymbol>EPTF_MQTT_Transport_close</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undconnect><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_connect" class=ISymbol>EPTF_MQTT_Transport_connect</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undDefinitions><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Definitions" class=ISymbol>EPTF_MQTT_Transport_Definitions</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undProvider_undCT><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Provider_CT" class=ISymbol>EPTF_MQTT_Transport_Provider_CT</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undRequest><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Request" class=ISymbol>EPTF_MQTT_Transport_Request</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undRequestParams><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_RequestParams" class=ISymbol>EPTF_MQTT_Transport_RequestParams</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undResponse><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Response" class=ISymbol>EPTF_MQTT_Transport_Response</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undResponseParams><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_ResponseParams" class=ISymbol>EPTF_MQTT_Transport_ResponseParams</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undstartListening><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_startListening" class=ISymbol>EPTF_MQTT_Transport_startListening</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undUser_undCT><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_User_CT" class=ISymbol>EPTF_MQTT_Transport_User_CT</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransportParameters><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_TransportParameters" class=ISymbol>EPTF_MQTT_TransportParameters</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/search/GeneralF.html b/apidoc/html/search/GeneralF.html
new file mode 100644
index 0000000..ff8a107
--- /dev/null
+++ b/apidoc/html/search/GeneralF.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="FramedSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Search Results</div><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_f_undEPTF_undMQTT_undaddressDB_undadd><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_add" class=ISymbol>f_EPTF_MQTT_addressDB_add</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undaddressDB_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_cleanUp" class=ISymbol>f_EPTF_MQTT_addressDB_cleanUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undaddressDB_undget><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_get" class=ISymbol>f_EPTF_MQTT_addressDB_get</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undaddressDB_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_init" class=ISymbol>f_EPTF_MQTT_addressDB_init</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undaddressDB_undlookUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_lookUp" class=ISymbol>f_EPTF_MQTT_addressDB_lookUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undaddressDB_undSocket2String><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_addressDB_Socket2String" class=ISymbol>f_EPTF_MQTT_addressDB_Socket2String</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_unddeclareEvents><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_declareEvents" class=ISymbol>f_EPTF_MQTT_declareEvents</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_unddeclareSteps><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_declareSteps" class=ISymbol>f_EPTF_MQTT_declareSteps</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_unddispatchEvent><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_dispatchEvent" class=ISymbol>f_EPTF_MQTT_dispatchEvent</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undgetIntValue><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_getIntValue" class=ISymbol>f_EPTF_MQTT_getIntValue</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undIPL4asp_undhandleEvent><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_IPL4asp_handleEvent" class=ISymbol>f_EPTF_MQTT_IPL4asp_handleEvent</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undIPL4asp_undhandleMessage><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_IPL4asp_handleMessage" class=ISymbol>f_EPTF_MQTT_IPL4asp_handleMessage</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undIPL4asp_undhandleResult><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_IPL4asp_handleResult" class=ISymbol>f_EPTF_MQTT_IPL4asp_handleResult</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undisFsmInitialized><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_isFsmInitialized" class=ISymbol>f_EPTF_MQTT_isFsmInitialized</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLGen_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_init" class=ISymbol>f_EPTF_MQTT_LGen_init</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLGen_undinitLogging><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_initLogging" class=ISymbol>f_EPTF_MQTT_LGen_initLogging</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLGen_undreceiveEvent><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_receiveEvent" class=ISymbol>f_EPTF_MQTT_LGen_receiveEvent</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLGen_undreceiveMessage><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_receiveMessage" class=ISymbol>f_EPTF_MQTT_LGen_receiveMessage</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLGen_undsend><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_send" class=ISymbol>f_EPTF_MQTT_LGen_send</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLGen_undtransportApiResponse><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_LGen_transportApiResponse" class=ISymbol>f_EPTF_MQTT_LGen_transportApiResponse</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undcleanup><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_cleanup" class=ISymbol>f_EPTF_MQTT_LocalTransport_cleanup</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undclose><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_close" class=ISymbol>f_EPTF_MQTT_LocalTransport_close</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undconnect><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_connect" class=ISymbol>f_EPTF_MQTT_LocalTransport_connect</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_init" class=ISymbol>f_EPTF_MQTT_LocalTransport_init</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undinitLogging><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_initLogging" class=ISymbol>f_EPTF_MQTT_LocalTransport_initLogging</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undIPL4_undsend><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_IPL4_send" class=ISymbol>f_EPTF_MQTT_LocalTransport_IPL4_send</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undsend><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_send" class=ISymbol>f_EPTF_MQTT_LocalTransport_send</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undsendApiResponse><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_sendApiResponse" class=ISymbol>f_EPTF_MQTT_LocalTransport_sendApiResponse</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undsocketDB_undadd><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_add" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_add</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undsocketDB_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_cleanUp" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_cleanUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undsocketDB_undget><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_get" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_get</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undsocketDB_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_init" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_init</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undsocketDB_undlookUp><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_lookUp" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_lookUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undsocketDB_undlookUp_undconnId><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_lookUp_connId" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_lookUp_connId</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undsocketDB_undremove><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_socketDB_remove" class=ISymbol>f_EPTF_MQTT_LocalTransport_socketDB_remove</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undstartListening><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_startListening" class=ISymbol>f_EPTF_MQTT_LocalTransport_startListening</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLocalTransport_undtransportApiRequest><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_LocalTransport_transportApiRequest" class=ISymbol>f_EPTF_MQTT_LocalTransport_transportApiRequest</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLogging_undDEBUG><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_DEBUG" class=ISymbol>f_EPTF_MQTT_Logging_DEBUG</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLogging_undERROR><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_ERROR" class=ISymbol>f_EPTF_MQTT_Logging_ERROR</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLogging_undVERBOSE><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_VERBOSE" class=ISymbol>f_EPTF_MQTT_Logging_VERBOSE</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undLogging_undWARNING><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_Logging_WARNING" class=ISymbol>f_EPTF_MQTT_Logging_WARNING</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublish_undcancelT_undwatchdog><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_cancelT_watchdog" class=ISymbol>f_EPTF_MQTT_publish_cancelT_watchdog</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublish_undfromEnv><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_fromEnv" class=ISymbol>f_EPTF_MQTT_publish_fromEnv</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublish_undfromSession><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_fromSession" class=ISymbol>f_EPTF_MQTT_publish_fromSession</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublish_undremove><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_remove" class=ISymbol>f_EPTF_MQTT_publish_remove</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublish_undsetState><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_setState" class=ISymbol>f_EPTF_MQTT_publish_setState</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublish_undstartT_undwatchdog><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_startT_watchdog" class=ISymbol>f_EPTF_MQTT_publish_startT_watchdog</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublish_undwatchdog><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publish_watchdog" class=ISymbol>f_EPTF_MQTT_publish_watchdog</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishDB_undadd><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_add" class=ISymbol>f_EPTF_MQTT_publishDB_add</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishDB_undcheck><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_check" class=ISymbol>f_EPTF_MQTT_publishDB_check</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishDB_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_cleanUp" class=ISymbol>f_EPTF_MQTT_publishDB_cleanUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishDB_undget><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_get" class=ISymbol>f_EPTF_MQTT_publishDB_get</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishDB_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_init" class=ISymbol>f_EPTF_MQTT_publishDB_init</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishDB_undlookUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_lookUp" class=ISymbol>f_EPTF_MQTT_publishDB_lookUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishDB_undpacketIdHash><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_packetIdHash" class=ISymbol>f_EPTF_MQTT_publishDB_packetIdHash</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishDB_undremove><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishDB_remove" class=ISymbol>f_EPTF_MQTT_publishDB_remove</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishResponsePacketId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishResponsePacketId" class=ISymbol>f_EPTF_MQTT_publishResponsePacketId</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undpublishResponseType><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_publishResponseType" class=ISymbol>f_EPTF_MQTT_publishResponseType</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undqos_undint2enum><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_qos_int2enum" class=ISymbol>f_EPTF_MQTT_qos_int2enum</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undcancelT_undkeepalive><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_cancelT_keepalive" class=ISymbol>f_EPTF_MQTT_session_cancelT_keepalive</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undderegisterPublish><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_deregisterPublish" class=ISymbol>f_EPTF_MQTT_session_deregisterPublish</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undderegisterSubscription><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_deregisterSubscription" class=ISymbol>f_EPTF_MQTT_session_deregisterSubscription</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undfromApp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_fromApp" class=ISymbol>f_EPTF_MQTT_session_fromApp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undfromEnv><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_fromEnv" class=ISymbol>f_EPTF_MQTT_session_fromEnv</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undgetNextPacketId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_getNextPacketId" class=ISymbol>f_EPTF_MQTT_session_getNextPacketId</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undkeepalive><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_keepalive" class=ISymbol>f_EPTF_MQTT_session_keepalive</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undregisterPublish><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_registerPublish" class=ISymbol>f_EPTF_MQTT_session_registerPublish</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undregisterSubscription><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_registerSubscription" class=ISymbol>f_EPTF_MQTT_session_registerSubscription</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undremove><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_remove" class=ISymbol>f_EPTF_MQTT_session_remove</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undsend><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_send" class=ISymbol>f_EPTF_MQTT_session_send</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undsetState><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_setState" class=ISymbol>f_EPTF_MQTT_session_setState</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsession_undstartT_undkeepalive><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_session_startT_keepalive" class=ISymbol>f_EPTF_MQTT_session_startT_keepalive</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsessionDB_undadd><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_add" class=ISymbol>f_EPTF_MQTT_sessionDB_add</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsessionDB_undaddrHash><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_addrHash" class=ISymbol>f_EPTF_MQTT_sessionDB_addrHash</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsessionDB_undcheck><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_check" class=ISymbol>f_EPTF_MQTT_sessionDB_check</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsessionDB_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_cleanUp" class=ISymbol>f_EPTF_MQTT_sessionDB_cleanUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsessionDB_undget><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_get" class=ISymbol>f_EPTF_MQTT_sessionDB_get</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsessionDB_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_init" class=ISymbol>f_EPTF_MQTT_sessionDB_init</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsessionDB_undlookUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_lookUp" class=ISymbol>f_EPTF_MQTT_sessionDB_lookUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsessionDB_undremove><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_remove" class=ISymbol>f_EPTF_MQTT_sessionDB_remove</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsessionDB_undsetKey><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_sessionDB_setKey" class=ISymbol>f_EPTF_MQTT_sessionDB_setKey</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsetCtx><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_setCtx" class=ISymbol>f_EPTF_MQTT_setCtx</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsetStepCtx><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_setStepCtx" class=ISymbol>f_EPTF_MQTT_setStepCtx</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undSocket2String><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_EPTF_MQTT_Socket2String" class=ISymbol>f_EPTF_MQTT_Socket2String</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undstack_undfromApp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_stack_fromApp" class=ISymbol>f_EPTF_MQTT_stack_fromApp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undstack_undfromEnv><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_stack_fromEnv" class=ISymbol>f_EPTF_MQTT_stack_fromEnv</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscription_undfromEnv><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscription_fromEnv" class=ISymbol>f_EPTF_MQTT_subscription_fromEnv</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscription_undfromSession><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscription_fromSession" class=ISymbol>f_EPTF_MQTT_subscription_fromSession</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscription_undremove><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscription_remove" class=ISymbol>f_EPTF_MQTT_subscription_remove</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscription_undsetState><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscription_setState" class=ISymbol>f_EPTF_MQTT_subscription_setState</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undadd><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_add" class=ISymbol>f_EPTF_MQTT_subscriptionDB_add</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undcheck><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_check" class=ISymbol>f_EPTF_MQTT_subscriptionDB_check</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_cleanUp" class=ISymbol>f_EPTF_MQTT_subscriptionDB_cleanUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undget><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_get" class=ISymbol>f_EPTF_MQTT_subscriptionDB_get</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_init" class=ISymbol>f_EPTF_MQTT_subscriptionDB_init</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undlookUp_undpacketId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_lookUp_packetId" class=ISymbol>f_EPTF_MQTT_subscriptionDB_lookUp_packetId</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undlookUp_undtopicName><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_lookUp_topicName" class=ISymbol>f_EPTF_MQTT_subscriptionDB_lookUp_topicName</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undpacketIdHash><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_packetIdHash" class=ISymbol>f_EPTF_MQTT_subscriptionDB_packetIdHash</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undremove><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_remove" class=ISymbol>f_EPTF_MQTT_subscriptionDB_remove</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undremoveKey_undpacketId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_removeKey_packetId" class=ISymbol>f_EPTF_MQTT_subscriptionDB_removeKey_packetId</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undsetKey_undpacketId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_setKey_packetId" class=ISymbol>f_EPTF_MQTT_subscriptionDB_setKey_packetId</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undsubscriptionDB_undtopicHash><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_subscriptionDB_topicHash" class=ISymbol>f_EPTF_MQTT_subscriptionDB_topicHash</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undtemplateDB_undadd><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_add" class=ISymbol>f_EPTF_MQTT_templateDB_add</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undtemplateDB_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_cleanUp" class=ISymbol>f_EPTF_MQTT_templateDB_cleanUp</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undtemplateDB_undget><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_get" class=ISymbol>f_EPTF_MQTT_templateDB_get</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undtemplateDB_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_init" class=ISymbol>f_EPTF_MQTT_templateDB_init</a></div></div><div class=SRResult id=SR_f_undEPTF_undMQTT_undtemplateDB_undlookUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_EPTF_MQTT_templateDB_lookUp" class=ISymbol>f_EPTF_MQTT_templateDB_lookUp</a></div></div><div class=SRResult id=SR_f_undMQTT_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_cleanUp" class=ISymbol>f_MQTT_cleanUp</a></div></div><div class=SRResult id=SR_f_undMQTT_undeCtxBind><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_eCtxBind" class=ISymbol>f_MQTT_eCtxBind</a></div></div><div class=SRResult id=SR_f_undMQTT_undeCtxReset><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_eCtxReset" class=ISymbol>f_MQTT_eCtxReset</a></div></div><div class=SRResult id=SR_f_undMQTT_undeCtxUnbind><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_eCtxUnbind" class=ISymbol>f_MQTT_eCtxUnbind</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undcleanUp><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_cleanUp" class=ISymbol>f_MQTT_step_cleanUp</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undinit><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_init" class=ISymbol>f_MQTT_step_init</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undloadTemplate_undbyIntIdx><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_loadTemplate_byIntIdx" class=ISymbol>f_MQTT_step_loadTemplate_byIntIdx</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undloadTemplate_undbyStringId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_loadTemplate_byStringId" class=ISymbol>f_MQTT_step_loadTemplate_byStringId</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undreportPingResponse><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_reportPingResponse" class=ISymbol>f_MQTT_step_reportPingResponse</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undreportPublishResponse><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_reportPublishResponse" class=ISymbol>f_MQTT_step_reportPublishResponse</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsend><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_send" class=ISymbol>f_MQTT_step_send</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetLocalAddress_undbyVars><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setLocalAddress_byVars" class=ISymbol>f_MQTT_step_setLocalAddress_byVars</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetPublishMessage_undadd_undclientId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_clientId" class=ISymbol>f_MQTT_step_setPublishMessage_add_clientId</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetPublishMessage_undadd_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_stringParam" class=ISymbol>f_MQTT_step_setPublishMessage_add_stringParam</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetPublishMessage_undadd_undvarParams><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_add_varParams" class=ISymbol>f_MQTT_step_setPublishMessage_add_varParams</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetPublishMessage_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setPublishMessage_stringParam" class=ISymbol>f_MQTT_step_setPublishMessage_stringParam</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetQos_undintParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setQos_intParam" class=ISymbol>f_MQTT_step_setQos_intParam</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetRemoteAddress_undbyVars><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setRemoteAddress_byVars" class=ISymbol>f_MQTT_step_setRemoteAddress_byVars</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetTopic_undadd_undclientId><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_clientId" class=ISymbol>f_MQTT_step_setTopic_add_clientId</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetTopic_undadd_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_stringParam" class=ISymbol>f_MQTT_step_setTopic_add_stringParam</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetTopic_undadd_undvarParams><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_add_varParams" class=ISymbol>f_MQTT_step_setTopic_add_varParams</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undsetTopic_undstringParam><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_setTopic_stringParam" class=ISymbol>f_MQTT_step_setTopic_stringParam</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undstartListening><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_startListening" class=ISymbol>f_MQTT_step_startListening</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undtransportClose><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_transportClose" class=ISymbol>f_MQTT_step_transportClose</a></div></div><div class=SRResult id=SR_f_undMQTT_undstep_undtransportConnect><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Functions-ttcn.html#f_MQTT_step_transportConnect" class=ISymbol>f_MQTT_step_transportConnect</a></div></div><div class=SRResult id=SR_f_undMQTT_undTransport_undLogging_undDEBUG><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_MQTT_Transport_Logging_DEBUG" class=ISymbol>f_MQTT_Transport_Logging_DEBUG</a></div></div><div class=SRResult id=SR_f_undMQTT_undTransport_undLogging_undERROR><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_MQTT_Transport_Logging_ERROR" class=ISymbol>f_MQTT_Transport_Logging_ERROR</a></div></div><div class=SRResult id=SR_f_undMQTT_undTransport_undLogging_undVERBOSE><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_MQTT_Transport_Logging_VERBOSE" class=ISymbol>f_MQTT_Transport_Logging_VERBOSE</a></div></div><div class=SRResult id=SR_f_undMQTT_undTransport_undLogging_undWARNING><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Functions-ttcn.html#f_MQTT_Transport_Logging_WARNING" class=ISymbol>f_MQTT_Transport_Logging_WARNING</a></div></div><div class=SRResult id=SR_fcb_undEPTF_undMQTT_undmessageReceived><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#fcb_EPTF_MQTT_messageReceived" class=ISymbol>fcb_EPTF_MQTT_messageReceived</a></div></div><div class=SRResult id=SR_fcb_undEPTF_undMQTT_undTransport_undapiRequest><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_apiRequest" class=ISymbol>fcb_EPTF_MQTT_Transport_apiRequest</a></div></div><div class=SRResult id=SR_fcb_undEPTF_undMQTT_undTransport_undapiResponse><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_apiResponse" class=ISymbol>fcb_EPTF_MQTT_Transport_apiResponse</a></div></div><div class=SRResult id=SR_fcb_undEPTF_undMQTT_undTransport_undreceiveEvent><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_receiveEvent" class=ISymbol>fcb_EPTF_MQTT_Transport_receiveEvent</a></div></div><div class=SRResult id=SR_fcb_undEPTF_undMQTT_undTransport_undreceiveMessage><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_receiveMessage" class=ISymbol>fcb_EPTF_MQTT_Transport_receiveMessage</a></div></div><div class=SRResult id=SR_fcb_undEPTF_undMQTT_undTransport_undsendMessage><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_sendMessage" class=ISymbol>fcb_EPTF_MQTT_Transport_sendMessage</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/search/GeneralM.html b/apidoc/html/search/GeneralM.html
new file mode 100644
index 0000000..c450ad6
--- /dev/null
+++ b/apidoc/html/search/GeneralM.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="FramedSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Search Results</div><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_MQTT_undAddress_undDB><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Address_DB" class=ISymbol>MQTT_Address_DB</a></div></div><div class=SRResult id=SR_MQTT_undAddress_undList><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Address_List" class=ISymbol>MQTT_Address_List</a></div></div><div class=SRResult id=SR_MQTT_undPublish><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=ISymbol>MQTT_Publish</a></div></div><div class=SRResult id=SR_MQTT_undPublish_undDB><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=ISymbol>MQTT_Publish_DB</a></div></div><div class=SRResult id=SR_MQTT_undPublish_undList><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_List" class=ISymbol>MQTT_Publish_List</a></div></div><div class=SRResult id=SR_MQTT_undPublish_undSide><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_Side" class=ISymbol>MQTT_Publish_Side</a></div></div><div class=SRResult id=SR_MQTT_undPublish_undState><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_State" class=ISymbol>MQTT_Publish_State</a></div></div><div class=SRResult id=SR_MQTT_undPublishQos1_undState><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_PublishQos1_State" class=ISymbol>MQTT_PublishQos1_State</a></div></div><div class=SRResult id=SR_MQTT_undPublishQos2_undState><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_PublishQos2_State" class=ISymbol>MQTT_PublishQos2_State</a></div></div><div class=SRResult id=SR_MQTT_undSession><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=ISymbol>MQTT_Session</a></div></div><div class=SRResult id=SR_MQTT_undSession_undDB><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=ISymbol>MQTT_Session_DB</a></div></div><div class=SRResult id=SR_MQTT_undSession_undList><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_List" class=ISymbol>MQTT_Session_List</a></div></div><div class=SRResult id=SR_MQTT_undSession_undState><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_State" class=ISymbol>MQTT_Session_State</a></div></div><div class=SRResult id=SR_MQTT_undStepCtx><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_StepCtx" class=ISymbol>MQTT_StepCtx</a></div></div><div class=SRResult id=SR_MQTT_undSubscription><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=ISymbol>MQTT_Subscription</a></div></div><div class=SRResult id=SR_MQTT_undSubscription_undDB><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=ISymbol>MQTT_Subscription_DB</a></div></div><div class=SRResult id=SR_MQTT_undSubscription_undList><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_List" class=ISymbol>MQTT_Subscription_List</a></div></div><div class=SRResult id=SR_MQTT_undSubscription_undState><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_State" class=ISymbol>MQTT_Subscription_State</a></div></div><div class=SRResult id=SR_MQTT_undTemplate><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template" class=ISymbol>MQTT_Template</a></div></div><div class=SRResult id=SR_MQTT_undTemplate_undDB><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" class=ISymbol>MQTT_Template_DB</a></div></div><div class=SRResult id=SR_MQTT_undTemplate_undList><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_List" class=ISymbol>MQTT_Template_List</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/search/GeneralT.html b/apidoc/html/search/GeneralT.html
new file mode 100644
index 0000000..725d1e0
--- /dev/null
+++ b/apidoc/html/search/GeneralT.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="FramedSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Search Results</div><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_tsp_undEPTF_undMQTT_undLGen_unddebug><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_debug" class=ISymbol>tsp_EPTF_MQTT_LGen_debug</a></div></div><div class=SRResult id=SR_tsp_undEPTF_undMQTT_undLGen_unddebugVerbose><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_debugVerbose" class=ISymbol>tsp_EPTF_MQTT_LGen_debugVerbose</a></div></div><div class=SRResult id=SR_tsp_undEPTF_undMQTT_undLGen_undmaxBindableCtx><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_maxBindableCtx" class=ISymbol>tsp_EPTF_MQTT_LGen_maxBindableCtx</a></div></div><div class=SRResult id=SR_tsp_undEPTF_undMQTT_undLGen_undtemplates><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_templates" class=ISymbol>tsp_EPTF_MQTT_LGen_templates</a></div></div><div class=SRResult id=SR_tsp_undEPTF_undMQTT_undLocalTransport_unddebug><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Definitions-ttcn.html#tsp_EPTF_MQTT_LocalTransport_debug" class=ISymbol>tsp_EPTF_MQTT_LocalTransport_debug</a></div></div><div class=SRResult id=SR_tsp_undEPTF_undMQTT_undLocalTransport_unddebugVerbose><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Definitions-ttcn.html#tsp_EPTF_MQTT_LocalTransport_debugVerbose" class=ISymbol>tsp_EPTF_MQTT_LocalTransport_debugVerbose</a></div></div><div class=SRResult id=SR_tsp_undEPTF_undMQTT_undPUBLISH_undresponseWatchdog><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_PUBLISH_responseWatchdog" class=ISymbol>tsp_EPTF_MQTT_PUBLISH_responseWatchdog</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/search/ModuleParametersT.html b/apidoc/html/search/ModuleParametersT.html
new file mode 100644
index 0000000..725d1e0
--- /dev/null
+++ b/apidoc/html/search/ModuleParametersT.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="FramedSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Search Results</div><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_tsp_undEPTF_undMQTT_undLGen_unddebug><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_debug" class=ISymbol>tsp_EPTF_MQTT_LGen_debug</a></div></div><div class=SRResult id=SR_tsp_undEPTF_undMQTT_undLGen_unddebugVerbose><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_debugVerbose" class=ISymbol>tsp_EPTF_MQTT_LGen_debugVerbose</a></div></div><div class=SRResult id=SR_tsp_undEPTF_undMQTT_undLGen_undmaxBindableCtx><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_maxBindableCtx" class=ISymbol>tsp_EPTF_MQTT_LGen_maxBindableCtx</a></div></div><div class=SRResult id=SR_tsp_undEPTF_undMQTT_undLGen_undtemplates><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_LGen_templates" class=ISymbol>tsp_EPTF_MQTT_LGen_templates</a></div></div><div class=SRResult id=SR_tsp_undEPTF_undMQTT_undLocalTransport_unddebug><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Definitions-ttcn.html#tsp_EPTF_MQTT_LocalTransport_debug" class=ISymbol>tsp_EPTF_MQTT_LocalTransport_debug</a></div></div><div class=SRResult id=SR_tsp_undEPTF_undMQTT_undLocalTransport_unddebugVerbose><div class=IEntry><a href="../files/EPTF_MQTT_LocalTransport_Definitions-ttcn.html#tsp_EPTF_MQTT_LocalTransport_debugVerbose" class=ISymbol>tsp_EPTF_MQTT_LocalTransport_debugVerbose</a></div></div><div class=SRResult id=SR_tsp_undEPTF_undMQTT_undPUBLISH_undresponseWatchdog><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#tsp_EPTF_MQTT_PUBLISH_responseWatchdog" class=ISymbol>tsp_EPTF_MQTT_PUBLISH_responseWatchdog</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/search/NoResults.html b/apidoc/html/search/NoResults.html
new file mode 100644
index 0000000..e15a60d
--- /dev/null
+++ b/apidoc/html/search/NoResults.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="FramedSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Search Results</div><div class=SRStatus id=NoMatches>No Matches</div></div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/search/TypesE.html b/apidoc/html/search/TypesE.html
new file mode 100644
index 0000000..f553e61
--- /dev/null
+++ b/apidoc/html/search/TypesE.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="FramedSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Search Results</div><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_EPTF_undMQTT_undLGen_undCT><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#EPTF_MQTT_LGen_CT" class=ISymbol>EPTF_MQTT_LGen_CT</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undPDU><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_PDU" class=ISymbol>EPTF_MQTT_PDU</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undclose><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_close" class=ISymbol>EPTF_MQTT_Transport_close</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undconnect><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_connect" class=ISymbol>EPTF_MQTT_Transport_connect</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undProvider_undCT><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Provider_CT" class=ISymbol>EPTF_MQTT_Transport_Provider_CT</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undRequest><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Request" class=ISymbol>EPTF_MQTT_Transport_Request</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undRequestParams><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_RequestParams" class=ISymbol>EPTF_MQTT_Transport_RequestParams</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undResponse><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_Response" class=ISymbol>EPTF_MQTT_Transport_Response</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undResponseParams><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_ResponseParams" class=ISymbol>EPTF_MQTT_Transport_ResponseParams</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undstartListening><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_startListening" class=ISymbol>EPTF_MQTT_Transport_startListening</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransport_undUser_undCT><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_Transport_User_CT" class=ISymbol>EPTF_MQTT_Transport_User_CT</a></div></div><div class=SRResult id=SR_EPTF_undMQTT_undTransportParameters><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#EPTF_MQTT_TransportParameters" class=ISymbol>EPTF_MQTT_TransportParameters</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/search/TypesF.html b/apidoc/html/search/TypesF.html
new file mode 100644
index 0000000..506e4c0
--- /dev/null
+++ b/apidoc/html/search/TypesF.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="FramedSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Search Results</div><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_fcb_undEPTF_undMQTT_undmessageReceived><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#fcb_EPTF_MQTT_messageReceived" class=ISymbol>fcb_EPTF_MQTT_messageReceived</a></div></div><div class=SRResult id=SR_fcb_undEPTF_undMQTT_undTransport_undapiRequest><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_apiRequest" class=ISymbol>fcb_EPTF_MQTT_Transport_apiRequest</a></div></div><div class=SRResult id=SR_fcb_undEPTF_undMQTT_undTransport_undapiResponse><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_apiResponse" class=ISymbol>fcb_EPTF_MQTT_Transport_apiResponse</a></div></div><div class=SRResult id=SR_fcb_undEPTF_undMQTT_undTransport_undreceiveEvent><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_receiveEvent" class=ISymbol>fcb_EPTF_MQTT_Transport_receiveEvent</a></div></div><div class=SRResult id=SR_fcb_undEPTF_undMQTT_undTransport_undreceiveMessage><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_receiveMessage" class=ISymbol>fcb_EPTF_MQTT_Transport_receiveMessage</a></div></div><div class=SRResult id=SR_fcb_undEPTF_undMQTT_undTransport_undsendMessage><div class=IEntry><a href="../files/EPTF_MQTT_Transport_Definitions-ttcn.html#fcb_EPTF_MQTT_Transport_sendMessage" class=ISymbol>fcb_EPTF_MQTT_Transport_sendMessage</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/search/TypesM.html b/apidoc/html/search/TypesM.html
new file mode 100644
index 0000000..c450ad6
--- /dev/null
+++ b/apidoc/html/search/TypesM.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="FramedSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+
+
+
+<!-- Generated by Natural Docs, version 1.52 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Search Results</div><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_MQTT_undAddress_undDB><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Address_DB" class=ISymbol>MQTT_Address_DB</a></div></div><div class=SRResult id=SR_MQTT_undAddress_undList><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Address_List" class=ISymbol>MQTT_Address_List</a></div></div><div class=SRResult id=SR_MQTT_undPublish><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish" class=ISymbol>MQTT_Publish</a></div></div><div class=SRResult id=SR_MQTT_undPublish_undDB><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_DB" class=ISymbol>MQTT_Publish_DB</a></div></div><div class=SRResult id=SR_MQTT_undPublish_undList><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_List" class=ISymbol>MQTT_Publish_List</a></div></div><div class=SRResult id=SR_MQTT_undPublish_undSide><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_Side" class=ISymbol>MQTT_Publish_Side</a></div></div><div class=SRResult id=SR_MQTT_undPublish_undState><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Publish_State" class=ISymbol>MQTT_Publish_State</a></div></div><div class=SRResult id=SR_MQTT_undPublishQos1_undState><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_PublishQos1_State" class=ISymbol>MQTT_PublishQos1_State</a></div></div><div class=SRResult id=SR_MQTT_undPublishQos2_undState><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_PublishQos2_State" class=ISymbol>MQTT_PublishQos2_State</a></div></div><div class=SRResult id=SR_MQTT_undSession><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session" class=ISymbol>MQTT_Session</a></div></div><div class=SRResult id=SR_MQTT_undSession_undDB><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_DB" class=ISymbol>MQTT_Session_DB</a></div></div><div class=SRResult id=SR_MQTT_undSession_undList><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_List" class=ISymbol>MQTT_Session_List</a></div></div><div class=SRResult id=SR_MQTT_undSession_undState><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Session_State" class=ISymbol>MQTT_Session_State</a></div></div><div class=SRResult id=SR_MQTT_undStepCtx><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_StepCtx" class=ISymbol>MQTT_StepCtx</a></div></div><div class=SRResult id=SR_MQTT_undSubscription><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription" class=ISymbol>MQTT_Subscription</a></div></div><div class=SRResult id=SR_MQTT_undSubscription_undDB><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_DB" class=ISymbol>MQTT_Subscription_DB</a></div></div><div class=SRResult id=SR_MQTT_undSubscription_undList><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_List" class=ISymbol>MQTT_Subscription_List</a></div></div><div class=SRResult id=SR_MQTT_undSubscription_undState><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Subscription_State" class=ISymbol>MQTT_Subscription_State</a></div></div><div class=SRResult id=SR_MQTT_undTemplate><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template" class=ISymbol>MQTT_Template</a></div></div><div class=SRResult id=SR_MQTT_undTemplate_undDB><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_DB" class=ISymbol>MQTT_Template_DB</a></div></div><div class=SRResult id=SR_MQTT_undTemplate_undList><div class=IEntry><a href="../files/EPTF_MQTT_LGen_Definitions-ttcn.html#MQTT_Template_List" class=ISymbol>MQTT_Template_List</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults", "FramedHTML");
+searchResults.Search();
+--></script></div><!--Index-->
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
diff --git a/apidoc/html/styles/1.css b/apidoc/html/styles/1.css
new file mode 100644
index 0000000..511703f
--- /dev/null
+++ b/apidoc/html/styles/1.css
@@ -0,0 +1,828 @@
+/*
+ IMPORTANT: If you're editing this file in the output directory of one of
+ your projects, your changes will be overwritten the next time you run
+ Natural Docs. Instead, copy this file to your project directory, make your
+ changes, and you can use it with -s. Even better would be to make a CSS
+ file in your project directory with only your changes, which you can then
+ use with -s [original style] [your changes].
+
+ On the other hand, if you're editing this file in the Natural Docs styles
+ directory, the changes will automatically be applied to all your projects
+ that use this style the next time Natural Docs is run on them.
+
+ This file is part of Natural Docs, which is Copyright © 2003-2010 Greg Valure.
+ Natural Docs is licensed under version 3 of the GNU Affero General Public
+ License (AGPL). Refer to License.txt for the complete details.
+
+ This file may be distributed with documentation files generated by Natural Docs.
+ Such documentation is not covered by Natural Docs' copyright and licensing,
+ and may have its own copyright and distribution terms as decided by its author.
+*/
+
+body {
+ font: 10pt Verdana, Arial, sans-serif;
+ color: #000000;
+ margin: 0; padding: 0;
+ }
+
+.ContentPage,
+.IndexPage,
+.FramedMenuPage {
+ background-color: #E8E8E8;
+ }
+.FramedContentPage,
+.FramedIndexPage,
+.FramedSearchResultsPage,
+.PopupSearchResultsPage {
+ background-color: #FFFFFF;
+ }
+
+
+a:link,
+a:visited { color: #900000; text-decoration: none }
+a:hover { color: #900000; text-decoration: underline }
+a:active { color: #FF0000; text-decoration: underline }
+
+td {
+ vertical-align: top }
+
+img { border: 0; }
+
+
+/*
+ Comment out this line to use web-style paragraphs (blank line between
+ paragraphs, no indent) instead of print-style paragraphs (no blank line,
+ indented.)
+*/
+p {
+ text-indent: 5ex; margin: 0 }
+
+
+/* Opera doesn't break with just wbr, but will if you add this. */
+.Opera wbr:after {
+ content: "\00200B";
+ }
+
+
+/* Blockquotes are used as containers for things that may need to scroll. */
+blockquote {
+ padding: 0;
+ margin: 0;
+ overflow: auto;
+ }
+
+
+.Firefox1 blockquote {
+ padding-bottom: .5em;
+ }
+
+/* Turn off scrolling when printing. */
+@media print {
+ blockquote {
+ overflow: visible;
+ }
+ .IE blockquote {
+ width: auto;
+ }
+ }
+
+
+
+#Menu {
+ font-size: 9pt;
+ padding: 10px 0 0 0;
+ }
+.ContentPage #Menu,
+.IndexPage #Menu {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 31ex;
+ overflow: hidden;
+ }
+.ContentPage .Firefox #Menu,
+.IndexPage .Firefox #Menu {
+ width: 27ex;
+ }
+
+
+ .MTitle {
+ font-size: 16pt; font-weight: bold; font-variant: small-caps;
+ text-align: center;
+ padding: 5px 10px 15px 10px;
+ border-bottom: 1px dotted #000000;
+ margin-bottom: 15px }
+
+ .MSubTitle {
+ font-size: 9pt; font-weight: normal; font-variant: normal;
+ margin-top: 1ex; margin-bottom: 5px }
+
+
+ .MEntry a:link,
+ .MEntry a:hover,
+ .MEntry a:visited { color: #606060; margin-right: 0 }
+ .MEntry a:active { color: #A00000; margin-right: 0 }
+
+
+ .MGroup {
+ font-variant: small-caps; font-weight: bold;
+ margin: 1em 0 1em 10px;
+ }
+
+ .MGroupContent {
+ font-variant: normal; font-weight: normal }
+
+ .MGroup a:link,
+ .MGroup a:hover,
+ .MGroup a:visited { color: #545454; margin-right: 10px }
+ .MGroup a:active { color: #A00000; margin-right: 10px }
+
+
+ .MFile,
+ .MText,
+ .MLink,
+ .MIndex {
+ padding: 1px 17px 2px 10px;
+ margin: .25em 0 .25em 0;
+ }
+
+ .MText {
+ font-size: 8pt; font-style: italic }
+
+ .MLink {
+ font-style: italic }
+
+ #MSelected {
+ color: #000000; background-color: #FFFFFF;
+ /* Replace padding with border. */
+ padding: 0 10px 0 10px;
+ border-width: 1px 2px 2px 0; border-style: solid; border-color: #000000;
+ margin-right: 5px;
+ }
+
+ /* Close off the left side when its in a group. */
+ .MGroup #MSelected {
+ padding-left: 9px; border-left-width: 1px }
+
+ /* A treat for Mozilla users. Blatantly non-standard. Will be replaced with CSS 3 attributes when finalized/supported. */
+ .Firefox #MSelected {
+ -moz-border-radius-topright: 10px;
+ -moz-border-radius-bottomright: 10px }
+ .Firefox .MGroup #MSelected {
+ -moz-border-radius-topleft: 10px;
+ -moz-border-radius-bottomleft: 10px }
+
+
+ #MSearchPanel {
+ padding: 0px 6px;
+ margin: .25em 0;
+ }
+
+
+ #MSearchField {
+ font: italic 9pt Verdana, sans-serif;
+ color: #606060;
+ background-color: #E8E8E8;
+ border: none;
+ padding: 2px 4px;
+ width: 100%;
+ }
+ /* Only Opera gets it right. */
+ .Firefox #MSearchField,
+ .IE #MSearchField,
+ .Safari #MSearchField {
+ width: 94%;
+ }
+ .Opera9 #MSearchField,
+ .Konqueror #MSearchField {
+ width: 97%;
+ }
+ .FramedMenuPage .Firefox #MSearchField,
+ .FramedMenuPage .Safari #MSearchField,
+ .FramedMenuPage .Konqueror #MSearchField {
+ width: 98%;
+ }
+
+ /* Firefox doesn't do this right in frames without #MSearchPanel added on.
+ It's presence doesn't hurt anything other browsers. */
+ #MSearchPanel.MSearchPanelInactive:hover #MSearchField {
+ background-color: #FFFFFF;
+ border: 1px solid #C0C0C0;
+ padding: 1px 3px;
+ }
+ .MSearchPanelActive #MSearchField {
+ background-color: #FFFFFF;
+ border: 1px solid #C0C0C0;
+ font-style: normal;
+ padding: 1px 3px;
+ }
+
+ #MSearchType {
+ visibility: hidden;
+ font: 8pt Verdana, sans-serif;
+ width: 98%;
+ padding: 0;
+ border: 1px solid #C0C0C0;
+ }
+ .MSearchPanelActive #MSearchType,
+ /* As mentioned above, Firefox doesn't do this right in frames without #MSearchPanel added on. */
+ #MSearchPanel.MSearchPanelInactive:hover #MSearchType,
+ #MSearchType:focus {
+ visibility: visible;
+ color: #606060;
+ }
+ #MSearchType option#MSearchEverything {
+ font-weight: bold;
+ }
+
+ .Opera8 .MSearchPanelInactive:hover,
+ .Opera8 .MSearchPanelActive {
+ margin-left: -1px;
+ }
+
+
+ iframe#MSearchResults {
+ width: 60ex;
+ height: 15em;
+ }
+ #MSearchResultsWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid #000000;
+ background-color: #E8E8E8;
+ }
+ #MSearchResultsWindowClose {
+ font-weight: bold;
+ font-size: 8pt;
+ display: block;
+ padding: 2px 5px;
+ }
+ #MSearchResultsWindowClose:link,
+ #MSearchResultsWindowClose:visited {
+ color: #000000;
+ text-decoration: none;
+ }
+ #MSearchResultsWindowClose:active,
+ #MSearchResultsWindowClose:hover {
+ color: #800000;
+ text-decoration: none;
+ background-color: #F4F4F4;
+ }
+
+
+
+
+#Content {
+ padding-bottom: 15px;
+ }
+
+.ContentPage #Content {
+ border-width: 0 0 1px 1px;
+ border-style: solid;
+ border-color: #000000;
+ background-color: #FFFFFF;
+ font-size: 9pt; /* To make 31ex match the menu's 31ex. */
+ margin-left: 31ex;
+ }
+.ContentPage .Firefox #Content {
+ margin-left: 27ex;
+ }
+
+
+
+ .CTopic {
+ font-size: 10pt;
+ margin-bottom: 3em;
+ }
+
+
+ .CTitle {
+ font-size: 12pt; font-weight: bold;
+ border-width: 0 0 1px 0; border-style: solid; border-color: #A0A0A0;
+ margin: 0 15px .5em 15px }
+
+ .CGroup .CTitle {
+ font-size: 16pt; font-variant: small-caps;
+ padding-left: 15px; padding-right: 15px;
+ border-width: 0 0 2px 0; border-color: #000000;
+ margin-left: 0; margin-right: 0 }
+
+ .CClass .CTitle,
+ .CInterface .CTitle,
+ .CDatabase .CTitle,
+ .CDatabaseTable .CTitle,
+ .CSection .CTitle {
+ font-size: 18pt;
+ color: #FFFFFF; background-color: #A0A0A0;
+ padding: 10px 15px 10px 15px;
+ border-width: 2px 0; border-color: #000000;
+ margin-left: 0; margin-right: 0 }
+
+ #MainTopic .CTitle {
+ font-size: 20pt;
+ color: #FFFFFF; background-color: #7070C0;
+ padding: 10px 15px 10px 15px;
+ border-width: 0 0 3px 0; border-color: #000000;
+ margin-left: 0; margin-right: 0 }
+
+ .CBody {
+ margin-left: 15px; margin-right: 15px }
+
+
+ .CToolTip {
+ position: absolute; visibility: hidden;
+ left: 0; top: 0;
+ background-color: #FFFFE0;
+ padding: 5px;
+ border-width: 1px 2px 2px 1px; border-style: solid; border-color: #000000;
+ font-size: 8pt;
+ }
+
+ .Opera .CToolTip {
+ max-width: 98%;
+ }
+
+ /* Scrollbars would be useless. */
+ .CToolTip blockquote {
+ overflow: hidden;
+ }
+ .IE6 .CToolTip blockquote {
+ overflow: visible;
+ }
+
+ .CHeading {
+ font-weight: bold; font-size: 10pt;
+ margin: 1.5em 0 .5em 0;
+ }
+
+ .CBody pre {
+ font: 10pt "Courier New", Courier, monospace;
+ background-color: #FCFCFC;
+ margin: 1em 35px;
+ padding: 10px 15px 10px 10px;
+ border-color: #E0E0E0 #E0E0E0 #E0E0E0 #E4E4E4;
+ border-width: 1px 1px 1px 6px;
+ border-style: dashed dashed dashed solid;
+ }
+
+ .CBody ul {
+ /* I don't know why CBody's margin doesn't apply, but it's consistent across browsers so whatever.
+ Reapply it here as padding. */
+ padding-left: 15px; padding-right: 15px;
+ margin: .5em 5ex .5em 5ex;
+ }
+
+ .CDescriptionList {
+ margin: .5em 5ex 0 5ex }
+
+ .CDLEntry {
+ font: 10pt "Courier New", Courier, monospace; color: #808080;
+ padding-bottom: .25em;
+ white-space: nowrap }
+
+ .CDLDescription {
+ font-size: 10pt; /* For browsers that don't inherit correctly, like Opera 5. */
+ padding-bottom: .5em; padding-left: 5ex }
+
+
+ .CTopic img {
+ text-align: center;
+ display: block;
+ margin: 1em auto;
+ }
+ .CImageCaption {
+ font-variant: small-caps;
+ font-size: 8pt;
+ color: #808080;
+ text-align: center;
+ position: relative;
+ top: 1em;
+ }
+
+ .CImageLink {
+ color: #808080;
+ font-style: italic;
+ }
+ a.CImageLink:link,
+ a.CImageLink:visited,
+ a.CImageLink:hover { color: #808080 }
+
+
+
+
+
+.Prototype {
+ font: 10pt "Courier New", Courier, monospace;
+ padding: 5px 3ex;
+ border-width: 1px; border-style: solid;
+ margin: 0 5ex 1.5em 5ex;
+ }
+
+ .Prototype td {
+ font-size: 10pt;
+ }
+
+ .PDefaultValue,
+ .PDefaultValuePrefix,
+ .PTypePrefix {
+ color: #8F8F8F;
+ }
+ .PTypePrefix {
+ text-align: right;
+ }
+ .PAfterParameters {
+ vertical-align: bottom;
+ }
+
+ .IE .Prototype table {
+ padding: 0;
+ }
+
+ .CFunction .Prototype {
+ background-color: #F4F4F4; border-color: #D0D0D0 }
+ .CProperty .Prototype {
+ background-color: #F4F4FF; border-color: #C0C0E8 }
+ .CVariable .Prototype {
+ background-color: #FFFFF0; border-color: #E0E0A0 }
+
+ .CClass .Prototype {
+ border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0A0;
+ background-color: #F4F4F4;
+ }
+ .CInterface .Prototype {
+ border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0D0;
+ background-color: #F4F4FF;
+ }
+
+ .CDatabaseIndex .Prototype,
+ .CConstant .Prototype {
+ background-color: #D0D0D0; border-color: #000000 }
+ .CType .Prototype,
+ .CEnumeration .Prototype {
+ background-color: #FAF0F0; border-color: #E0B0B0;
+ }
+ .CDatabaseTrigger .Prototype,
+ .CEvent .Prototype,
+ .CDelegate .Prototype {
+ background-color: #F0FCF0; border-color: #B8E4B8 }
+
+ .CToolTip .Prototype {
+ margin: 0 0 .5em 0;
+ white-space: nowrap;
+ }
+
+
+
+
+
+.Summary {
+ margin: 1.5em 5ex 0 5ex }
+
+ .STitle {
+ font-size: 12pt; font-weight: bold;
+ margin-bottom: .5em }
+
+
+ .SBorder {
+ background-color: #FFFFF0;
+ padding: 15px;
+ border: 1px solid #C0C060 }
+
+ /* In a frame IE 6 will make them too long unless you set the width to 100%. Without frames it will be correct without a width
+ or slightly too long (but not enough to scroll) with a width. This arbitrary weirdness simply astounds me. IE 7 has the same
+ problem with frames, haven't tested it without. */
+ .FramedContentPage .IE .SBorder {
+ width: 100% }
+
+ /* A treat for Mozilla users. Blatantly non-standard. Will be replaced with CSS 3 attributes when finalized/supported. */
+ .Firefox .SBorder {
+ -moz-border-radius: 20px }
+
+
+ .STable {
+ font-size: 9pt; width: 100% }
+
+ .SEntry {
+ width: 30% }
+ .SDescription {
+ width: 70% }
+
+
+ .SMarked {
+ background-color: #F8F8D8 }
+
+ .SDescription { padding-left: 2ex }
+ .SIndent1 .SEntry { padding-left: 1.5ex } .SIndent1 .SDescription { padding-left: 3.5ex }
+ .SIndent2 .SEntry { padding-left: 3.0ex } .SIndent2 .SDescription { padding-left: 5.0ex }
+ .SIndent3 .SEntry { padding-left: 4.5ex } .SIndent3 .SDescription { padding-left: 6.5ex }
+ .SIndent4 .SEntry { padding-left: 6.0ex } .SIndent4 .SDescription { padding-left: 8.0ex }
+ .SIndent5 .SEntry { padding-left: 7.5ex } .SIndent5 .SDescription { padding-left: 9.5ex }
+
+ .SDescription a { color: #800000}
+ .SDescription a:active { color: #A00000 }
+
+ .SGroup td {
+ padding-top: .5em; padding-bottom: .25em }
+
+ .SGroup .SEntry {
+ font-weight: bold; font-variant: small-caps }
+
+ .SGroup .SEntry a { color: #800000 }
+ .SGroup .SEntry a:active { color: #F00000 }
+
+
+ .SMain td,
+ .SClass td,
+ .SDatabase td,
+ .SDatabaseTable td,
+ .SSection td {
+ font-size: 10pt;
+ padding-bottom: .25em }
+
+ .SClass td,
+ .SDatabase td,
+ .SDatabaseTable td,
+ .SSection td {
+ padding-top: 1em }
+
+ .SMain .SEntry,
+ .SClass .SEntry,
+ .SDatabase .SEntry,
+ .SDatabaseTable .SEntry,
+ .SSection .SEntry {
+ font-weight: bold;
+ }
+
+ .SMain .SEntry a,
+ .SClass .SEntry a,
+ .SDatabase .SEntry a,
+ .SDatabaseTable .SEntry a,
+ .SSection .SEntry a { color: #000000 }
+
+ .SMain .SEntry a:active,
+ .SClass .SEntry a:active,
+ .SDatabase .SEntry a:active,
+ .SDatabaseTable .SEntry a:active,
+ .SSection .SEntry a:active { color: #A00000 }
+
+
+
+
+
+.ClassHierarchy {
+ margin: 0 15px 1em 15px }
+
+ .CHEntry {
+ border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0A0;
+ margin-bottom: 3px;
+ padding: 2px 2ex;
+ font-size: 10pt;
+ background-color: #F4F4F4; color: #606060;
+ }
+
+ .Firefox .CHEntry {
+ -moz-border-radius: 4px;
+ }
+
+ .CHCurrent .CHEntry {
+ font-weight: bold;
+ border-color: #000000;
+ color: #000000;
+ }
+
+ .CHChildNote .CHEntry {
+ font-style: italic;
+ font-size: 8pt;
+ }
+
+ .CHIndent {
+ margin-left: 3ex;
+ }
+
+ .CHEntry a:link,
+ .CHEntry a:visited,
+ .CHEntry a:hover {
+ color: #606060;
+ }
+ .CHEntry a:active {
+ color: #800000;
+ }
+
+
+
+
+
+#Index {
+ background-color: #FFFFFF;
+ }
+
+/* As opposed to .PopupSearchResultsPage #Index */
+.IndexPage #Index,
+.FramedIndexPage #Index,
+.FramedSearchResultsPage #Index {
+ padding: 15px;
+ }
+
+.IndexPage #Index {
+ border-width: 0 0 1px 1px;
+ border-style: solid;
+ border-color: #000000;
+ font-size: 9pt; /* To make 27ex match the menu's 27ex. */
+ margin-left: 27ex;
+ }
+
+
+ .IPageTitle {
+ font-size: 20pt; font-weight: bold;
+ color: #FFFFFF; background-color: #7070C0;
+ padding: 10px 15px 10px 15px;
+ border-width: 0 0 3px 0; border-color: #000000; border-style: solid;
+ margin: -15px -15px 0 -15px }
+
+ .FramedSearchResultsPage .IPageTitle {
+ margin-bottom: 15px;
+ }
+
+ .INavigationBar {
+ font-size: 10pt;
+ text-align: center;
+ background-color: #FFFFF0;
+ padding: 5px;
+ border-bottom: solid 1px black;
+ margin: 0 -15px 15px -15px;
+ }
+
+ .INavigationBar a {
+ font-weight: bold }
+
+ .IHeading {
+ font-size: 16pt; font-weight: bold;
+ padding: 2.5em 0 .5em 0;
+ text-align: center;
+ width: 3.5ex;
+ }
+ #IFirstHeading {
+ padding-top: 0;
+ }
+
+ .IEntry {
+ font-size: 10pt;
+ padding-left: 1ex;
+ }
+ .PopupSearchResultsPage .IEntry {
+ font-size: 8pt;
+ padding: 1px 5px;
+ }
+ .PopupSearchResultsPage .Opera9 .IEntry,
+ .FramedSearchResultsPage .Opera9 .IEntry {
+ text-align: left;
+ }
+ .FramedSearchResultsPage .IEntry {
+ padding: 0;
+ }
+
+ .ISubIndex {
+ padding-left: 3ex; padding-bottom: .5em }
+ .PopupSearchResultsPage .ISubIndex {
+ display: none;
+ }
+
+ /* While it may cause some entries to look like links when they aren't, I found it's much easier to read the
+ index if everything's the same color. */
+ .ISymbol {
+ font-weight: bold; color: #900000 }
+
+ .IndexPage .ISymbolPrefix,
+ .FramedIndexPage .ISymbolPrefix {
+ font-size: 10pt;
+ text-align: right;
+ color: #C47C7C;
+ background-color: #F8F8F8;
+ border-right: 3px solid #E0E0E0;
+ border-left: 1px solid #E0E0E0;
+ padding: 0 1px 0 2px;
+ }
+ .PopupSearchResultsPage .ISymbolPrefix,
+ .FramedSearchResultsPage .ISymbolPrefix {
+ color: #900000;
+ }
+ .PopupSearchResultsPage .ISymbolPrefix {
+ font-size: 8pt;
+ }
+
+ .IndexPage #IFirstSymbolPrefix,
+ .FramedIndexPage #IFirstSymbolPrefix {
+ border-top: 1px solid #E0E0E0;
+ }
+ .IndexPage #ILastSymbolPrefix,
+ .FramedIndexPage #ILastSymbolPrefix {
+ border-bottom: 1px solid #E0E0E0;
+ }
+ .IndexPage #IOnlySymbolPrefix,
+ .FramedIndexPage #IOnlySymbolPrefix {
+ border-top: 1px solid #E0E0E0;
+ border-bottom: 1px solid #E0E0E0;
+ }
+
+ a.IParent,
+ a.IFile {
+ display: block;
+ }
+
+ .PopupSearchResultsPage .SRStatus {
+ padding: 2px 5px;
+ font-size: 8pt;
+ font-style: italic;
+ }
+ .FramedSearchResultsPage .SRStatus {
+ font-size: 10pt;
+ font-style: italic;
+ }
+
+ .SRResult {
+ display: none;
+ }
+
+
+
+#Footer {
+ font-size: 8pt;
+ color: #989898;
+ text-align: right;
+ }
+
+#Footer p {
+ text-indent: 0;
+ margin-bottom: .5em;
+ }
+
+.ContentPage #Footer,
+.IndexPage #Footer {
+ text-align: right;
+ margin: 2px;
+ }
+
+.FramedMenuPage #Footer {
+ text-align: center;
+ margin: 5em 10px 10px 10px;
+ padding-top: 1em;
+ border-top: 1px solid #C8C8C8;
+ }
+
+ #Footer a:link,
+ #Footer a:hover,
+ #Footer a:visited { color: #989898 }
+ #Footer a:active { color: #A00000 }
+
+
+
+.prettyprint .kwd { color: #800000; } /* keywords */
+
+ .prettyprint.PDefaultValue .kwd,
+ .prettyprint.PDefaultValuePrefix .kwd,
+ .prettyprint.PTypePrefix .kwd {
+ color: #C88F8F;
+ }
+
+.prettyprint .com { color: #008000; } /* comments */
+
+ .prettyprint.PDefaultValue .com,
+ .prettyprint.PDefaultValuePrefix .com,
+ .prettyprint.PTypePrefix .com {
+ color: #8FC88F;
+ }
+
+.prettyprint .str { color: #0000B0; } /* strings */
+.prettyprint .lit { color: #0000B0; } /* literals */
+
+ .prettyprint.PDefaultValue .str,
+ .prettyprint.PDefaultValuePrefix .str,
+ .prettyprint.PTypePrefix .str,
+ .prettyprint.PDefaultValue .lit,
+ .prettyprint.PDefaultValuePrefix .lit,
+ .prettyprint.PTypePrefix .lit {
+ color: #8F8FC0;
+ }
+
+.prettyprint .typ { color: #000000; } /* types */
+.prettyprint .pun { color: #000000; } /* punctuation */
+.prettyprint .pln { color: #000000; } /* punctuation */
+
+ .prettyprint.PDefaultValue .typ,
+ .prettyprint.PDefaultValuePrefix .typ,
+ .prettyprint.PTypePrefix .typ,
+ .prettyprint.PDefaultValue .pun,
+ .prettyprint.PDefaultValuePrefix .pun,
+ .prettyprint.PTypePrefix .pun,
+ .prettyprint.PDefaultValue .pln,
+ .prettyprint.PDefaultValuePrefix .pln,
+ .prettyprint.PTypePrefix .pln {
+ color: #8F8F8F;
+ }
+
+.prettyprint .tag { color: #008; }
+.prettyprint .atn { color: #606; }
+.prettyprint .atv { color: #080; }
+.prettyprint .dec { color: #606; }
+
diff --git a/apidoc/html/styles/2.css b/apidoc/html/styles/2.css
new file mode 100644
index 0000000..bd55024
--- /dev/null
+++ b/apidoc/html/styles/2.css
@@ -0,0 +1,45 @@
+/*
+ IMPORTANT: If you're editing this file in the output directory of one of
+ your projects, your changes will be overwritten the next time you run
+ Natural Docs. Instead, copy this file to your project directory, make your
+ changes, and you can use it with -s. Even better would be to make a CSS
+ file in your project directory with only your changes, which you can then
+ use with -s [original style] [your changes].
+
+ On the other hand, if you're editing this file in the Natural Docs styles
+ directory, the changes will automatically be applied to all your projects
+ that use this style the next time Natural Docs is run on them.
+
+ This file is part of Natural Docs, which is Copyright © 2003-2004 Greg Valure
+ Natural Docs is licensed under the GPL
+*/
+
+/* NO longer necessary!!
+ .Prototype td {
+ font-size: 8pt;
+ }
+*/
+
+.CRequirementTestcase .Prototype { background-color: #F4F4F4; border-color: #D0D0D0 }
+.CRequirementFunction .Prototype { background-color: #F4F4F4; border-color: #D0D0D0 }
+.CRequirementProcedure .Prototype { background-color: #F4F4F4; border-color: #D0D0D0 }
+.CRequirementType .Prototype { background-color: #F4F4F4; border-color: #D0D0D0 }
+
+.MGroupContent {
+ font-variant: normal;
+ font-weight: normal;
+ display: none;
+}
+
+/* NO longer necessary!!
+@media print {
+
+ blockquote {
+ overflow: visible;
+ }
+
+ .IE blockquote {
+ width: auto;
+ }
+}
+*/
diff --git a/apidoc/html/styles/main.css b/apidoc/html/styles/main.css
new file mode 100644
index 0000000..a672a94
--- /dev/null
+++ b/apidoc/html/styles/main.css
@@ -0,0 +1,2 @@
+@import URL("1.css");
+@import URL("2.css");
diff --git a/apidoc/load.css b/apidoc/load.css
new file mode 100644
index 0000000..bd55024
--- /dev/null
+++ b/apidoc/load.css
@@ -0,0 +1,45 @@
+/*
+ IMPORTANT: If you're editing this file in the output directory of one of
+ your projects, your changes will be overwritten the next time you run
+ Natural Docs. Instead, copy this file to your project directory, make your
+ changes, and you can use it with -s. Even better would be to make a CSS
+ file in your project directory with only your changes, which you can then
+ use with -s [original style] [your changes].
+
+ On the other hand, if you're editing this file in the Natural Docs styles
+ directory, the changes will automatically be applied to all your projects
+ that use this style the next time Natural Docs is run on them.
+
+ This file is part of Natural Docs, which is Copyright © 2003-2004 Greg Valure
+ Natural Docs is licensed under the GPL
+*/
+
+/* NO longer necessary!!
+ .Prototype td {
+ font-size: 8pt;
+ }
+*/
+
+.CRequirementTestcase .Prototype { background-color: #F4F4F4; border-color: #D0D0D0 }
+.CRequirementFunction .Prototype { background-color: #F4F4F4; border-color: #D0D0D0 }
+.CRequirementProcedure .Prototype { background-color: #F4F4F4; border-color: #D0D0D0 }
+.CRequirementType .Prototype { background-color: #F4F4F4; border-color: #D0D0D0 }
+
+.MGroupContent {
+ font-variant: normal;
+ font-weight: normal;
+ display: none;
+}
+
+/* NO longer necessary!!
+@media print {
+
+ blockquote {
+ overflow: visible;
+ }
+
+ .IE blockquote {
+ width: auto;
+ }
+}
+*/