Skip to content

Protocol Documentation

Table of Contents

Top

api/types/change/types.proto

Status

Status is the status of a NetworkChange

Field Type Label Description
phase Phase 'phase' is the current phase of the NetworkChange
state State 'state' is the state of the change within a Phase
reason Reason 'reason' is a failure reason
message string message is a result message
incarnation uint64 incarnation is the status incarnation number

Phase

Phase is the phase of a NetworkChange

Name Number Description
CHANGE 0 CHANGE indicates the change has been requested
ROLLBACK 1 ROLLBACK indicates a rollback has been requested for the change

Reason

Reason is a reason for a FAILED state

Name Number Description
NONE 0 NONE indicates no error has occurred
ERROR 1 ERROR indicates an error occurred when applying the change

State

State is the state of a phase

Name Number Description
PENDING 0 PENDING indicates the phase is pending
COMPLETE 2 COMPLETE indicates the phase is complete
FAILED 3 FAILED indicates the phase failed

Scalar Value Types

.proto Type Notes C++ Type Java Type Python Type
double double double float
float 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
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
uint32 Uses variable-length encoding. uint32 int int/long
uint64 Uses variable-length encoding. uint64 long int/long
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long
sfixed32 Always four bytes. int32 int int
sfixed64 Always eight bytes. int64 long int/long
bool bool boolean boolean
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode
bytes May contain any arbitrary sequence of bytes. string ByteString str