/*
 * Copyright 2021 The Dapr Authors
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *     http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
limitations under the License.
*/

syntax = "proto3";

package daprtests;

option java_outer_classname = "MethodInvokeServiceProtos";
option java_package = "io.dapr.it";

service MethodInvokeService {
  rpc PostMessage (PostMessageRequest) returns (PostMessageResponse) {}
  rpc DeleteMessage (DeleteMessageRequest) returns (DeleteMessageResponse) {}
  rpc GetMessages (GetMessagesRequest) returns (GetMessagesResponse) {}
  rpc Sleep (SleepRequest) returns (SleepResponse) {}
}

message PostMessageRequest {
  int32 id = 1;
  string message = 2;
}

message PostMessageResponse {
}

message DeleteMessageRequest {
  int32 id = 1;
}

message DeleteMessageResponse {
}

message GetMessagesRequest {
}

message GetMessagesResponse {
  map<int32, string> messages = 1;
}

message SleepRequest {
  int32 seconds = 1;
}

message SleepResponse {
}
