syntax = "proto3"; package iot.polling; import "types.proto"; service RequestUpdateService { rpc PollForUpdate(PollRequest) returns (PollResponse); }; message PollRequest { string certificate = 1; string uuid = 2; repeated iot.types.DeviceCapabilityStatus updatedCapabilities = 3; bytes signature = 4; uint64 timestamp = 5; }; message PollResponse { PollingOption hasUpdate = 1; repeated Update updates = 2; bytes signature = 4; uint64 timestamp = 5; }; enum PollingOption { UNKNOWN = 0; NONE = 1; SOME = 2; DEVICE_NOT_FOUND = 3; INVALID_SIGNATURE = 4; } message Update { string capability = 1; optional float value = 2; }