RniService.ned

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

Name Type Description
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.

Source code

//
//                  Simu5G
//
// Copyright (C) 2019-2021 Giovanni Nardini, Giovanni Stea, Antonio Virdis et al. (University of Pisa)
// Copyright (C) 2022-2026 Giovanni Nardini, Giovanni Stea et al. (University of Pisa)
//
// This file is part of a software released under the license included in file
// "license.pdf". Please read LICENSE and README files before using it.
// The above files and the present reference are part of the software itself,
// and cannot be removed from it.
//

package simu5g.mec.platform.services.RniService;


import simu5g.mec.platform.services.base.IMecService;
import inet.applications.contract.IApp;

//
// 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);
}