syntax = "proto3"; package grpc; option go_package = "internal/pkg/grpc"; service device { // groups basic device interactions // get/set name based on request rpc Name(NameRequest) returns (NameResponse) } message NameRequest { // empty for future expansion string Name = 1; } message NameResponse { string Name = 1; } service sensor { // sensor specific functions rpc Reading(ReadingRequest) returns (ReadingResponse) rpc SampleRate(SampleRateRequest) returns (SampleRateResponse) } message ReadingRequest { // empty } message ReadingResponse { string Reading = 1; // formatted reading "9.7 pH" int64 Timestamp = 2; // when the reading was taken } message SampleRateRequest { int32 SampleRate = 1; // 0 to return current sample rate, value in seconds } message SampleRateResponse { int32 SampleRate = 1; // returns the set sample rate }