|
EpcTools
An event based multi-threaded C++ development framework.
|
Contains the class definitions to support the PFCP protocol stack. More...
#include <atomic>#include <unordered_map>#include <utility>#include "epctools.h"#include "eip.h"#include "esocket.h"#include "eteid.h"#include "etimerpool.h"#include "ememory.h"Go to the source code of this file.
Classes | |
| class | PFCP::Configuration |
| Contains all of the configuration values used in the PFCP stack. More... | |
| class | PFCP::SequenceManager |
| Allocates and deallocates sequence numbers used in PFCP request messages. Each "slice" should have it's own instance of this object. More... | |
| class | PFCP::SeidManager |
| Allocates and deallocates SEID's (PFCP session ID's). Each "slice" should have it's own instance of this object. More... | |
| class | PFCP::FqSeid |
| Represents a Fully Qualified SEID. This combines an IP address with a SEID. More... | |
| class | PFCP::NodeSocket |
| Encapsulates the UDP Socket functionality used to communicate with a PFCP peer. More... | |
| class | PFCP::SessionBase |
| Represents a PFCP session. It is expected that a developer utilizing this library will derive their own specialized session object from this class. More... | |
| class | PFCP::Node |
| Contains the basic Node functionality common to both a LocalNode and a RemoteNode. More... | |
| class | PFCP::RemoteNode |
| Represents a remote or peer PFCP node or host. More... | |
| class | PFCP::RemoteNodeStateChangeEvent |
| class | PFCP::RemoteNodeRestartEvent |
| class | PFCP::LocalNode |
| Represents the local PFCP node. More... | |
| class | PFCP::LocalNodeStateChangeEvent |
| class | PFCP::AppMsg |
| Contains the base functionality for all aplication messages. More... | |
| class | PFCP::AppMsgReq |
| Represents a request application message. More... | |
| class | PFCP::AppMsgNodeReq |
| Represents a request application node message (not associated with a session). More... | |
| class | PFCP::AppMsgSessionReq |
| Represents a request application session message. More... | |
| class | PFCP::AppMsgRsp |
| Represents a response application message. More... | |
| class | PFCP::AppMsgNodeRsp |
| Represents a response application message. More... | |
| class | PFCP::AppMsgSessionRsp |
| Represents a response application message. More... | |
| class | PFCP::Translator |
| The PFCP Translator is used to encode and decode PFCP messages. This is a pure virtual base class that needs to be overridden to support each 3GPP PFCP release. More... | |
| class | PFCP::ApplicationWorkGroupBase |
| class | PFCP::ApplicationWorkGroup< TWorker > |
| The PFCP application work group template. This template contains the common event queue for the application worker threads. More... | |
| class | PFCP::ApplicationWorker |
| The application worker thread class. The various virtual methods should be overridden to implement application specific behavior. Any additional event handlers can be added to handle application specific (non PFCP) events. More... | |
Namespaces | |
| PFCP | |
| PFCP stack namespace. | |
Typedefs | |
| typedef std::shared_ptr< SessionBase > | PFCP::SessionBaseSPtr |
| typedef std::unordered_map< Seid, SessionBaseSPtr > | PFCP::SessionBaseSPtrUMap |
| typedef std::shared_ptr< Node > | PFCP::NodeSPtr |
| typedef std::unordered_map< EIpAddress, RemoteNodeSPtr > | PFCP::RemoteNodeUMap |
| typedef std::pair< EIpAddress, RemoteNodeSPtr > | PFCP::RemoteNodeUMapPair |
| typedef std::unordered_map< EIpAddress, LocalNodeSPtr > | PFCP::LocalNodeUMap |
| typedef std::pair< EIpAddress, LocalNodeSPtr > | PFCP::LocalNodeUMapEIpAddressPair |
| typedef std::pair< ULong, LocalNodeSPtr > | PFCP::LocalNodeUMapULongPair |
| typedef AppMsg * | PFCP::AppMsgPtr |
| typedef AppMsgReq * | PFCP::AppMsgReqPtr |
| typedef AppMsgNodeReq * | PFCP::AppMsgNodeReqPtr |
| typedef AppMsgSessionReq * | PFCP::AppMsgSessionReqPtr |
| typedef AppMsgRsp * | PFCP::AppMsgRspPtr |
| typedef AppMsgNodeRsp * | PFCP::AppMsgNodeRspPtr |
| typedef AppMsgSessionRsp * | PFCP::AppMsgSessionRspPtr |
Enumerations | |
| enum | PFCP::ApplicationEvents : UInt { PFCP::ApplicationEvents::RcvdReq = (APPLICATION_BASE_EVENT + 1), PFCP::ApplicationEvents::RcvdRsp = (APPLICATION_BASE_EVENT + 2), PFCP::ApplicationEvents::ReqTimeout = (APPLICATION_BASE_EVENT + 3), PFCP::ApplicationEvents::LocalNodeStateChange = (APPLICATION_BASE_EVENT + 4), PFCP::ApplicationEvents::RemoteNodeStateChange = (APPLICATION_BASE_EVENT + 5), PFCP::ApplicationEvents::RemoteNodeRestart = (APPLICATION_BASE_EVENT + 6), PFCP::ApplicationEvents::SndReqError = (APPLICATION_BASE_EVENT + 9), PFCP::ApplicationEvents::SndRspError = (APPLICATION_BASE_EVENT + 8), PFCP::ApplicationEvents::EncodeReqError = (APPLICATION_BASE_EVENT + 9), PFCP::ApplicationEvents::EncodeRspError = (APPLICATION_BASE_EVENT + 10), PFCP::ApplicationEvents::DecodeReqError = (APPLICATION_BASE_EVENT + 11), PFCP::ApplicationEvents::DecodeRspError = (APPLICATION_BASE_EVENT + 12) } |
| The events that will be received by the application work group. More... | |
Functions | |
| Void | PFCP::Initialize () |
| Initializes/starts the PFCP stack. This should be called after setting the initial configuration values. More... | |
| Void | PFCP::Uninitialize () |
| Uninitializes/stops the PFCP stack. More... | |
| PFCP::DECLARE_ERROR (SessionBase_LocalSeidAlreadySet) | |
| PFCP::DECLARE_ERROR (SessionBase_RemoteSeidAlreadySet) | |
Contains the class definitions to support the PFCP protocol stack.
1.8.11