Added the field name to all CodedOutputStream.Write??? calls
Refactored 'speed' generated write of arrays to call Write???Array. This may
have impacted speed write speeds for arrays of non-reference types due to the
use of non-generic IEnumerable and the subsequent boxing of value types. This
could be addressed later if desired.
diff --git a/src/AddressBook/AddressBookProtos.cs b/src/AddressBook/AddressBookProtos.cs
index 38029ac..8b4ac02 100644
--- a/src/AddressBook/AddressBookProtos.cs
+++ b/src/AddressBook/AddressBookProtos.cs
@@ -155,10 +155,10 @@
public override void WriteTo(pb::CodedOutputStream output) {
int size = SerializedSize;
if (HasNumber) {
- output.WriteString(1, Number);
+ output.WriteString(1, "number", Number);
}
if (HasType) {
- output.WriteEnum(2, (int) Type);
+ output.WriteEnum(2, "type", (int) Type, Type.ToString());
}
UnknownFields.WriteTo(output);
}
@@ -431,16 +431,16 @@
public override void WriteTo(pb::CodedOutputStream output) {
int size = SerializedSize;
if (HasName) {
- output.WriteString(1, Name);
+ output.WriteString(1, "name", Name);
}
if (HasId) {
- output.WriteInt32(2, Id);
+ output.WriteInt32(2, "id", Id);
}
if (HasEmail) {
- output.WriteString(3, Email);
+ output.WriteString(3, "email", Email);
}
- foreach (global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber element in PhoneList) {
- output.WriteMessage(4, element);
+ if (phone_.Count > 0) {
+ output.WriteMessageArray(4, "phone", phone_);
}
UnknownFields.WriteTo(output);
}
@@ -774,8 +774,8 @@
public override void WriteTo(pb::CodedOutputStream output) {
int size = SerializedSize;
- foreach (global::Google.ProtocolBuffers.Examples.AddressBook.Person element in PersonList) {
- output.WriteMessage(1, element);
+ if (person_.Count > 0) {
+ output.WriteMessageArray(1, "person", person_);
}
UnknownFields.WriteTo(output);
}