RniService

Package: simu5g.mec.platform.services.RniService

RniService

simple module

Implements a subset of the Radio Network Information Service API defined by the ETSI GS MEC 012 specification. It exposes a REST API that allows MEC applications to retrieve layer-2 measurements related to a User Equipment (UE) or base station.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Parameters

Name Type Default value Description
requestQueueSize int 0
subscriptionQueueSize int 0
localAddress string ""

Local address; may be left empty ("")

localPort int 1000

localPort number to listen on

requestServiceTime double 0.5us
subscriptionServiceTime double 0.5us
loadGenerator bool false
betaa double 0

Used only if loadGenerator is true

numBgApps int 0

Used only if loadGenerator is true

serverThreadClass string "simu5g.mec.platform.services.base.SocketManager"
serviceName string "RniService"
serviceVersion string "v2"
serviceSerialize string "JSON"
transportId string "RNIAPI"
transportName string "RNIAPI"
transportType string "REST_HTTP"
transportProtocol string "HTTP"
catId string ""
catName string "RNI"
catUri string ""
catVersion string "v2"
scopeOfLocality string "MEC_HOST"
consumedLocalOnly bool true
binderModule string "binder"

Properties

Name Value Description
display i=block/app

Gates

Name Direction Size Description
socketIn input
socketOut output

Signals

Name Type Unit Description
loadGeneratorNumBackgroundRequests
responseTime

Statistics

Name Title Source Record Unit Interpolation Mode Description
loadGeneratorNumBackgroundRequests Load Generator Background Requests Count mean, vector
responseTime Response time of foreground requests mean, vector

Source code

//
// Implements a subset of the Radio Network Information Service API defined by the ETSI
// GS MEC 012 specification. It exposes a REST API that allows MEC applications to retrieve
// layer-2 measurements related to a User Equipment (UE) or base station.
//
simple RniService like IMecService, IApp
{
    parameters:
        int requestQueueSize = default(0);
        int subscriptionQueueSize = default(0);
        string localAddress = default(""); // Local address; may be left empty ("")
        int localPort = default(1000);     // localPort number to listen on

        double requestServiceTime @unit(s) = default(0.5us);
        double subscriptionServiceTime @unit(s) = default(0.5us);

        bool loadGenerator = default(false);
        double betaa = default(0);  // Used only if loadGenerator is true
        int numBgApps = default(0); // Used only if loadGenerator is true


        string serverThreadClass = default("simu5g.mec.platform.services.base.SocketManager");

        string serviceName = default("RniService");
        string serviceVersion = default("v2");
        string serviceSerialize = default("JSON");

        string transportId = default("RNIAPI");
        string transportName = default("RNIAPI");
        string transportType = default("REST_HTTP");
        string transportProtocol = default("HTTP");

        string catId = default("");
        string catName = default("RNI");
        string catUri = default("");
        string catVersion = default("v2");

        string scopeOfLocality = default("MEC_HOST");
        bool consumedLocalOnly = default(true);

        string binderModule = default("binder");

        @display("i=block/app");
        @signal[loadGeneratorNumBackgroundRequests];
        @statistic[loadGeneratorNumBackgroundRequests](title="Load Generator Background Requests Count"; record=mean,vector);
        @signal[responseTime];
        @statistic[responseTime](title="Response time of foreground requests"; record=mean,vector);

    gates:
        input socketIn @labels(TcpCommand/up);
        output socketOut @labels(TcpCommand/down);
}

File: src/simu5g/mec/platform/services/RniService/RniService.ned