syntax = "proto3"; package service.v1; option go_package = "protolab/gen/service/v1;servicev1"; message TelemetryData { string device_id = 1; int64 timestamp = 2; double temperature = 3; int32 battery_level = 4; } message PingRequest { int64 timestamp = 1; } message RequestWrapper { oneof payload { TelemetryData send_telemetry = 1; PingRequest ping = 2; } } message TelemetryResponse { enum ResultCode { RESULT_CODE_UNSPECIFIED = 0; RESULT_CODE_SUCCEEDED = 1; RESULT_CODE_FAILED = 2; } ResultCode result_code = 1; } message PingResponse { int64 server_timestamp = 1; } message ResponseWrapper { oneof payload { TelemetryResponse telemetry_resp = 1; PingResponse ping_resp = 2; } }