Application A uses a this proto file
message The_message
{
enum The_enum
{
one = 1;
two = 2;
}
required The_enum the_enum = 1;
}
Application B uses the next version of the file. It is similar except that it has one more enum field
three = 3;
What happens if Application B sends a message to Application A using the three
enum?
The protobuf documentation says
if you try to provide a different value, the parser will treat it like an unknown field
So the enum three
becomes an unknown field. Which would be fine if the_enum
were optional, but it is a required field.
Will Application A be able to parse the message correctly?
Are enums not meant to be extended this way?