RniService

Package: simu5g.mec.platform.services.RniService

simple module RniService

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.

simu5g.mec.platform.services.RniService.RniServiceRniServicesimple

Inheritance 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