// // gRPC service definition for the RubyRobot
. // syntax = “proto3”;
import “google/protobuf/empty.proto”;
option java_multiple_files = true; option java_package = “net.avilla.netflix.studio.robot”; option java_outer_classname = “RobotProto”; option objc_class_prefix = “RBT”;
package RubyRobot
;
// // Service definitions // service RubyRobot
{
rpc Left(google.protobuf.Empty) returns (RubyRobotResponse) {} rpc Move(google.protobuf.Empty) returns (RubyRobotResponse) {} rpc Place(RubyRobotRequest) returns (RubyRobotResponse) {} rpc Remove(google.protobuf.Empty) returns (google.protobuf.Empty) {} rpc Report(google.protobuf.Empty) returns (RubyRobotResponse) {} rpc Right(google.protobuf.Empty) returns (RubyRobotResponse) {}
}
// // Message type definitions // message RubyRobotRequest {
int32 x = 1; int32 y = 2; enum Direction { // Clockwise from NORTH NORTH=0; EAST =1; SOUTH=2; WEST =3; } Direction direction = 3;
}
message RubyRobotError {
int32 error = 1; string message = 2;
}
message RubyRobotResponse {
oneof response { RubyRobotRequest current_state = 1; RubyRobotError error = 2; }
}