Protocol Documentation¶
Table of Contents¶
monitor/monitor.proto¶
MonitorConfig¶
Tells the monitor which target to open and provides additional parameters that might be needed to configure the target or the monitor itself.
Field | Type | Label | Description |
---|---|---|---|
target | string | The target name. | |
type | MonitorConfig.TargetType | ||
additionalConfig | google.protobuf.Struct | Additional parameters that might be needed to configure the target or the monitor itself. |
StreamingOpenReq¶
The top-level message sent by the client for the StreamingOpen
method. Multiple StreamingOpenReq
messages can be
sent but the first message must contain a monitor_config
message to initialize the monitor target. All subsequent
messages must contain bytes to be sent to the target and must not contain a monitor_config
message.
Field | Type | Label | Description |
---|---|---|---|
monitorConfig | MonitorConfig | Provides information to the monitor that specifies which is the target. The first StreamingOpenReq message must contain a monitor_config message. |
|
data | bytes | The data to be sent to the target being monitored. |
StreamingOpenResp¶
Field | Type | Label | Description |
---|---|---|---|
data | bytes | The data received from the target. |
MonitorConfig.TargetType¶
Name | Number | Description |
---|---|---|
SERIAL | 0 |
Monitor¶
Service that abstracts a Monitor usage
Method Name | Request Type | Response Type | Description |
---|---|---|---|
StreamingOpen | StreamingOpenReq stream | StreamingOpenResp stream | Open a bidirectional monitor stream. This can be used to implement something similar to the Arduino IDE's Serial Monitor. |
Scalar Value Types¶
.proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
---|---|---|---|---|---|---|---|---|
double | double | double | float | float64 | double | float | Float | |
float | float | float | float | float32 | float | float | Float | |
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
bool | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | |
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |