Skip to content
Snippets Groups Projects
Select Git revision
  • 95a24959dbc67f67c28f4f4715df6e48f6ebd444
  • master default protected
  • external_files_etc
3 results

test.cpp

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    ModeliRpc.proto 3.98 KiB
    // Language defintion
    syntax = "proto3";
    // Will be the default namespace
    package ModeliRpc;
    
    // Service must be offered by a ModeliChart Backend
    // Default Port ist 52062
    service ModeliBackend {
        // Play the simulation infinetly in realtime
        rpc Play (PlayRequest) returns (PlayResponse);
        // Play the simulation as fast as possible (fast forwad)
        rpc PlayFast (PlayFastRequest) returns (PlayFastResponse);
        // Pause the simulation without resetting it
        rpc Pause (PauseRequest) returns (PauseResponse);
        // Halt and reset the simulation
        rpc Stop (StopRequest) returns (StopResponse);
        
        // Add a new Fmu to the simulation, transfer it via chunks
        rpc AddFmu (stream AddFmuRequest) returns (AddFmuResponse);
        // Remove a Fmu from the simulation
        rpc RemoveFmu (RemoveFmuRequest) returns (RemoveFmuResponse);
        
        // Add a ChannelLink to the simulation
        rpc AddChannelLink (AddChannelLinkRequest) returns (AddChannelLinkResponse);
        // Remove a ChannelLink from the simulation
        rpc RemoveChannelLink (RemoveChannelLinkRequest) returns (RemoveChannelLinkResponse);
        
        // Set int values in one of the fmus
        rpc SetInt (SetIntRequest) returns (SetIntResponse);
        // Set real values in one of the fmus
        rpc SetReal (SetRealRequest) returns (SetRealResponse);
        // Set bool values in one of the fmus
        rpc SetBool (SetBoolRequest) returns (SetBoolResponse);
        // Set string values in one of the fmus   
        rpc SetString (SetStringRequest) returns (SetStringResponse);
        
        // Stream simulation results to the client
        rpc NewValues (NewValuesRequest) returns (stream NewValuesResponse);
        // Stream log messages to the client
        rpc Log (LogRequest) returns (stream LogResponse);
    }
    
    // The metadata of a ChannelLink
    message ChannelLink {
        string master_instance_name = 1;
        string slave_instance_name = 2;
        uint32 master_vr = 3;
        uint32 slave_vr = 4;
        double factor = 5;
        double offset = 6;
    }
    
    // Request & Response definitions
    message PlayRequest {}
    
    message PlayResponse {
        int32 status = 1;
    }
    
    message PlayFastRequest {
        double  time = 1;
    }
    
    message PlayFastResponse {
        int32 status = 1;
    }
    
    message PauseRequest {}
    
    message PauseResponse {}
    
    message StopRequest {}
    
    message StopResponse {
        int32 status = 1;
    }
    
    message AddFmuRequest {
        string instance_name = 1;
        bytes chunk = 2;
    }
    
    message AddFmuResponse {
        bool success = 1;
    }
    
    message RemoveFmuRequest {
        string instance_name = 1;
    }
    
    message RemoveFmuResponse {
        bool success = 1;
    }
    
    message AddChannelLinkRequest {
        ChannelLink channel_link = 1;
    }
    
    message AddChannelLinkResponse {
        bool success = 1;
    }
    
    message RemoveChannelLinkRequest {
        ChannelLink channel_link = 1;
    }
    
    message RemoveChannelLinkResponse {
        bool success = 1;
    }
    
    message IntValues {
        repeated uint32 vrs = 1;
        repeated int32 values = 2;
    }
    
    message SetIntRequest {
        string instance_name = 1;
        IntValues values = 2;
    }
    
    message SetIntResponse {
        int32 status = 1;
    }
    
    message RealValues {
        repeated uint32 vrs = 1;
        repeated double values = 2;
    }
    
    message SetRealRequest {
        string instance_name = 1;
        RealValues values = 2;
    }
    
    message SetRealResponse {
        int32 status = 1;
    }
    
    message BoolValues {
        repeated uint32 vrs = 1;
        repeated int32 values = 2;
    }
    
    message SetBoolRequest {
        string instance_name = 1;
        BoolValues values = 2;
    }
    
    message SetBoolResponse {
        int32 status = 1;
    }
    
    message StringValues {
        repeated uint32 vrs = 1;
        repeated string values = 2;
    }
    
    message SetStringRequest {
        string instance_name = 1;
        StringValues values = 2;
    }
    
    message SetStringResponse {
        int32 status = 1;
    }
    
    message NewValuesRequest {}
    
    message NewValuesResponse {
        double timestamp = 1;
        IntValues int_values = 2;
        RealValues real_values = 3;
        BoolValues bool_values = 4;
        StringValues string_values = 5;
        string instance_name = 6;
    }
    
    message LogRequest {}
    
    message LogResponse {
        string instance_name = 1;
        int32 status = 2;
        string message = 3;
    }