blob: 7f0474d1effe7834f97f2d6631ba0b54489f4721 [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2000-2018 Ericsson Telecom AB
//
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v2.0
// which accompanies this distribution, and is available at
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
///////////////////////////////////////////////////////////////////////////////
//
// File: EPTF_HTTP_Transport_Definitions.ttcn
// Rev: <RnXnn>
// Prodnr: CNL 113 618
// Updated: 2014-03-21
// Contact: http://ttcn.ericsson.se
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// Module: EPTF_HTTP_Transport_Definitions
//
// Purpose:
// This module contains the definitions to the HTTP Transport
//
// Module Parameters:
// tsp_EPTF_HTTP_Transport_loggingComponentMask - *charstring* - logging component mask id
// tsp_EPTF_HTTP_Transport_loggingEnable - *boolean* - enable/disable the transport logging
//
// Module depends on:
// <EPTF_HTTP_Definitions>
//
// <EPTF_CLL_Common_Definitions>
//
// <EPTF_CLL_Base_Definitions>
//
// <EPTF_CLL_LGenBase_Definitions>
//
// <EPTF_HTTP_Logger_Definitions>
//
// <EPTF_CLL_FBQ_Definitions>
//
// <EPTF_CLL_TransportDefinitions>
//
// <EPTF_CLL_TransportMessageBufferManager_Definitions>
//
// <EPTF_CLL_Logging_Definitions>
//
// <EPTF_CLL_TransportCommPortIPL4_Definitions>
//
// <IPL4asp_Types>
//
// <TCCMaths_GenericTypes>
//
// Current Owner:
// EAKOPER
//
// Last Review Date:
// 2009-08-10
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////
module EPTF_HTTP_Transport_Definitions {
//=============================================================================
// Imports
//=============================================================================
import from EPTF_CLL_Common_Definitions all;
import from EPTF_CLL_Base_Definitions all;
//import from EPTF_CLL_LGenBase_Definitions all;
import from EPTF_CLL_FBQ_Definitions all;
import from EPTF_CLL_TransportRouting_Definitions all;
import from EPTF_CLL_TransportMessageBufferManager_Definitions all;
import from EPTF_CLL_Logging_Definitions all;
import from EPTF_CLL_TransportCommPortIPL4_Definitions all;
import from EPTF_CLL_HashMap_Definitions all;
import from EPTF_HTTP_Definitions all;
import from IPL4asp_Types all;
import from TCCMaths_GenericTypes all;
//=============================================================================
// Module parameters
//=============================================================================
modulepar charstring tsp_EPTF_HTTP_Transport_loggingComponentMask := "EPTF_HTTP_Transport";
modulepar boolean tsp_EPTF_HTTP_Transport_loggingEnable := false;
modulepar boolean tsp_EPTF_HTTP_Transport_bufferLogEnable := false;
modulepar boolean tsp_EPTF_HTTP_Transport_messageBufferEnable := false;
modulepar integer tsp_EPTF_HTTP_bufferSize := 100;
//=============================================================================
// Data types
//=============================================================================
///////////////////////////////////////////////////////////////////////////////
// Group: EPTF_HTTP_Transport
//
// Purpose:
// The definitions of the EPTF HTTP Transport
//
///////////////////////////////////////////////////////////////////////////////
group EPTF_HTTP_Transport {
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_ConnectionState
//
// Purpose:
// HTTP states
//
// Elements:
// IDLE(0),
// OPENED(1)
// HALFCLOSED(2)
// CLOSED(3)
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type enumerated EPTF_HTTP_Transport_ConnectionState {
IDLE,
OPENED,
HALFCLOSED,
CLOSED
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_PortType
//
// Purpose:
// Port type
//
// Elements:
// LISTENING(0) -
// INCOMING_PORT(1) -
// OUTGOING_PORT(2) -
//
///////////////////////////////////////////////////////////////////////////////
type enumerated EPTF_HTTP_Transport_PortType{
LISTENING_PORT,
INCOMING_PORT,
OUTGOING_PORT
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_GroupOperation_FT
//
// Purpose:
// Function type to a registerable callback functions to
// add/remove ports to/from a port group
//
// Elements:
// pl_group - *in* *integer* - port group index
//
///////////////////////////////////////////////////////////////////////////////
type function EPTF_HTTP_Transport_GroupOperation_FT(
in integer pl_group)
runs on EPTF_HTTP_LocalTransport_CT return boolean;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_SelectPort_FT
//
// Purpose:
// Function type to a registerable callback functions to
// select a port for sending within a port group
//
// Elements:
// pl_group - *in* *integer* - port group index
//
///////////////////////////////////////////////////////////////////////////////
type function EPTF_HTTP_Transport_SelectPort_FT(
in integer pl_group)
runs on EPTF_HTTP_LocalTransport_CT return integer;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_SessionOperation_FT
//
// Purpose:
// Function type to a registerable callback functions to
// provide a session operation on a group
//
// Elements:
// pl_group - *in* *integer* - port group index
// pl_sessionId - *in* *integer* - session id
//
///////////////////////////////////////////////////////////////////////////////
type function EPTF_HTTP_Transport_SessionOperation_FT(
in integer pl_group,
in integer pl_sessionId)
runs on EPTF_HTTP_LocalTransport_CT;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_PortOperation_FT
//
// Purpose:
// Function type to a registerable callback functions to
// provide a session operation on a group
//
// Elements:
// pl_group - *in* *integer* - port group index
// pl_portId - *in* *integer* - port id
//
///////////////////////////////////////////////////////////////////////////////
type function EPTF_HTTP_Transport_PortOperation_FT(
in integer pl_group,
in integer pl_portId)
runs on EPTF_HTTP_LocalTransport_CT;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_GetGroupAndPort_FT
//
// Purpose:
// Function type to a registerable callback functions to
// acquire port group and port index for a connection id
//
// Elements:
// pl_connId - *in* *integer* -connection id
// pl_group - *inout* *integer* - port group index
// pl_port - *inout* *integer* - port index
//
///////////////////////////////////////////////////////////////////////////////
type function EPTF_HTTP_Transport_GetGroupAndPort_FT(
in integer pl_connId,
inout integer pl_group,
inout integer pl_port)
runs on EPTF_HTTP_LocalTransport_CT return boolean;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_GetGroup_FT
//
// Purpose:
// Function type to a registerable callback functions to
// acquire port group ndex for a connection id
//
// Elements:
// pl_connId - *in* *integer* -connection id
// pl_groupId - *inout* *integer* - port group index
//
///////////////////////////////////////////////////////////////////////////////
type function EPTF_HTTP_Transport_GetGroup_FT(
in integer pl_connId,
inout integer pl_groupId)
runs on EPTF_HTTP_LocalTransport_CT return boolean;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_SendFunction_FT
//
// Purpose:
// Function type to a registerable callback functions to
// send an encoded message over a port group
//
// Elements:
// pl_group - *in* *integer* - port group index
// pl_sessionId - *in* *integer* - session id for sending
// pl_msg - *in* *octetstring* - message to send
//
///////////////////////////////////////////////////////////////////////////////
type function EPTF_HTTP_Transport_SendFunction_FT(
in integer pl_group,
in integer pl_sessionId,
in octetstring pl_msg)
runs on EPTF_HTTP_LocalTransport_CT;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_SendResponse_FT
//
// Purpose:
// Function type to a registerable callback functions to
// send an encoded response over a port group
//
// Elements:
// pl_group - *in* *integer* - port group index
// pl_portId - *in* *integer* - port id for sending
// pl_seqNum - *in* *integer* - sequence number of the response
// pl_msg - *in* *octetstring* - response to send
//
///////////////////////////////////////////////////////////////////////////////
type function EPTF_HTTP_Transport_SendResponse_FT(
in integer pl_group,
in integer pl_portId,
in integer pl_seqNum,
in octetstring pl_msg
)
runs on EPTF_HTTP_LocalTransport_CT;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_OpenConnection_FT
//
// Purpose:
// Function type to a registerable callback functions to
// open port / port group connection
//
// Elements:
// pl_group - *in* *integer* - port group index
//
///////////////////////////////////////////////////////////////////////////////
type function EPTF_HTTP_Transport_OpenConnection_FT(
in integer pl_group)
runs on EPTF_HTTP_LocalTransport_CT return boolean;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_CloseConnection_FT
//
// Purpose:
// Function type to a registerable callback functions to
// cloase port / port group connection
//
// Elements:
// pl_group - *in* *integer* - port group index
//
///////////////////////////////////////////////////////////////////////////////
type function EPTF_HTTP_Transport_CloseConnection_FT(
in integer pl_group)
runs on EPTF_HTTP_LocalTransport_CT;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_ReceiveMessage_FT
//
// Purpose:
// Function type to a registerable callback functions to
// handle a received message
//
// Elements:
// pl_group - *in* *integer* - port group index
// pl_port - *in* *integer* - port index
// pl_msg - *in* *octetstring* - message to send
//
///////////////////////////////////////////////////////////////////////////////
type function EPTF_HTTP_Transport_ReceiveMessage_FT(
in integer pl_group,
in integer pl_port,
in octetstring pl_msg)
runs on EPTF_HTTP_LocalTransport_CT;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_ReceiveEvent_FT
//
// Purpose:
// Function type to a registerable callback functions to
// handle a received message
//
// Elements:
// pl_group - *in* *integer* - port group index
// pl_port - *in* *integer* - port index
// pl_type - *in* *integer* - event type
//
///////////////////////////////////////////////////////////////////////////////
type function EPTF_HTTP_Transport_ReceiveEvent_FT (
in integer pl_group,
in integer pl_port,
in integer pl_type)
runs on EPTF_HTTP_LocalTransport_CT;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_Listen_FT
//
// Purpose:
// Function type to a registerable callback function for
// opening a listen port
//
// Elements:
// pl_group - *in* *integer* - port group index
//
// Return value:
// boolean - open result
///////////////////////////////////////////////////////////////////////////////
type function EPTF_HTTP_Transport_Listen_FT(
in integer pl_group)
runs on EPTF_HTTP_LocalTransport_CT return integer;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_CreateIncomingConn_FT
//
// Purpose:
// Function type to a registerable callback functions to
// store an incoming connection
//
// Elements:
// pl_group - *in* *integer* - port group index
//
///////////////////////////////////////////////////////////////////////////////
type function EPTF_HTTP_Transport_CreateIncomingConn_FT(
in integer pl_group,
in ConnectionOpenedEvent pl_connOpened,
inout integer pl_port)
runs on EPTF_HTTP_LocalTransport_CT return boolean;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_RemoveIncomingConn_FT
//
// Purpose:
// Function type to a registerable callback functions to
// remove an incoming connection
//
// Elements:
// pl_group - *in* *integer* - port group index
// pl_port - *in* *integer* - port index in the group
//
///////////////////////////////////////////////////////////////////////////////
type function EPTF_HTTP_Transport_RemoveIncomingConn_FT(
in integer pl_group,
in integer pl_port)
runs on EPTF_HTTP_LocalTransport_CT;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_UserFunctions
//
// Purpose:
// Record to store function referencies for a port group
//
// Elements:
// addPort - <EPTF_HTTP_Transport_GroupOperation_FT> *optional* - add port function ref
// removePort - <EPTF_HTTP_Transport_GroupOperation_FT> *optional* - remove port function ref
// selectPort - <EPTF_HTTP_Transport_SelectPort_FT> *optional* - select port function ref
// sendMessage - <EPTF_HTTP_Transport_SendFunction_FT> *optional* - send message function ref
// closePortOfUser - <EPTF_HTTP_Transport_SessionOperation_FT> - close port of user function ref
// freePortOfUser - <EPTF_HTTP_Transport_SessionOperation_FT> - free port of user function ref
// openPort - <EPTF_HTTP_Transport_OpenConnection_FT> *optional* - open port function ref
// closeConnection - <EPTF_HTTP_Transport_CloseConnection_FT> *optional* - close port function ref
// halfClosePort - <EPTF_HTTP_Transport_CloseConnection_FT> *optional* - half close port function ref
// receiveMessage - <EPTF_HTTP_Transport_ReceiveMessage_FT> *optional* - receive message function ref
// receiveEvent - <EPTF_HTTP_Transport_ReceiveEvent_FT> *optional* - receive event function ref
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_UserFunctions
{
EPTF_HTTP_Transport_GroupOperation_FT addPort optional,
EPTF_HTTP_Transport_GroupOperation_FT removePort optional,
EPTF_HTTP_Transport_SelectPort_FT selectPort optional,
EPTF_HTTP_Transport_SendFunction_FT sendMessage optional,
EPTF_HTTP_Transport_SessionOperation_FT closePortOfUser optional,
EPTF_HTTP_Transport_SessionOperation_FT freePortOfUser optional,
EPTF_HTTP_Transport_OpenConnection_FT openPort optional,
EPTF_HTTP_Transport_CloseConnection_FT closeConnection optional,
EPTF_HTTP_Transport_CloseConnection_FT halfClosePort optional,
EPTF_HTTP_Transport_ReceiveMessage_FT receiveMessage optional,
EPTF_HTTP_Transport_ReceiveEvent_FT receiveEvent optional
}
///////////////////////////////////////////////////////////////////////////////
// const: c_EPTF_HTTP_initUserFunctions
//
// Purpose:
// -
//
///////////////////////////////////////////////////////////////////////////////
const EPTF_HTTP_Transport_UserFunctions c_EPTF_HTTP_initUserFunctions :={
omit,
omit,
omit,
omit,
omit,
omit,
omit,
omit,
omit,
omit,
omit
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_ServerUserFunctions
//
// Purpose:
// Record to store function referencies for a server port group
//
// Elements:
// removePort - <EPTF_HTTP_Transport_GroupOperation_FT> *optional* - remove port function ref
// listen - <EPTF_HTTP_Transport_Listen_FT> *optional* - open a listen port function ref
// createIncomingConn - <EPTF_HTTP_Transport_CreateIncomingConn_FT> *optional* - create incoming connection function ref
// removeIncomingConn - <EPTF_HTTP_Transport_RemoveIncomingConn_FT> *optional* - remove incoming connection function ref
// sendResponse - <EPTF_HTTP_Transport_SendResponse_FT> *optional* - send response function ref
// receiveMessage - <EPTF_HTTP_Transport_ReceiveMessage_FT> *optional* - receive message function ref
// receiveEvent - <EPTF_HTTP_Transport_ReceiveEvent_FT> *optional* - receive event function ref
// closePort - <EPTF_HTTP_Transport_PortOperation_FT> - close connection function ref
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_ServerUserFunctions
{
EPTF_HTTP_Transport_GroupOperation_FT removePort optional,
EPTF_HTTP_Transport_Listen_FT listen optional,
EPTF_HTTP_Transport_CreateIncomingConn_FT createIncomingConn optional,
EPTF_HTTP_Transport_RemoveIncomingConn_FT removeIncomingConn optional,
EPTF_HTTP_Transport_SendResponse_FT sendResponse optional,
EPTF_HTTP_Transport_ReceiveMessage_FT receiveMessage optional,
EPTF_HTTP_Transport_ReceiveEvent_FT receiveEvent optional,
EPTF_HTTP_Transport_PortOperation_FT closePort optional
}
///////////////////////////////////////////////////////////////////////////////
// const: c_EPTF_HTTP_initUserFunctions
//
// Purpose:
// -
//
///////////////////////////////////////////////////////////////////////////////
const EPTF_HTTP_Transport_ServerUserFunctions c_EPTF_HTTP_initServerUserFunctions :={
removePort := omit,
listen := omit,
createIncomingConn := omit,
removeIncomingConn := omit,
sendResponse := omit,
receiveMessage := omit,
receiveEvent := omit,
closePort := omit
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_GroupMode
//
// Purpose:
// Record to store information on a port group
//
// Elements:
// name - *charstring* *optional* - unique name of the group
// localHostInformation - <EPTF_HTTP_HostInformation> - local IP address
// and port
// remoteHostInformation - <EPTF_HTTP_HostInformation> - remote IP address
// and port
// numberOfPorts - *integer* - number of ports within the group to be
// created
// localportStep - *integer* - step of local port number after creation
// of each port
// remoteportStep - *integer* - step of remote port number after creation
// of each port
// instantConnOpen - *boolean* - instant connection open mode
// instantConnClose - *boolean* - instant connection close mode
// useSSL - *boolean* - use ssl mode
// userFunctions - <EPTF_HTTP_Transport_UserFunctions> *optional* -
// function references of group callback functions if needed
//
// Detailed Comments:
// Used for port group creation
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_GroupMode {
charstring name optional,
EPTF_HTTP_HostInformation localHostInformation,
EPTF_HTTP_HostInformation remoteHostInformation,
integer numberOfPorts,
integer localportStep,
integer remoteportStep,
boolean instantConnOpen,
boolean instantConnClose,
boolean useSSL,
EPTF_HTTP_Transport_UserFunctions userFunctions optional
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_PortMode
//
// Purpose:
// Record to store information on a port group
//
// Elements:
// name - *charstring* *optional* - unique name of the port
// localHostInformation - <EPTF_HTTP_HostInformation> - local IP address
// and port
// remoteHostInformation - <EPTF_HTTP_HostInformation> - remote IP address
// and port
// instantConnOpen - *boolean* - instant connection open mode
// instantConnClose - *boolean* - instant connection close mode
// useSSL - *boolean* - use ssl mode
// userFunctions - <EPTF_HTTP_Transport_UserFunctions> *optional* -
// function references of group callback functions if needed
//
// Detailed Comments:
// Used for port creation
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_PortMode {
charstring name optional,
EPTF_HTTP_HostInformation localHostInformation,
EPTF_HTTP_HostInformation remoteHostInformation,
boolean instantConnOpen,
boolean instantConnClose,
boolean useSSL,
EPTF_HTTP_Transport_UserFunctions userFunctions optional
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_ServerPortMode
//
// Purpose:
// Contains information to create a new listening port group.
//
// Elements:
// name - *charstring* - unique name of the port
// localHostInformation - <EPTF_HTTP_HostInformation> - local IP address
// and port
// instantConnClose - *boolean* - instant connection close mode
// userFunctions - <EPTF_HTTP_Transport_ListeningUserFunctions> *optional* -
// function references of group callback functions if needed
// buffer - *boolean* - buffering mode
// useSSL - *boolean* - use SSL socket
//
// Detailed Comments:
// Used for port creation
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_ServerPortMode{
charstring name,
EPTF_HTTP_HostInformation localHostInformation,
boolean instantConnClose,
EPTF_HTTP_Transport_ServerUserFunctions userFunctions optional,
boolean buffer,
boolean useSSL optional
}
///////////////////////////////////////////////////////////////////////////////
// const: c_EPTF_HTTP_initServerPortMode
//
// Purpose:
// -
//
///////////////////////////////////////////////////////////////////////////////
const EPTF_HTTP_Transport_ServerPortMode c_EPTF_HTTP_initServerPortMode :={
name := "",
localHostInformation := {"", -1},
instantConnClose := false,
userFunctions := omit,
buffer := false,
useSSL := omit
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_Function
//
// Purpose:
// Record to store an element of the function group database
//
// Elements:
// addPort - <EPTF_HTTP_Transport_GroupOperation_FT> - add port function ref
// removePort - <EPTF_HTTP_Transport_GroupOperation_FT> - remove port function ref
// selectPort - <EPTF_HTTP_Transport_SelectPort_FT> - select port function ref
// sendMessage - <EPTF_HTTP_Transport_SendFunction_FT> - send message function ref
// closePortOfUser - <EPTF_HTTP_Transport_SessionOperation_FT> - close port of user function ref
// freePortOfUser - <EPTF_HTTP_Transport_SessionOperation_FT> - free port of user function ref
// openPort - <EPTF_HTTP_Transport_OpenConnection_FT> - open port function ref
// closeConnection - <EPTF_HTTP_Transport_CloseConnection_FT> - close port function ref
// halfClosePort - <EPTF_HTTP_Transport_CloseConnection_FT> - half close port function ref
// receiveMessage - <EPTF_HTTP_Transport_ReceiveMessage_FT> - receive message function ref
// receiveEvent - <EPTF_HTTP_Transport_ReceiveEvent_FT> - receive event function ref
// listen - <EPTF_HTTP_Transport_Listen_FT> - open a listen port function ref
// createIncomingConn - <EPTF_HTTP_Transport_CreateIncomingConn_FT> - create incoming connection function ref
// removeIncomingConn - <EPTF_HTTP_Transport_RemoveIncomingConn_FT> *optional* - remove incoming connection function ref
// closePort - <EPTF_HTTP_Transport_PortOperation_FT> - close connection function ref
//
// Detailed Comments:
// A port group has a number of registerable and stateless callback
// functions to handle communication. These kind of function sets can
// be registered into the function database. This element contains
// one functions set.
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_Function
{
EPTF_HTTP_Transport_GroupOperation_FT addPort,
EPTF_HTTP_Transport_GroupOperation_FT removePort,
EPTF_HTTP_Transport_SelectPort_FT selectPort,
EPTF_HTTP_Transport_SendFunction_FT sendMessage,
EPTF_HTTP_Transport_SendResponse_FT sendResponse,
EPTF_HTTP_Transport_SessionOperation_FT closePortOfUser,
EPTF_HTTP_Transport_SessionOperation_FT freePortOfUser,
EPTF_HTTP_Transport_OpenConnection_FT openPort,
EPTF_HTTP_Transport_CloseConnection_FT closeConnection,
EPTF_HTTP_Transport_CloseConnection_FT halfClosePort,
EPTF_HTTP_Transport_ReceiveMessage_FT receiveMessage,
EPTF_HTTP_Transport_ReceiveEvent_FT receiveEvent,
EPTF_HTTP_Transport_Listen_FT listen,
EPTF_HTTP_Transport_CreateIncomingConn_FT createIncomingConn,
EPTF_HTTP_Transport_RemoveIncomingConn_FT removeIncomingConn,
EPTF_HTTP_Transport_PortOperation_FT closePort
}
///////////////////////////////////////////////////////////////////////////////
// const: c_HTTP_Transport_initFunction
//
// Purpose:
// -
//
///////////////////////////////////////////////////////////////////////////////
const EPTF_HTTP_Transport_Function c_HTTP_Transport_initFunction:=
{
addPort := null,
removePort := null,
selectPort := null,
sendMessage := null,
sendResponse := null,
closePortOfUser := null,
freePortOfUser := null,
openPort := null,
closeConnection := null,
halfClosePort := null,
receiveMessage := null,
receiveEvent := null,
listen := null,
createIncomingConn := null,
removeIncomingConn := null,
closePort := null
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_FunctionList
//
// Purpose:
// Function database for port groups
//
// Elements:
// record of <EPTF_HTTP_Transport_Function>
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record of EPTF_HTTP_Transport_Function EPTF_HTTP_Transport_FunctionList;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_PortInfo
//
// Purpose:
// A port connection database element
//
// Elements:
// groupIndex - *integer* - index of the port group in which the
// port is situated
// portIndex - *integer* - self index of the port within the port
// connection database
// connectionId - *integer* - connection id of the current port
// localhostInfoIdx - *integer* - localhost information database index to
// acquire local IP adress and port number
// remotehostInfoIdx - *integer* - remotehost information database index to
// acquire remote IP adress and port number
// state - <EPTF_HTTP_Transport_ConnectionState> - state of current port
// portType - <EPTF_HTTP_Transport_PortType> - port type
// buffer - *boolean* - buffering mode
// mesageBuffer - <EPTF_HTTP_Buffer> - buffer for sequencing outgoing responses
//
// Detailed Comments:
// A port group has a number of registerable and stateless callback
// functions to handle communication. These kind of function sets can
// be registered into the function database. This element contains
// one functions set.
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_PortInfo {
integer groupIndex,
integer portIndex,
integer connectionId,
integer sessionId,
integer portId,
integer localhostInfoIdx,
integer remotehostInfoIdx,
EPTF_HTTP_Transport_ConnectionState state,
EPTF_HTTP_Transport_PortType portType,
boolean buffer,
EPTF_HTTP_MessageBuffer messageBuffer optional
}
///////////////////////////////////////////////////////////////////////////////
// const: c_EPTF_HTTP_LocalTransport_initPortInfo
//
// Purpose:
// -
//
///////////////////////////////////////////////////////////////////////////////
const EPTF_HTTP_Transport_PortInfo c_EPTF_HTTP_LocalTransport_initPortInfo :={
groupIndex := -1,
portIndex := -1,
connectionId := -1,
sessionId := -1,
portId := -1,
localhostInfoIdx := -1,
remotehostInfoIdx := -1,
state := IDLE,
portType := OUTGOING_PORT,
buffer := false,
messageBuffer := omit
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_MessageBuffer
//
// Purpose:
// Message buffer for response sequencing.
//
// Elements:
// seqNums - <EPTF_HTTP_SeqNumMgmt> - sequence number management
// seqNum2messageIdxHM - *integer* - hashmap reference to map a sequence number to a message queue index
// messageQueue - <EPTF_FreeBusyQueue> - index management for the message queue
// httpMessages - <EPTF_OctetstringList> - http messages in the buffer
//
// Detailed Comments:
// In case of a pipelining on a persistent connection the server MUST send its
// responses to the requests in the same order that the requests were received.
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_MessageBuffer
{
EPTF_HTTP_RingBuffer seqNums,
integer seqNum2messageIdxHM,
EPTF_FreeBusyQueue messageQueue,
OctetStringList httpMessages
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_RingBuffer
//
// Purpose:
// Handles sequence numbers of the responses
//
// Elements:
// isSlotBusyHM - *integer* - to decide if a given slot is busy
// nextSeqNum - *integer* - the sequence number of the next incoming request
// waitForSeqNum - *integer* - the sequence number of the next response to send out
// usedSlots - *integer* - number of used slowts in the buffer
// maxSize - *integer* - maximum size of the buffer
//
// Detailed Comments:
// In case of a pipelining on a persistent connection the server MUST send its
// responses to the requests in the same order that the requests were received.
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_RingBuffer{
integer isSlotBusyHM,
integer nextSeqNum,
integer waitForSeqNum,
integer usedSlots,
integer maxSize
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_PortInfoList
//
// Purpose:
// Port connection database of a port group
//
// Elements:
// record of <EPTF_HTTP_Transport_PortInfo>
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record of EPTF_HTTP_Transport_PortInfo EPTF_HTTP_Transport_PortInfoList;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_PortGroup
//
// Purpose:
// An element of the port group database of the HTTP transport component
//
// Elements:
// name - *charstring* - unique name of the port group
// localHostInformation - <EPTF_HTTP_HostInformation> - base local IP
// address and port
// remoteHostInformation - <EPTF_HTTP_HostInformation> - base remote IP
// address and port
// currentPortId - *integer* - used to generate unique portId
// numberOfPorts - *integer* - number of ports within the group to be
// created
// localportStep - *integer* - step of local port number after creation
// of each port
// remoteportStep - *integer* - step of remote port number after creation
// of each port
// portDatabase - <EPTF_HTTP_Transport_PortInfoList> - port connection
// database of the group
// listeningPort - <EPTF_HTTP_Transport_PortInfo> *optional* - listening port info
// defaultFIdx - *integer* - function group database pointer
// portQueue - <EPTF_FreeBusyQueue> - FBQ to maintain status of ports
// within the group
// portStateQueue - <EPTF_FreeBusyQueue> - FBQ to maintain sending status
// of ports within the group
// useSSL - *boolean* - use ssl mode
// instantConnOpen - *boolean* - instant connection open mode
// instantConnClose - *boolean* - instant connection close mode
// buffer - *boolean* - buffer mode
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_PortGroup {
charstring name,
EPTF_HTTP_HostInformation baseLocalHostInformation,
EPTF_HTTP_HostInformation baseRemoteHostInformation,
integer currentPortId,
integer numberOfPorts,
integer localportStep,
integer remoteportStep,
EPTF_HTTP_Transport_PortInfoList portDatabase,
integer listeningPortIdx,
integer defaultFIdx,
EPTF_FreeBusyQueue portQueue,
EPTF_FreeBusyQueue portStateQueue,
boolean useSSL,
boolean instantConnOpen,
boolean instantConnClose,
boolean buffer
}
///////////////////////////////////////////////////////////////////////////////
// const: c_HTTP_Transport_initPortGroup
//
// Purpose:
// -
//
///////////////////////////////////////////////////////////////////////////////
const EPTF_HTTP_Transport_PortGroup c_HTTP_Transport_initPortGroup :=
{
name := "",
baseLocalHostInformation := {"", -1},
baseRemoteHostInformation := {"", -1},
currentPortId := 0,
numberOfPorts := 0,
localportStep := -1,
remoteportStep := -1,
portDatabase := {},
listeningPortIdx := -1,
defaultFIdx := -1,
portQueue := c_EPTF_emptyFreeBusyQueue,
portStateQueue := c_EPTF_emptyFreeBusyQueue,
useSSL := false,
instantConnOpen := false,
instantConnClose := false,
buffer := false
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_PortGroupList
//
// Purpose:
// Port group database of the HTTP transport component
//
// Elements:
// record of <EPTF_HTTP_Transport_PortGroup>
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record of EPTF_HTTP_Transport_PortGroup EPTF_HTTP_Transport_PortGroupList;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_NewPortGroup
//
// Purpose:
// Remote transport ASP API element for port group creation
//
// Elements:
// groupInfo - <EPTF_HTTP_Transport_GroupMode> - port group info
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_NewPortGroup {
EPTF_HTTP_Transport_GroupMode groupInfo
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_DeletePortGroup
//
// Purpose:
// Remote transport ASP API element for port group deletion
//
// Elements:
// groupId - *integer* - port group index of created port group
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_DeletePortGroup {
integer groupId
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_NewPort
//
// Purpose:
// Remote transport ASP API element for port creation
//
// Elements:
// portInfo - <EPTF_HTTP_Transport_PortMode> - port info
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_NewPort {
EPTF_HTTP_Transport_PortMode portInfo
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_NewServerPort
//
// Purpose:
// Remote transport ASP API element for a server port creation
//
// Elements:
// portInfo - <EPTF_HTTP_Transport_ServerPortMode> - server port info
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_NewServerPort {
EPTF_HTTP_Transport_ServerPortMode portInfo
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_DeletePort
//
// Purpose:
// Remote transport ASP API element for port deletion
//
// Elements:
// portId - *integer* - port group index of port to be deleted
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_DeletePort {
integer portId
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_AddPort
//
// Purpose:
// Remote transport ASP API element for add port to a port group
//
// Elements:
// groupId - *integer* - port group index of group to which a new port
// is to be added
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_AddPort {
integer groupId
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_RemovePort
//
// Purpose:
// Remote transport ASP API element for remove port from a port group
//
// Elements:
// groupId - *integer* - port group index of group from which a port
// is to be removed
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_RemovePort {
integer groupId
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_Send
//
// Purpose:
// Remote transport ASP API element for send a message
//
// Elements:
// groupId - *integer* - the ID of the group on which the message
// should be sent
// sessionId - *integer* - entity index as session id for current send
// outgoingMessage - *octetstring* - outgoing message
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_Send {
integer groupId,
integer sessionId,
octetstring outgoingMessage
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_ClosePortOfUser
//
// Purpose:
// Remote transport ASP API element for close port of user
//
// Elements:
// groupId - *integer* - the ID of the group on which the message
// should be sent
// sessionId - *integer* - entity index as session id for current send
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_ClosePortOfUser {
integer groupId,
integer sessionId
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_FreePortOfUser
//
// Purpose:
// Remote transport ASP API element for free port of user
//
// Elements:
// groupId - *integer* - the ID of the group on which the message
// should be sent
// sessionId - *integer* - entity index as session id for current send
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_FreePortOfUser {
integer groupId,
integer sessionId
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_Connect
//
// Purpose:
// Remote transport ASP API element for open a connection
//
// Elements:
// groupId - *integer* - the ID of the group whose connections should
// be opened
// sessionId - *integer* - entity index as session id for current open
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_Connect {
integer groupId,
integer sessionId
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_Close
//
// Purpose:
// Remote transport ASP API element for close a connection
//
// Elements:
// groupId - *integer* - the ID of the group whose connections should
// be closed
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_Close {
integer groupId
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_HalfClose
//
// Purpose:
// Remote transport ASP API element for half close a connection
//
// Elements:
// groupId - *integer* - the ID of the group whose connections should
// be half closed
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_HalfClose {
integer groupId
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_Listen
//
// Purpose:
// Remote transport ASP API element for opening a listen connection
//
// Elements:
// groupId - *integer* - the ID of the server group
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_Listen {
integer groupId
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_closePort
//
// Purpose:
// Remote transport ASP API element for closing a port
//
// Elements:
// groupId - *integer* - the ID of the group
// portId - *integer* - the port identifier
//
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_closePort{
integer groupId,
integer portId
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_SendResponse
//
// Purpose:
// Remote transport ASP API element for send a response.
//
// Elements:
// groupId - *integer* - the ID of the group on which the message
// should be sent
// portId - *integer* - the unique port identifier of the request
// msg - *octetstring* - outgoing response
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_SendResponse{
integer groupId,
integer portId,
integer seqNum,
octetstring msg
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_Result
//
// Purpose:
// Remote transport ASP API element for result notification
//
// Elements:
// groupId - *integer* - the ID of the group whose port got the event
// resultType - *integer* - event type
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_Result {
integer groupId,
integer sessionId,
integer resultType
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_Receive
//
// Purpose:
// Remote transport ASP API element for message reception handling
//
// Elements:
// groupId - *integer* - port group identifier of the request
// sessionId - *integer* - unique id of the request
// seqNum- *integer* - sequence number of the request
// reveivedMessage - *octetstring* - received message
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_Receive {
integer groupId,
integer sessionId,
integer seqNum,
octetstring reveivedMessage
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_Error
//
// Purpose:
// Remote transport ASP API element for error socket notification
//
// Elements:
// groupId - *integer* - the ID of the group whose port got the event
// result - <Result> - Contains IPL4 Result message
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_Error {
integer groupId,
integer sessionId,
Result result
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_ListenEvent
//
// Purpose:
// Remote transport ASP API element for listen socket event notification
//
// Elements:
// groupId - *integer* - port group ID
// hostInfo - <EPTF_HTTP_HostInformation> - listening address and port
// eventType - *integer* - event type
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_ListenEvent{
integer groupId,
EPTF_HTTP_HostInformation hostInfo,
integer eventType
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_ListenError
//
// Purpose:
// Remote transport ASP API element for listen socket error notification
//
// Elements:
// groupId - *integer* - port group ID
// hostInfo - <EPTF_HTTP_HostInformation> - listening address and port
// transportError - <EPTF_HTTP_Error> - error
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Transport_ListenError{
integer groupId,
EPTF_HTTP_HostInformation hostInfo,
EPTF_HTTP_Error transportError
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_PT
//
// Purpose:
// EPTF HTTP internal communication port
//
// Elements:
// EPTF_HTTP_Transport_NewPortGroup
// EPTF_HTTP_Transport_NewPort
// EPTF_HTTP_Transport_NewServerPort
// EPTF_HTTP_Transport_DeletePortGroup
// EPTF_HTTP_Transport_DeletePort
// EPTF_HTTP_Transport_AddPort
// EPTF_HTTP_Transport_RemovePort
// EPTF_HTTP_Transport_Send
// EPTF_HTTP_Transport_ClosePortOfUser
// EPTF_HTTP_Transport_FreePortOfUser
// EPTF_HTTP_Transport_Connect
// EPTF_HTTP_Transport_Close
// EPTF_HTTP_Transport_HalfClose
// EPTF_HTTP_Transport_Listen
// EPTF_HTTP_Transport_SendResponse
// EPTF_HTTP_Transport_Result
// EPTF_HTTP_Transport_Receive
// EPTF_HTTP_Transport_Error
// EPTF_HTTP_Transport_ListenEvent
// EPTF_HTTP_Transport_ListenError
// EPTF_HTTP_Transport_closePort
// integer
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type port EPTF_HTTP_Transport_PT message
{
inout EPTF_HTTP_Transport_NewPortGroup;
inout EPTF_HTTP_Transport_NewPort;
inout EPTF_HTTP_Transport_NewServerPort;
inout EPTF_HTTP_Transport_DeletePortGroup;
inout EPTF_HTTP_Transport_DeletePort;
inout EPTF_HTTP_Transport_AddPort;
inout EPTF_HTTP_Transport_RemovePort;
inout EPTF_HTTP_Transport_Send;
inout EPTF_HTTP_Transport_ClosePortOfUser;
inout EPTF_HTTP_Transport_FreePortOfUser;
inout EPTF_HTTP_Transport_Connect;
inout EPTF_HTTP_Transport_Close;
inout EPTF_HTTP_Transport_HalfClose;
inout EPTF_HTTP_Transport_Listen;
inout EPTF_HTTP_Transport_SendResponse
inout EPTF_HTTP_Transport_Result;
inout EPTF_HTTP_Transport_Receive;
inout EPTF_HTTP_Transport_Error;
inout EPTF_HTTP_Transport_ListenEvent;
inout EPTF_HTTP_Transport_ListenError;
inout EPTF_HTTP_Transport_closePort;
inout integer;
} with {extension "internal"}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Base_CTList
//
// Purpose:
// Routing component CT list
//
// Elements:
// record of <EPTF_Base_CT>
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record of EPTF_Base_CT EPTF_HTTP_Base_CTList;
}
///////////////////////////////////////////////////////////////////////////////
// Group: EPTF_HTTP_LocalTransport
//
// Purpose:
// The definitions of the EPTF HTTP Local Transport
//
///////////////////////////////////////////////////////////////////////////////
group EPTF_HTTP_LocalTransport {
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_LocalTransport_CT
//
// Purpose:
// EPTF HTTP local transport component
//
// Extends:
// EPTF_MessageBufferManager_CT
//
// EPTF_HTTP_LoggerClient_CT
//
// EPTF_HTTP_Transport_Logging_CT (this extends EPTF_Logging_CT)
//
// EPTF_CommPort_IPL4_CT
//
// EPTF_Base_CT
//
// Ports:
// pf_EPTF_HTTP_LocalTransport_commPort - <EPTF_HTTP_Transport_PT> - local transport communication port
//
// Timers:
// -
//
// Elements:
// vf_EPTF_HTTP_LocalTransport_receive - <EPTF_HTTP_messageProcess_FT> -
// receive message callback function pointer
// vf_EPTF_HTTP_LocalTransport_eventReceive - <EPTF_HTTP_eventReceive_FT> -
// receive event callback function pointer
// vf_EPTF_HTTP_LocalTransport_socketErrorReceive - <EPTF_HTTP_socketErrorReceive_FT> -
// receive socket error callback function pointer
// vf_EPTF_HTTP_LocalTransport_listenSocketEvent - <EPTF_HTTP_listenSocketEvent_FT> -
// receive lisent socket event callback function pointer
// vf_EPTF_HTTP_LocalTransport_listenSocketError - <EPTF_HTTP_listenSocketError_FT> -
// receive lisent socket error callback function pointer
// vf_EPTF_HTTP_messageSentHook - <fcb_EPTF_HTTP_messageSentHook> -
// callback function that is invoked after each HTTP message is sent
//
// v_EPTF_HTTP_LocalTransport_loggingEnabled - *integer* -
// the Variable of the GUI logging
// v_EPTF_HTTP_LocalTransport_guiEnabled - *boolean* - GUI Logging enabled
// v_EPTF_HTTP_LocalTransport_initialized - *boolean* -
// The component initialized variable
// v_EPTF_HTTPLocalTransport_lengthCalculationFunctions - <EPTF_HTTP_LocalTransport_MessageLengthCalculationFunctionList> -
// message length calcualtion function list
//
// v_EPTF_HTTP_LocalTransport_selfName - *charstring* - self name of the component
// v_EPTF_HTTP_Transport_groupQueue - <EPTF_FreeBusyQueue> - FBQ to maintain port groups
// v_EPTF_HTTP_Transport_portDB - <EPTF_HTTP_Transport_PortGroupList> - port group database
// v_EPTF_HTTP_Transport_functionDB - <EPTF_HTTP_Transport_FunctionList> - function database
//
// v_EPTF_HTTP_Transport_groupName2Idx_HM - *integer* - group name to group index hash map handle
// v_EPTF_HTTP_Transport_functions2Idx_HM - *integer* - function set to function database hash map handle
// v_EPTF_HTTP_Transport_remoteHostHashMap - *integer* - remote host hash map handle
// v_EPTF_HTTP_Transport_localHostHashMap - *integer* - local host hash map handle
// v_EPTF_HTTP_Transport_connId2GroupId_HM - *integer* - connection id to group index hash map handle
// v_EPTF_HTTP_Transport_connId2PortId_HM - *integer* - connection id to port index hash map handle
//
// v_nameIdx - *integer* - variable to store current highest port group name index
//
// v_resultNoWarning - <Result> - dummy variable to suppress warnings
// v_boolNoWarning - *boolean* - dummy variable to suppress warnings
// v_intNoWarning - *integer* - dummy variable to suppress warnings
//
// v_EPTF_HTTP_Transport_localHostInformationList - <EPTF_HTTP_HostInformationList> - local host
// information database
// v_EPTF_HTTP_Transport_remoteHostInformationList - <EPTF_HTTP_HostInformationList> - remote
// host information database
//
// v_EPTF_HTTP_Transport_OutgoingMessage - <EPTF_CommPort_IPL4_ASP_OutgoingMessage> -
// outgoing message
//
///////////////////////////////////////////////////////////////////////////////
type component EPTF_HTTP_LocalTransport_CT extends
EPTF_MessageBufferManager_CT,
EPTF_HTTP_Transport_Logging_CT,
EPTF_CommPort_IPL4_CT,
EPTF_Base_CT
{
var EPTF_HTTP_messageProcess_FT vf_EPTF_HTTP_LocalTransport_receive := null;
var EPTF_HTTP_eventReceive_FT vf_EPTF_HTTP_LocalTransport_eventReceive := null;
var EPTF_HTTP_socketErrorReceive_FT vf_EPTF_HTTP_LocalTransport_socketErrorReceive := null;
var EPTF_HTTP_listenSocketEvent_FT vf_EPTF_HTTP_LocalTransport_listenSocketEvent := null;
var EPTF_HTTP_listenSocketError_FT vf_EPTF_HTTP_LocalTransport_listenSocketError := null
var fcb_EPTF_HTTP_messageSentHook vf_EPTF_HTTP_messageSentHook := null;
var integer v_EPTF_HTTP_LocalTransport_loggingEnabled := -1;
var boolean v_EPTF_HTTP_LocalTransport_guiEnabled := false;
var boolean v_EPTF_HTTP_LocalTransport_initialized := false;
var EPTF_HTTP_LocalTransport_MessageLengthCalculationFunctionList v_EPTF_HTTPLocalTransport_lengthCalculationFunctions := {};
var EPTF_HTTP_Transport_GetGroupAndPort_FT vf_getGroupAndPort := null;
var EPTF_HTTP_Transport_GetGroup_FT vf_getGroup := null;
var charstring v_EPTF_HTTP_LocalTransport_selfName := "EPTF_HTTP_Transport";
var EPTF_FreeBusyQueue v_EPTF_HTTP_Transport_groupQueue;
var EPTF_HTTP_Transport_PortGroupList v_EPTF_HTTP_Transport_portDB := {};
var integer v_EPTF_HTTP_Transport_groupName2Idx_HM := -1;
var EPTF_HTTP_Transport_FunctionList v_EPTF_HTTP_Transport_functionDB := {};
var integer v_EPTF_HTTP_Transport_functions2Idx_HM := -1;
var integer v_EPTF_HTTP_Transport_connId2GroupId_HM := -1;
var integer v_EPTF_HTTP_Transport_connId2PortId_HM := -1;
var integer v_EPTF_HTTP_Transport_sessId2PortId_HM := -1;
var integer v_EPTF_HTTP_Transport_portId2Idx_HM := -1;
var integer v_nameIdx := 0;
var Result v_resultNoWarning;
var boolean v_boolNoWarning;
var integer v_intNoWarning;
var EPTF_HTTP_HostInformationList v_EPTF_HTTP_Transport_localHostInformationList := {};
var integer v_EPTF_HTTP_Transport_localHostHashMap := -1;
var EPTF_HTTP_HostInformationList v_EPTF_HTTP_Transport_remoteHostInformationList := {};
var integer v_EPTF_HTTP_Transport_remoteHostHashMap := -1;
var integer v_EPTF_HTTP_Transport_lastReceivedGroup := -1;
var EPTF_CommPort_IPL4_ASP_OutgoingMessage v_EPTF_HTTP_Transport_OutgoingMessage;
var integer v_EPTF_HTTP_Transport_bufferSize := tsp_EPTF_HTTP_bufferSize;
port EPTF_HTTP_Transport_PT pf_EPTF_HTTP_LocalTransport_commPort;
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_LocalTransport_CTList
//
// Purpose:
// Remote transport CT list
//
// Elements:
// record of <EPTF_HTTP_LocalTransport_CT>
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record of EPTF_HTTP_LocalTransport_CT EPTF_HTTP_LocalTransport_CTList;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_LocalTransport_MessageLengthCalculationFunctionList
//
// Purpose:
// Message length calculation function database
//
// Elements:
// record of <f_IPL4_getMsgLen>
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record of f_IPL4_getMsgLen
EPTF_HTTP_LocalTransport_MessageLengthCalculationFunctionList;
///////////////////////////////////////////////////////////////////////////////
// const: c_EPTF_HTTP_LocalTransport_idx_getMessageLength
//
// Purpose:
// -
//
///////////////////////////////////////////////////////////////////////////////
const integer c_EPTF_HTTP_LocalTransport_idx_getMessageLength := 0;
///////////////////////////////////////////////////////////
// const: c_EPTF_HTTP_LocalTransport_idx_getMessageLength4Diameter
//
// Purpose:
// -
//
///////////////////////////////////////////////////////////////////////////////
const integer c_EPTF_HTTP_LocalTransport_idx_getMessageLength4Diameter := 1;
///////////////////////////////////////////////////////////////////////////////
// const: c_EPTF_HTTP_LocalTransport_idx_getMessageLengthChunkedCoding
//
// Purpose:
// -
//
///////////////////////////////////////////////////////////////////////////////
const integer c_EPTF_HTTP_LocalTransport_idx_getMessageLengthChunkedCoding := 2;
///////////////////////////////////////////////////////////////////////////////
// const: Hash map name constants for Local transport
//
// Purpose:
// -
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_EPTF_HTTP_LocalTransport_HashMap_groupName2Idx := "EPTF HTTP: Group name to group index HashMap";
const charstring c_EPTF_HTTP_LocalTransport_HashMap_fnGrp2Idx := "EPTF HTTP: Function group to index HashMap";
const charstring c_EPTF_HTTP_LocalTransport_HashMap_localHost := "EPTF HTTP: Local Host HashMap";
const charstring c_EPTF_HTTP_LocalTransport_HashMap_remoteHost := "EPTF HTTP: Remote Host HashMap";
const charstring c_EPTF_HTTP_LocalTransport_HashMap_connId2PortGrp := "EPTF HTTP: Connection id to Port group index HashMap";
const charstring c_EPTF_HTTP_LocalTransport_HashMap_connId2Port := "EPTF HTTP: Connection id to Port index within port group HashMap";
const charstring c_EPTF_HTTP_LocalTransport_HashMap_sessId2Port := "EPTF HTTP: Session id to Port index within port group HashMap";
const charstring c_EPTF_HTTP_LocalTransport_HashMap_portId2Idx := "EPTF HTTP: Port id to Port index within port group HashMap";
const charstring c_EPTF_HTTP_LocalTransport_HashMap_isSlotBusy := "EPTF HTTP: Buffer queue HashMap";
const charstring c_EPTF_HTTP_LocalTransport_HashMap_seqNum2messageIdx := "EPTF HTTP: Sequence number to message queue index HashMap";
}
///////////////////////////////////////////////////////////////////////////////
// Group: EPTF_HTTP_RemoteTransport
//
// Purpose:
// The definitions of the EPTF HTTP Remote Transport
//
///////////////////////////////////////////////////////////////////////////////
group EPTF_HTTP_RemoteTransport
{
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_RemoteTransport_CT
//
// Purpose:
// EPTF HTTP remote transport component
//
// Extends:
// EPTF_Base_CT
// EPTF_HTTP_Transport_Logging_CT (this extends EPTF_Logging_CT)
//
// Ports:
// v_EPTF_HTTP_RemoteTransport_commPort - <EPTF_HTTP_Transport_PT> -
// internal communication port
//
// Timers:
// -
//
// Elements:
// v_EPTF_HTTP_RemoteTransport_selfName - *charstring* - self name of the
// component
// v_EPTF_HTTP_RemoteTransport_result - <EPTF_HTTP_Transport_Result> -
// Remote transport internal communication ASP for incoming events
// v_EPTF_HTTP_RemoteTransport_receive - <EPTF_HTTP_Transport_Receive> -
// Remote transport internal communication ASP for incoming messages
// v_EPTF_HTTP_RemoteTransport_error - <EPTF_HTTP_Transport_Error> -
// Remote transport internal communication ASP for error messages
// v_EPTF_HTTP_RemoteTransport_listenEvent - <EPTF_HTTP_Transport_ListenEvent> -
// Remote transport internal communication ASP for listening socket events
// v_EPTF_HTTP_RemoteTransport_listenError - <EPTF_HTTP_Transport_ListenError> -
// Remote transport internal communication ASP for listening socket errors
// vf_EPTF_HTTP_RemoteTransport_handleReceive - <EPTF_HTTP_messageProcess_FT> -
// receive callback function pointer
// vf_EPTF_HTTP_RemoteTransport_eventReceive - <EPTF_HTTP_eventReceive_FT> -
// receive event callback function pointer
// vf_EPTF_HTTP_RemoteTransport_socketErrorReceive - <EPTF_HTTP_socketErrorReceive_FT> -
// receive socket error callback function pointer
// v_EPTF_HTTP_RemoteTransport_default - *default* - remote transport
// default altstep handler
// v_EPTF_HTTP_RemoteTransport_initialized - *boolean* - remote transport
// component initialization state
// v_EPTF_HTTP_RemoteTransport_transportIdToConnId - *integer* - hash map
// index
// v_EPTF_HTTP_Mapper_halfClose - <EPTF_HTTP_Transport_HalfClose> - HTTP
// half close message ASP
//
///////////////////////////////////////////////////////////////////////////////
type component EPTF_HTTP_RemoteTransport_CT extends
EPTF_Base_CT,
EPTF_HTTP_Transport_Logging_CT,
EPTF_HashMap_CT
{
var charstring v_EPTF_HTTP_RemoteTransport_selfName := "EPTF_HTTP_RemoteTransport";
var EPTF_HTTP_Transport_Result v_EPTF_HTTP_RemoteTransport_result;
var EPTF_HTTP_Transport_Receive v_EPTF_HTTP_RemoteTransport_receive;
var EPTF_HTTP_Transport_Error v_EPTF_HTTP_RemoteTransport_error;
var EPTF_HTTP_Transport_ListenEvent v_EPTF_HTTP_RemoteTransport_listenEvent;
var EPTF_HTTP_Transport_ListenError v_EPTF_HTTP_RemoteTransport_listenError;
var EPTF_HTTP_messageProcess_FT vf_EPTF_HTTP_RemoteTransport_handleReceive := null;
var EPTF_HTTP_eventReceive_FT vf_EPTF_HTTP_RemoteTransport_eventReceive := null;
var EPTF_HTTP_socketErrorReceive_FT vf_EPTF_HTTP_RemoteTransport_socketErrorReceive := null;
var EPTF_HTTP_listenSocketEvent_FT vf_EPTF_HTTP_RemoteTransport_listenSocketEvent := null;
var EPTF_HTTP_listenSocketError_FT vf_EPTF_HTTP_RemoteTransport_listenSocketError := null
var default v_EPTF_HTTP_RemoteTransport_default;
var boolean v_EPTF_HTTP_RemoteTransport_initialized := false;
var integer v_EPTF_HTTP_RemoteTransport_transportIdToConnId := -1;
port EPTF_HTTP_Transport_PT v_EPTF_HTTP_RemoteTransport_commPort;
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_RemoteTransport_CTList
//
// Purpose:
// Remote transport CT list
//
// Elements:
// record of <EPTF_HTTP_RemoteTransport_CT>
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record of EPTF_HTTP_RemoteTransport_CT EPTF_HTTP_RemoteTransport_CTList;
}
///////////////////////////////////////////////////////////////////////////////
// const: Hash map name constants for Remote transport
//
// Purpose:
// -
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_EPTF_HTTP_RemoteTransport_HashMap_transportId2ConnId := "EPTF HTTP: Transport ID To Connection ID HashMap";
///////////////////////////////////////////////////////////////////////////////
// Group: EPTF_HTTP_Mapper
//
// Purpose:
// The definitions of the EPTF HTTP Mapper
//
///////////////////////////////////////////////////////////////////////////////
group EPTF_HTTP_Mapper
{
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Mapper_CT
//
// Purpose:
// EPTF HTTP mapper component
//
// Extends:
// EPTF_HTTP_LocalTransport_CT
//
// EPTF_Routing_CT
//
// EPTF_Base_CT
//
// Ports:
// v_EPTF_HTTP_Mapper_commPort - <EPTF_HTTP_Transport_PT> - internal
// communication port
//
// Timers:
// -
//
// Elements:
// v_EPTF_HTTP_Mapper_componentId - *integer* - component id for routing
// v_EPTF_HTTP_Mapper_default - *default* - handle of the Mapper's
// default altstep
// v_EPTF_HTTP_Mapper_componentRef - <EPTF_Base_CT> - store remote load
// generator component reference for routing
// v_EPTF_HTTP_Mapper_hashMapIdx - *integer* - mapper routing hash map
// v_EPTF_HTTP_Mapper_initialized - *boolean* - mapper initialization
// state
// v_EPTF_HTTP_Mapper_newPortGroup - <EPTF_HTTP_Transport_NewPortGroup> -
// HTTP new port group ASP
// v_EPTF_HTTP_Mapper_deletePortGroup - <EPTF_HTTP_Transport_DeletePortGroup> -
// HTTP delete port group ASP
// v_EPTF_HTTP_Mapper_newPort - <EPTF_HTTP_Transport_NewPort> - HTTP
// new port ASP
// v_EPTF_HTTP_Mapper_newServerPort - <EPTF_HTTP_Transport_NewServerPort> - HTTP
// new server port ASP
// v_EPTF_HTTP_Mapper_deletePort - <EPTF_HTTP_Transport_DeletePort> -
// HTTP delete port ASP
// v_EPTF_HTTP_Mapper_addPort - <EPTF_HTTP_Transport_AddPort> - HTTP
// HTTP add port from port group ASP
// v_EPTF_HTTP_Mapper_removePort - <EPTF_HTTP_Transport_RemovePort> -
// HTTP remove port from port group ASP
// v_EPTF_HTTP_Mapper_sendMessage - <EPTF_HTTP_Transport_Send> - HTTP
// HTTP send message ASP
// v_EPTF_HTTP_Mapper_connect - <EPTF_HTTP_Transport_Connect> - HTTP
// connect message ASP
// v_EPTF_HTTP_Mapper_close - <EPTF_HTTP_Transport_Close> - HTTP close
// message ASP
// v_EPTF_HTTP_Mapper_halfClose - <EPTF_HTTP_Transport_HalfClose> - HTTP
// half close message ASP
// v_EPTF_HTTP_Mapper_listen - <EPTF_HTTP_Transport_Listen> - HTTP
// listen message ASP
// v_EPTF_HTTP_Mapper_sendResponse - <EPTF_HTTP_Transport_SendResponse> - HTTP
// send response ASP
//
///////////////////////////////////////////////////////////////////////////////
type component EPTF_HTTP_Mapper_CT extends
EPTF_HTTP_LocalTransport_CT,
EPTF_Routing_CT,
EPTF_Base_CT
{
port EPTF_HTTP_Transport_PT v_EPTF_HTTP_Mapper_commPort;
var integer v_EPTF_HTTP_Mapper_sessionId;
var integer v_EPTF_HTTP_Mapper_portId;
var EPTF_IntegerList v_EPTF_HTTP_Mapper_componentId;
var default v_EPTF_HTTP_Mapper_default;
var EPTF_Base_CT v_EPTF_HTTP_Mapper_componentRef;
var integer v_EPTF_HTTP_Mapper_hashMapIdx := -1;
var boolean v_EPTF_HTTP_Mapper_initialized := false;
var EPTF_BooleanList v_EPTF_HTTP_Mapper_routingSetDatabase := {};
var EPTF_HTTP_Mapper_Routing_Database v_EPTF_HTTP_Mapper_inRoutingDatabase := {};
var EPTF_HTTP_MapperRoutingUri2LGenDB v_EPTF_HTTP_MapperRoutingUri2LGenDB;
private var EPTF_HTTP_MapperRoutingUri2LGen_GetUri_FT fcb_EPTF_HTTP_MapperRoutingUri2LGen_GetUri := null;
var EPTF_HTTP_Transport_NewPortGroup v_EPTF_HTTP_Mapper_newPortGroup;
var EPTF_HTTP_Transport_DeletePortGroup v_EPTF_HTTP_Mapper_deletePortGroup;
var EPTF_HTTP_Transport_NewPort v_EPTF_HTTP_Mapper_newPort;
var EPTF_HTTP_Transport_NewServerPort v_EPTF_HTTP_Mapper_newServerPort;
var EPTF_HTTP_Transport_DeletePort v_EPTF_HTTP_Mapper_deletePort;
var EPTF_HTTP_Transport_AddPort v_EPTF_HTTP_Mapper_addPort;
var EPTF_HTTP_Transport_RemovePort v_EPTF_HTTP_Mapper_removePort;
var EPTF_HTTP_Transport_Connect v_EPTF_HTTP_Mapper_connect;
var EPTF_HTTP_Transport_Send v_EPTF_HTTP_Mapper_sendMessage;
var EPTF_HTTP_Transport_ClosePortOfUser v_EPTF_HTTP_Mapper_closePortOfUser;
var EPTF_HTTP_Transport_FreePortOfUser v_EPTF_HTTP_Mapper_freePortOfUser;
var EPTF_HTTP_Transport_Close v_EPTF_HTTP_Mapper_close;
var EPTF_HTTP_Transport_HalfClose v_EPTF_HTTP_Mapper_halfClose;
var EPTF_HTTP_Transport_Listen v_EPTF_HTTP_Mapper_listen;
var EPTF_HTTP_Transport_SendResponse v_EPTF_HTTP_Mapper_sendResponse;
var EPTF_HTTP_Transport_closePort v_EPTF_HTTP_Mapper_closePort;
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Mapper_Routing
//
// Purpose:
// Routing setup element
//
// Elements:
// groupId - *integer* - group index
// compIdList - <EPTF_IntegerList> - component id list casted to integer
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Mapper_Routing {
integer groupId,
EPTF_IntegerList compIdList
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Mapper_Routing
//
// Purpose:
// Routing setup list
//
// Elements:
// record of <EPTF_HTTP_Mapper_Routing>
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record of EPTF_HTTP_Mapper_Routing EPTF_HTTP_Mapper_RoutingList;
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Mapper_Routing_DBE
//
// Purpose:
// Routing database element
//
// Elements:
// ptr - *integer* - next component id list pointer to send
// size - *integer* - component id list size
// compIdList - <EPTF_IntegerList> - component id list casted to integer
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record EPTF_HTTP_Mapper_Routing_DBE {
integer ptr,
integer size,
EPTF_IntegerList compIdList
}
///////////////////////////////////////////////////////////////////////////////
// const: c_EPTF_HTTP_initRoutingDBE
//
// Purpose:
// -
//
///////////////////////////////////////////////////////////////////////////////
const EPTF_HTTP_Mapper_Routing_DBE c_EPTF_HTTP_initRoutingDBE :=
{
ptr := 0,
size := 0,
compIdList := {}
}
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Mapper_Routing_Database
//
// Purpose:
// Routing database
//
// Elements:
// record of <EPTF_HTTP_Mapper_Routing_DBE>
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////////////////////////
type record of EPTF_HTTP_Mapper_Routing_DBE EPTF_HTTP_Mapper_Routing_Database;
const charstring c_EPTF_HTTP_Transport_hashMapName_uri2idxHash := "SIP: uri2Idx";
type record EPTF_HTTP_MapperRoutingUri2LGenDB {
integer uri2lgenIdxHash
}
type function EPTF_HTTP_MapperRoutingUri2LGen_GetUri_FT() runs on self return charstring;
///////////////////////////////////////////////////////////////////////////////
// const: Hash map name constants for Mapper
//
// Purpose:
// -
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_EPTF_HTTP_Mapper_HashMap_routing := "EPTF HTTP: Routing HashMap";
}
///////////////////////////////////////////////////////////////////////////////
// Group: EPTF_HTTP_Transport_Logging
//
// Purpose:
// The definitions of the EPTF HTTP Transport Logging
//
///////////////////////////////////////////////////////////////////////////////
group EPTF_HTTP_Transport_Logging
{
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_HTTP_Transport_Logging_CT
//
// Purpose:
// Common logging component for Local/Remote transport
//
// Extends:
// EPTF_Logging_CT
//
// Ports:
// -
//
// Timers:
// -
//
// Elements:
// v_EPTF_HTTP_Transport_loggingMaskId - *integer* - logging mask id
//
///////////////////////////////////////////////////////////////////////////////
type component EPTF_HTTP_Transport_Logging_CT extends EPTF_Logging_CT
{
// logging
var integer v_EPTF_HTTP_Transport_loggingMaskId := c_EPTF_Logging_invalidMaskId;
var integer v_EPTF_HTTP_Transport_bufferLoggingMaskId := c_EPTF_Logging_invalidMaskId;
}
///////////////////////////////////////////////////////////////////////////////
// Constant: c_EPTF_HTTP_Transport_loggingEventClasses
//
// Purpose:
// list of logging event class names used on the EPTF HTTP
// Transport component
//
// Detailed Comments:
// <EPTF_Logging_EventClassPrefixList> { "Error", "Warning", "Debug" }
///////////////////////////////////////////////////////////////////////////////
const EPTF_Logging_EventClassPrefixList
c_EPTF_HTTP_Transport_loggingEventClasses := { "Error", "Warning", "Debug", "BufferWarning", "BufferDebug"};
///////////////////////////////////////////////////////////////////////////////
// Constant: c_EPTF_HTTP_Transport_loggingClassIdx_Error
//
// Purpose:
// logging class index for Error
//
// Detailed Comments:
// *0*
///////////////////////////////////////////////////////////////////////////////
const integer c_EPTF_HTTP_Transport_loggingClassIdx_Error := 0;
///////////////////////////////////////////////////////////////////////////////
// Constant: c_EPTF_HTTP_Transport_loggingClassIdx_Warning
//
// Purpose:
// logging class index for Warning
//
// Detailed Comments:
// *1*
///////////////////////////////////////////////////////////////////////////////
const integer c_EPTF_HTTP_Transport_loggingClassIdx_Warning := 1;
///////////////////////////////////////////////////////////
// Constant: c_EPTF_HTTP_Transport_loggingClassIdx_Debug
//
// Purpose:
// logging class index for Debug
//
// Detailed Comments:
// *2*
///////////////////////////////////////////////////////////////////////////////
const integer c_EPTF_HTTP_Transport_loggingClassIdx_Debug := 2;
///////////////////////////////////////////////////////////
// Constant: c_EPTF_HTTP_Transport_loggingClassIdx_BufferWarning
//
// Purpose:
// logging class index for Buffer debug warning logging.
//
// Detailed Comments:
// *0*
///////////////////////////////////////////////////////////////////////////////
const integer c_EPTF_HTTP_Transport_loggingClassIdx_BufferWarning := 3;
///////////////////////////////////////////////////////////
// Constant: c_EPTF_HTTP_Transport_loggingClassIdx_BufferDebug
//
// Purpose:
// logging class index for Buffer debug logging.
//
// Detailed Comments:
// *1*
///////////////////////////////////////////////////////////////////////////////
const integer c_EPTF_HTTP_Transport_loggingClassIdx_BufferDebug := 4;
}
///////////////////////////////////////////////////////////
// Type: fcb_EPTF_HTTP_messageSentHook
//
// Purpose: Message hook for post-processing HTTP message sent.
//
///////////////////////////////////////////////////////////
type function fcb_EPTF_HTTP_messageSentHook(in integer pl_eIdx, in octetstring pl_httpMessage) runs on self;
}//end of module
with {
extension "version <RnXnn>"
}