This project has retired. For details please refer to its Attic page.
Source code
001// Generated by the protocol buffer compiler.  DO NOT EDIT!
002// source: group_comm_protocol.proto
003
004package org.apache.reef.io.network.proto;
005
006public final class ReefNetworkGroupCommProtos {
007  private ReefNetworkGroupCommProtos() {}
008  public static void registerAllExtensions(
009      com.google.protobuf.ExtensionRegistry registry) {
010  }
011  public interface GroupCommMessageOrBuilder
012      extends com.google.protobuf.MessageOrBuilder {
013
014    // required .GroupCommMessage.Type type = 1;
015    /**
016     * <code>required .GroupCommMessage.Type type = 1;</code>
017     *
018     * <pre>
019     * identifies which field is filled in
020     * </pre>
021     */
022    boolean hasType();
023    /**
024     * <code>required .GroupCommMessage.Type type = 1;</code>
025     *
026     * <pre>
027     * identifies which field is filled in
028     * </pre>
029     */
030    org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.Type getType();
031
032    // required string srcid = 2;
033    /**
034     * <code>required string srcid = 2;</code>
035     */
036    boolean hasSrcid();
037    /**
038     * <code>required string srcid = 2;</code>
039     */
040    java.lang.String getSrcid();
041    /**
042     * <code>required string srcid = 2;</code>
043     */
044    com.google.protobuf.ByteString
045        getSrcidBytes();
046
047    // required string destid = 3;
048    /**
049     * <code>required string destid = 3;</code>
050     */
051    boolean hasDestid();
052    /**
053     * <code>required string destid = 3;</code>
054     */
055    java.lang.String getDestid();
056    /**
057     * <code>required string destid = 3;</code>
058     */
059    com.google.protobuf.ByteString
060        getDestidBytes();
061
062    // optional string groupname = 4;
063    /**
064     * <code>optional string groupname = 4;</code>
065     */
066    boolean hasGroupname();
067    /**
068     * <code>optional string groupname = 4;</code>
069     */
070    java.lang.String getGroupname();
071    /**
072     * <code>optional string groupname = 4;</code>
073     */
074    com.google.protobuf.ByteString
075        getGroupnameBytes();
076
077    // optional string operatorname = 5;
078    /**
079     * <code>optional string operatorname = 5;</code>
080     */
081    boolean hasOperatorname();
082    /**
083     * <code>optional string operatorname = 5;</code>
084     */
085    java.lang.String getOperatorname();
086    /**
087     * <code>optional string operatorname = 5;</code>
088     */
089    com.google.protobuf.ByteString
090        getOperatornameBytes();
091
092    // optional int32 version = 6;
093    /**
094     * <code>optional int32 version = 6;</code>
095     */
096    boolean hasVersion();
097    /**
098     * <code>optional int32 version = 6;</code>
099     */
100    int getVersion();
101
102    // optional int32 srcVersion = 7;
103    /**
104     * <code>optional int32 srcVersion = 7;</code>
105     */
106    boolean hasSrcVersion();
107    /**
108     * <code>optional int32 srcVersion = 7;</code>
109     */
110    int getSrcVersion();
111
112    // repeated .GroupMessageBody msgs = 8;
113    /**
114     * <code>repeated .GroupMessageBody msgs = 8;</code>
115     */
116    java.util.List<org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody> 
117        getMsgsList();
118    /**
119     * <code>repeated .GroupMessageBody msgs = 8;</code>
120     */
121    org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody getMsgs(int index);
122    /**
123     * <code>repeated .GroupMessageBody msgs = 8;</code>
124     */
125    int getMsgsCount();
126    /**
127     * <code>repeated .GroupMessageBody msgs = 8;</code>
128     */
129    java.util.List<? extends org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBodyOrBuilder> 
130        getMsgsOrBuilderList();
131    /**
132     * <code>repeated .GroupMessageBody msgs = 8;</code>
133     */
134    org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBodyOrBuilder getMsgsOrBuilder(
135        int index);
136  }
137  /**
138   * Protobuf type {@code GroupCommMessage}
139   */
140  public static final class GroupCommMessage extends
141      com.google.protobuf.GeneratedMessage
142      implements GroupCommMessageOrBuilder {
143    // Use GroupCommMessage.newBuilder() to construct.
144    private GroupCommMessage(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
145      super(builder);
146      this.unknownFields = builder.getUnknownFields();
147    }
148    private GroupCommMessage(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
149
150    private static final GroupCommMessage defaultInstance;
151    public static GroupCommMessage getDefaultInstance() {
152      return defaultInstance;
153    }
154
155    public GroupCommMessage getDefaultInstanceForType() {
156      return defaultInstance;
157    }
158
159    private final com.google.protobuf.UnknownFieldSet unknownFields;
160    @java.lang.Override
161    public final com.google.protobuf.UnknownFieldSet
162        getUnknownFields() {
163      return this.unknownFields;
164    }
165    private GroupCommMessage(
166        com.google.protobuf.CodedInputStream input,
167        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
168        throws com.google.protobuf.InvalidProtocolBufferException {
169      initFields();
170      int mutable_bitField0_ = 0;
171      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
172          com.google.protobuf.UnknownFieldSet.newBuilder();
173      try {
174        boolean done = false;
175        while (!done) {
176          int tag = input.readTag();
177          switch (tag) {
178            case 0:
179              done = true;
180              break;
181            default: {
182              if (!parseUnknownField(input, unknownFields,
183                                     extensionRegistry, tag)) {
184                done = true;
185              }
186              break;
187            }
188            case 8: {
189              int rawValue = input.readEnum();
190              org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.Type value = org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.Type.valueOf(rawValue);
191              if (value == null) {
192                unknownFields.mergeVarintField(1, rawValue);
193              } else {
194                bitField0_ |= 0x00000001;
195                type_ = value;
196              }
197              break;
198            }
199            case 18: {
200              bitField0_ |= 0x00000002;
201              srcid_ = input.readBytes();
202              break;
203            }
204            case 26: {
205              bitField0_ |= 0x00000004;
206              destid_ = input.readBytes();
207              break;
208            }
209            case 34: {
210              bitField0_ |= 0x00000008;
211              groupname_ = input.readBytes();
212              break;
213            }
214            case 42: {
215              bitField0_ |= 0x00000010;
216              operatorname_ = input.readBytes();
217              break;
218            }
219            case 48: {
220              bitField0_ |= 0x00000020;
221              version_ = input.readInt32();
222              break;
223            }
224            case 56: {
225              bitField0_ |= 0x00000040;
226              srcVersion_ = input.readInt32();
227              break;
228            }
229            case 66: {
230              if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
231                msgs_ = new java.util.ArrayList<org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody>();
232                mutable_bitField0_ |= 0x00000080;
233              }
234              msgs_.add(input.readMessage(org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.PARSER, extensionRegistry));
235              break;
236            }
237          }
238        }
239      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
240        throw e.setUnfinishedMessage(this);
241      } catch (java.io.IOException e) {
242        throw new com.google.protobuf.InvalidProtocolBufferException(
243            e.getMessage()).setUnfinishedMessage(this);
244      } finally {
245        if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
246          msgs_ = java.util.Collections.unmodifiableList(msgs_);
247        }
248        this.unknownFields = unknownFields.build();
249        makeExtensionsImmutable();
250      }
251    }
252    public static final com.google.protobuf.Descriptors.Descriptor
253        getDescriptor() {
254      return org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.internal_static_GroupCommMessage_descriptor;
255    }
256
257    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
258        internalGetFieldAccessorTable() {
259      return org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.internal_static_GroupCommMessage_fieldAccessorTable
260          .ensureFieldAccessorsInitialized(
261              org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.class, org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.Builder.class);
262    }
263
264    public static com.google.protobuf.Parser<GroupCommMessage> PARSER =
265        new com.google.protobuf.AbstractParser<GroupCommMessage>() {
266      public GroupCommMessage parsePartialFrom(
267          com.google.protobuf.CodedInputStream input,
268          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
269          throws com.google.protobuf.InvalidProtocolBufferException {
270        return new GroupCommMessage(input, extensionRegistry);
271      }
272    };
273
274    @java.lang.Override
275    public com.google.protobuf.Parser<GroupCommMessage> getParserForType() {
276      return PARSER;
277    }
278
279    /**
280     * Protobuf enum {@code GroupCommMessage.Type}
281     */
282    public enum Type
283        implements com.google.protobuf.ProtocolMessageEnum {
284      /**
285       * <code>Scatter = 1;</code>
286       */
287      Scatter(0, 1),
288      /**
289       * <code>Gather = 2;</code>
290       */
291      Gather(1, 2),
292      /**
293       * <code>Broadcast = 3;</code>
294       */
295      Broadcast(2, 3),
296      /**
297       * <code>Reduce = 4;</code>
298       */
299      Reduce(3, 4),
300      /**
301       * <code>AllGather = 5;</code>
302       */
303      AllGather(4, 5),
304      /**
305       * <code>AllReduce = 6;</code>
306       */
307      AllReduce(5, 6),
308      /**
309       * <code>ReduceScatter = 7;</code>
310       */
311      ReduceScatter(6, 7),
312      /**
313       * <code>SourceDead = 8;</code>
314       */
315      SourceDead(7, 8),
316      /**
317       * <code>SourceAdd = 9;</code>
318       */
319      SourceAdd(8, 9),
320      /**
321       * <code>ParentAdd = 10;</code>
322       */
323      ParentAdd(9, 10),
324      /**
325       * <code>ChildAdd = 11;</code>
326       */
327      ChildAdd(10, 11),
328      /**
329       * <code>ParentDead = 12;</code>
330       */
331      ParentDead(11, 12),
332      /**
333       * <code>ChildDead = 13;</code>
334       */
335      ChildDead(12, 13),
336      /**
337       * <code>ParentAdded = 14;</code>
338       */
339      ParentAdded(13, 14),
340      /**
341       * <code>ChildAdded = 15;</code>
342       */
343      ChildAdded(14, 15),
344      /**
345       * <code>ParentRemoved = 16;</code>
346       */
347      ParentRemoved(15, 16),
348      /**
349       * <code>ChildRemoved = 17;</code>
350       */
351      ChildRemoved(16, 17),
352      /**
353       * <code>TopologySetup = 18;</code>
354       */
355      TopologySetup(17, 18),
356      /**
357       * <code>UpdateTopology = 19;</code>
358       */
359      UpdateTopology(18, 19),
360      /**
361       * <code>TopologyUpdated = 20;</code>
362       */
363      TopologyUpdated(19, 20),
364      /**
365       * <code>TopologyChanges = 21;</code>
366       */
367      TopologyChanges(20, 21),
368      ;
369
370      /**
371       * <code>Scatter = 1;</code>
372       */
373      public static final int Scatter_VALUE = 1;
374      /**
375       * <code>Gather = 2;</code>
376       */
377      public static final int Gather_VALUE = 2;
378      /**
379       * <code>Broadcast = 3;</code>
380       */
381      public static final int Broadcast_VALUE = 3;
382      /**
383       * <code>Reduce = 4;</code>
384       */
385      public static final int Reduce_VALUE = 4;
386      /**
387       * <code>AllGather = 5;</code>
388       */
389      public static final int AllGather_VALUE = 5;
390      /**
391       * <code>AllReduce = 6;</code>
392       */
393      public static final int AllReduce_VALUE = 6;
394      /**
395       * <code>ReduceScatter = 7;</code>
396       */
397      public static final int ReduceScatter_VALUE = 7;
398      /**
399       * <code>SourceDead = 8;</code>
400       */
401      public static final int SourceDead_VALUE = 8;
402      /**
403       * <code>SourceAdd = 9;</code>
404       */
405      public static final int SourceAdd_VALUE = 9;
406      /**
407       * <code>ParentAdd = 10;</code>
408       */
409      public static final int ParentAdd_VALUE = 10;
410      /**
411       * <code>ChildAdd = 11;</code>
412       */
413      public static final int ChildAdd_VALUE = 11;
414      /**
415       * <code>ParentDead = 12;</code>
416       */
417      public static final int ParentDead_VALUE = 12;
418      /**
419       * <code>ChildDead = 13;</code>
420       */
421      public static final int ChildDead_VALUE = 13;
422      /**
423       * <code>ParentAdded = 14;</code>
424       */
425      public static final int ParentAdded_VALUE = 14;
426      /**
427       * <code>ChildAdded = 15;</code>
428       */
429      public static final int ChildAdded_VALUE = 15;
430      /**
431       * <code>ParentRemoved = 16;</code>
432       */
433      public static final int ParentRemoved_VALUE = 16;
434      /**
435       * <code>ChildRemoved = 17;</code>
436       */
437      public static final int ChildRemoved_VALUE = 17;
438      /**
439       * <code>TopologySetup = 18;</code>
440       */
441      public static final int TopologySetup_VALUE = 18;
442      /**
443       * <code>UpdateTopology = 19;</code>
444       */
445      public static final int UpdateTopology_VALUE = 19;
446      /**
447       * <code>TopologyUpdated = 20;</code>
448       */
449      public static final int TopologyUpdated_VALUE = 20;
450      /**
451       * <code>TopologyChanges = 21;</code>
452       */
453      public static final int TopologyChanges_VALUE = 21;
454
455
456      public final int getNumber() { return value; }
457
458      public static Type valueOf(int value) {
459        switch (value) {
460          case 1: return Scatter;
461          case 2: return Gather;
462          case 3: return Broadcast;
463          case 4: return Reduce;
464          case 5: return AllGather;
465          case 6: return AllReduce;
466          case 7: return ReduceScatter;
467          case 8: return SourceDead;
468          case 9: return SourceAdd;
469          case 10: return ParentAdd;
470          case 11: return ChildAdd;
471          case 12: return ParentDead;
472          case 13: return ChildDead;
473          case 14: return ParentAdded;
474          case 15: return ChildAdded;
475          case 16: return ParentRemoved;
476          case 17: return ChildRemoved;
477          case 18: return TopologySetup;
478          case 19: return UpdateTopology;
479          case 20: return TopologyUpdated;
480          case 21: return TopologyChanges;
481          default: return null;
482        }
483      }
484
485      public static com.google.protobuf.Internal.EnumLiteMap<Type>
486          internalGetValueMap() {
487        return internalValueMap;
488      }
489      private static com.google.protobuf.Internal.EnumLiteMap<Type>
490          internalValueMap =
491            new com.google.protobuf.Internal.EnumLiteMap<Type>() {
492              public Type findValueByNumber(int number) {
493                return Type.valueOf(number);
494              }
495            };
496
497      public final com.google.protobuf.Descriptors.EnumValueDescriptor
498          getValueDescriptor() {
499        return getDescriptor().getValues().get(index);
500      }
501      public final com.google.protobuf.Descriptors.EnumDescriptor
502          getDescriptorForType() {
503        return getDescriptor();
504      }
505      public static final com.google.protobuf.Descriptors.EnumDescriptor
506          getDescriptor() {
507        return org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.getDescriptor().getEnumTypes().get(0);
508      }
509
510      private static final Type[] VALUES = values();
511
512      public static Type valueOf(
513          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
514        if (desc.getType() != getDescriptor()) {
515          throw new java.lang.IllegalArgumentException(
516            "EnumValueDescriptor is not for this type.");
517        }
518        return VALUES[desc.getIndex()];
519      }
520
521      private final int index;
522      private final int value;
523
524      private Type(int index, int value) {
525        this.index = index;
526        this.value = value;
527      }
528
529      // @@protoc_insertion_point(enum_scope:GroupCommMessage.Type)
530    }
531
532    private int bitField0_;
533    // required .GroupCommMessage.Type type = 1;
534    public static final int TYPE_FIELD_NUMBER = 1;
535    private org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.Type type_;
536    /**
537     * <code>required .GroupCommMessage.Type type = 1;</code>
538     *
539     * <pre>
540     * identifies which field is filled in
541     * </pre>
542     */
543    public boolean hasType() {
544      return ((bitField0_ & 0x00000001) == 0x00000001);
545    }
546    /**
547     * <code>required .GroupCommMessage.Type type = 1;</code>
548     *
549     * <pre>
550     * identifies which field is filled in
551     * </pre>
552     */
553    public org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.Type getType() {
554      return type_;
555    }
556
557    // required string srcid = 2;
558    public static final int SRCID_FIELD_NUMBER = 2;
559    private java.lang.Object srcid_;
560    /**
561     * <code>required string srcid = 2;</code>
562     */
563    public boolean hasSrcid() {
564      return ((bitField0_ & 0x00000002) == 0x00000002);
565    }
566    /**
567     * <code>required string srcid = 2;</code>
568     */
569    public java.lang.String getSrcid() {
570      java.lang.Object ref = srcid_;
571      if (ref instanceof java.lang.String) {
572        return (java.lang.String) ref;
573      } else {
574        com.google.protobuf.ByteString bs = 
575            (com.google.protobuf.ByteString) ref;
576        java.lang.String s = bs.toStringUtf8();
577        if (bs.isValidUtf8()) {
578          srcid_ = s;
579        }
580        return s;
581      }
582    }
583    /**
584     * <code>required string srcid = 2;</code>
585     */
586    public com.google.protobuf.ByteString
587        getSrcidBytes() {
588      java.lang.Object ref = srcid_;
589      if (ref instanceof java.lang.String) {
590        com.google.protobuf.ByteString b = 
591            com.google.protobuf.ByteString.copyFromUtf8(
592                (java.lang.String) ref);
593        srcid_ = b;
594        return b;
595      } else {
596        return (com.google.protobuf.ByteString) ref;
597      }
598    }
599
600    // required string destid = 3;
601    public static final int DESTID_FIELD_NUMBER = 3;
602    private java.lang.Object destid_;
603    /**
604     * <code>required string destid = 3;</code>
605     */
606    public boolean hasDestid() {
607      return ((bitField0_ & 0x00000004) == 0x00000004);
608    }
609    /**
610     * <code>required string destid = 3;</code>
611     */
612    public java.lang.String getDestid() {
613      java.lang.Object ref = destid_;
614      if (ref instanceof java.lang.String) {
615        return (java.lang.String) ref;
616      } else {
617        com.google.protobuf.ByteString bs = 
618            (com.google.protobuf.ByteString) ref;
619        java.lang.String s = bs.toStringUtf8();
620        if (bs.isValidUtf8()) {
621          destid_ = s;
622        }
623        return s;
624      }
625    }
626    /**
627     * <code>required string destid = 3;</code>
628     */
629    public com.google.protobuf.ByteString
630        getDestidBytes() {
631      java.lang.Object ref = destid_;
632      if (ref instanceof java.lang.String) {
633        com.google.protobuf.ByteString b = 
634            com.google.protobuf.ByteString.copyFromUtf8(
635                (java.lang.String) ref);
636        destid_ = b;
637        return b;
638      } else {
639        return (com.google.protobuf.ByteString) ref;
640      }
641    }
642
643    // optional string groupname = 4;
644    public static final int GROUPNAME_FIELD_NUMBER = 4;
645    private java.lang.Object groupname_;
646    /**
647     * <code>optional string groupname = 4;</code>
648     */
649    public boolean hasGroupname() {
650      return ((bitField0_ & 0x00000008) == 0x00000008);
651    }
652    /**
653     * <code>optional string groupname = 4;</code>
654     */
655    public java.lang.String getGroupname() {
656      java.lang.Object ref = groupname_;
657      if (ref instanceof java.lang.String) {
658        return (java.lang.String) ref;
659      } else {
660        com.google.protobuf.ByteString bs = 
661            (com.google.protobuf.ByteString) ref;
662        java.lang.String s = bs.toStringUtf8();
663        if (bs.isValidUtf8()) {
664          groupname_ = s;
665        }
666        return s;
667      }
668    }
669    /**
670     * <code>optional string groupname = 4;</code>
671     */
672    public com.google.protobuf.ByteString
673        getGroupnameBytes() {
674      java.lang.Object ref = groupname_;
675      if (ref instanceof java.lang.String) {
676        com.google.protobuf.ByteString b = 
677            com.google.protobuf.ByteString.copyFromUtf8(
678                (java.lang.String) ref);
679        groupname_ = b;
680        return b;
681      } else {
682        return (com.google.protobuf.ByteString) ref;
683      }
684    }
685
686    // optional string operatorname = 5;
687    public static final int OPERATORNAME_FIELD_NUMBER = 5;
688    private java.lang.Object operatorname_;
689    /**
690     * <code>optional string operatorname = 5;</code>
691     */
692    public boolean hasOperatorname() {
693      return ((bitField0_ & 0x00000010) == 0x00000010);
694    }
695    /**
696     * <code>optional string operatorname = 5;</code>
697     */
698    public java.lang.String getOperatorname() {
699      java.lang.Object ref = operatorname_;
700      if (ref instanceof java.lang.String) {
701        return (java.lang.String) ref;
702      } else {
703        com.google.protobuf.ByteString bs = 
704            (com.google.protobuf.ByteString) ref;
705        java.lang.String s = bs.toStringUtf8();
706        if (bs.isValidUtf8()) {
707          operatorname_ = s;
708        }
709        return s;
710      }
711    }
712    /**
713     * <code>optional string operatorname = 5;</code>
714     */
715    public com.google.protobuf.ByteString
716        getOperatornameBytes() {
717      java.lang.Object ref = operatorname_;
718      if (ref instanceof java.lang.String) {
719        com.google.protobuf.ByteString b = 
720            com.google.protobuf.ByteString.copyFromUtf8(
721                (java.lang.String) ref);
722        operatorname_ = b;
723        return b;
724      } else {
725        return (com.google.protobuf.ByteString) ref;
726      }
727    }
728
729    // optional int32 version = 6;
730    public static final int VERSION_FIELD_NUMBER = 6;
731    private int version_;
732    /**
733     * <code>optional int32 version = 6;</code>
734     */
735    public boolean hasVersion() {
736      return ((bitField0_ & 0x00000020) == 0x00000020);
737    }
738    /**
739     * <code>optional int32 version = 6;</code>
740     */
741    public int getVersion() {
742      return version_;
743    }
744
745    // optional int32 srcVersion = 7;
746    public static final int SRCVERSION_FIELD_NUMBER = 7;
747    private int srcVersion_;
748    /**
749     * <code>optional int32 srcVersion = 7;</code>
750     */
751    public boolean hasSrcVersion() {
752      return ((bitField0_ & 0x00000040) == 0x00000040);
753    }
754    /**
755     * <code>optional int32 srcVersion = 7;</code>
756     */
757    public int getSrcVersion() {
758      return srcVersion_;
759    }
760
761    // repeated .GroupMessageBody msgs = 8;
762    public static final int MSGS_FIELD_NUMBER = 8;
763    private java.util.List<org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody> msgs_;
764    /**
765     * <code>repeated .GroupMessageBody msgs = 8;</code>
766     */
767    public java.util.List<org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody> getMsgsList() {
768      return msgs_;
769    }
770    /**
771     * <code>repeated .GroupMessageBody msgs = 8;</code>
772     */
773    public java.util.List<? extends org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBodyOrBuilder> 
774        getMsgsOrBuilderList() {
775      return msgs_;
776    }
777    /**
778     * <code>repeated .GroupMessageBody msgs = 8;</code>
779     */
780    public int getMsgsCount() {
781      return msgs_.size();
782    }
783    /**
784     * <code>repeated .GroupMessageBody msgs = 8;</code>
785     */
786    public org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody getMsgs(int index) {
787      return msgs_.get(index);
788    }
789    /**
790     * <code>repeated .GroupMessageBody msgs = 8;</code>
791     */
792    public org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBodyOrBuilder getMsgsOrBuilder(
793        int index) {
794      return msgs_.get(index);
795    }
796
797    private void initFields() {
798      type_ = org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.Type.Scatter;
799      srcid_ = "";
800      destid_ = "";
801      groupname_ = "";
802      operatorname_ = "";
803      version_ = 0;
804      srcVersion_ = 0;
805      msgs_ = java.util.Collections.emptyList();
806    }
807    private byte memoizedIsInitialized = -1;
808    public final boolean isInitialized() {
809      byte isInitialized = memoizedIsInitialized;
810      if (isInitialized != -1) return isInitialized == 1;
811
812      if (!hasType()) {
813        memoizedIsInitialized = 0;
814        return false;
815      }
816      if (!hasSrcid()) {
817        memoizedIsInitialized = 0;
818        return false;
819      }
820      if (!hasDestid()) {
821        memoizedIsInitialized = 0;
822        return false;
823      }
824      for (int i = 0; i < getMsgsCount(); i++) {
825        if (!getMsgs(i).isInitialized()) {
826          memoizedIsInitialized = 0;
827          return false;
828        }
829      }
830      memoizedIsInitialized = 1;
831      return true;
832    }
833
834    public void writeTo(com.google.protobuf.CodedOutputStream output)
835                        throws java.io.IOException {
836      getSerializedSize();
837      if (((bitField0_ & 0x00000001) == 0x00000001)) {
838        output.writeEnum(1, type_.getNumber());
839      }
840      if (((bitField0_ & 0x00000002) == 0x00000002)) {
841        output.writeBytes(2, getSrcidBytes());
842      }
843      if (((bitField0_ & 0x00000004) == 0x00000004)) {
844        output.writeBytes(3, getDestidBytes());
845      }
846      if (((bitField0_ & 0x00000008) == 0x00000008)) {
847        output.writeBytes(4, getGroupnameBytes());
848      }
849      if (((bitField0_ & 0x00000010) == 0x00000010)) {
850        output.writeBytes(5, getOperatornameBytes());
851      }
852      if (((bitField0_ & 0x00000020) == 0x00000020)) {
853        output.writeInt32(6, version_);
854      }
855      if (((bitField0_ & 0x00000040) == 0x00000040)) {
856        output.writeInt32(7, srcVersion_);
857      }
858      for (int i = 0; i < msgs_.size(); i++) {
859        output.writeMessage(8, msgs_.get(i));
860      }
861      getUnknownFields().writeTo(output);
862    }
863
864    private int memoizedSerializedSize = -1;
865    public int getSerializedSize() {
866      int size = memoizedSerializedSize;
867      if (size != -1) return size;
868
869      size = 0;
870      if (((bitField0_ & 0x00000001) == 0x00000001)) {
871        size += com.google.protobuf.CodedOutputStream
872          .computeEnumSize(1, type_.getNumber());
873      }
874      if (((bitField0_ & 0x00000002) == 0x00000002)) {
875        size += com.google.protobuf.CodedOutputStream
876          .computeBytesSize(2, getSrcidBytes());
877      }
878      if (((bitField0_ & 0x00000004) == 0x00000004)) {
879        size += com.google.protobuf.CodedOutputStream
880          .computeBytesSize(3, getDestidBytes());
881      }
882      if (((bitField0_ & 0x00000008) == 0x00000008)) {
883        size += com.google.protobuf.CodedOutputStream
884          .computeBytesSize(4, getGroupnameBytes());
885      }
886      if (((bitField0_ & 0x00000010) == 0x00000010)) {
887        size += com.google.protobuf.CodedOutputStream
888          .computeBytesSize(5, getOperatornameBytes());
889      }
890      if (((bitField0_ & 0x00000020) == 0x00000020)) {
891        size += com.google.protobuf.CodedOutputStream
892          .computeInt32Size(6, version_);
893      }
894      if (((bitField0_ & 0x00000040) == 0x00000040)) {
895        size += com.google.protobuf.CodedOutputStream
896          .computeInt32Size(7, srcVersion_);
897      }
898      for (int i = 0; i < msgs_.size(); i++) {
899        size += com.google.protobuf.CodedOutputStream
900          .computeMessageSize(8, msgs_.get(i));
901      }
902      size += getUnknownFields().getSerializedSize();
903      memoizedSerializedSize = size;
904      return size;
905    }
906
907    private static final long serialVersionUID = 0L;
908    @java.lang.Override
909    protected java.lang.Object writeReplace()
910        throws java.io.ObjectStreamException {
911      return super.writeReplace();
912    }
913
914    @java.lang.Override
915    public boolean equals(final java.lang.Object obj) {
916      if (obj == this) {
917       return true;
918      }
919      if (!(obj instanceof org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage)) {
920        return super.equals(obj);
921      }
922      org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage other = (org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage) obj;
923
924      boolean result = true;
925      result = result && (hasType() == other.hasType());
926      if (hasType()) {
927        result = result &&
928            (getType() == other.getType());
929      }
930      result = result && (hasSrcid() == other.hasSrcid());
931      if (hasSrcid()) {
932        result = result && getSrcid()
933            .equals(other.getSrcid());
934      }
935      result = result && (hasDestid() == other.hasDestid());
936      if (hasDestid()) {
937        result = result && getDestid()
938            .equals(other.getDestid());
939      }
940      result = result && (hasGroupname() == other.hasGroupname());
941      if (hasGroupname()) {
942        result = result && getGroupname()
943            .equals(other.getGroupname());
944      }
945      result = result && (hasOperatorname() == other.hasOperatorname());
946      if (hasOperatorname()) {
947        result = result && getOperatorname()
948            .equals(other.getOperatorname());
949      }
950      result = result && (hasVersion() == other.hasVersion());
951      if (hasVersion()) {
952        result = result && (getVersion()
953            == other.getVersion());
954      }
955      result = result && (hasSrcVersion() == other.hasSrcVersion());
956      if (hasSrcVersion()) {
957        result = result && (getSrcVersion()
958            == other.getSrcVersion());
959      }
960      result = result && getMsgsList()
961          .equals(other.getMsgsList());
962      result = result &&
963          getUnknownFields().equals(other.getUnknownFields());
964      return result;
965    }
966
967    private int memoizedHashCode = 0;
968    @java.lang.Override
969    public int hashCode() {
970      if (memoizedHashCode != 0) {
971        return memoizedHashCode;
972      }
973      int hash = 41;
974      hash = (19 * hash) + getDescriptorForType().hashCode();
975      if (hasType()) {
976        hash = (37 * hash) + TYPE_FIELD_NUMBER;
977        hash = (53 * hash) + hashEnum(getType());
978      }
979      if (hasSrcid()) {
980        hash = (37 * hash) + SRCID_FIELD_NUMBER;
981        hash = (53 * hash) + getSrcid().hashCode();
982      }
983      if (hasDestid()) {
984        hash = (37 * hash) + DESTID_FIELD_NUMBER;
985        hash = (53 * hash) + getDestid().hashCode();
986      }
987      if (hasGroupname()) {
988        hash = (37 * hash) + GROUPNAME_FIELD_NUMBER;
989        hash = (53 * hash) + getGroupname().hashCode();
990      }
991      if (hasOperatorname()) {
992        hash = (37 * hash) + OPERATORNAME_FIELD_NUMBER;
993        hash = (53 * hash) + getOperatorname().hashCode();
994      }
995      if (hasVersion()) {
996        hash = (37 * hash) + VERSION_FIELD_NUMBER;
997        hash = (53 * hash) + getVersion();
998      }
999      if (hasSrcVersion()) {
1000        hash = (37 * hash) + SRCVERSION_FIELD_NUMBER;
1001        hash = (53 * hash) + getSrcVersion();
1002      }
1003      if (getMsgsCount() > 0) {
1004        hash = (37 * hash) + MSGS_FIELD_NUMBER;
1005        hash = (53 * hash) + getMsgsList().hashCode();
1006      }
1007      hash = (29 * hash) + getUnknownFields().hashCode();
1008      memoizedHashCode = hash;
1009      return hash;
1010    }
1011
1012    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage parseFrom(
1013        com.google.protobuf.ByteString data)
1014        throws com.google.protobuf.InvalidProtocolBufferException {
1015      return PARSER.parseFrom(data);
1016    }
1017    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage parseFrom(
1018        com.google.protobuf.ByteString data,
1019        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1020        throws com.google.protobuf.InvalidProtocolBufferException {
1021      return PARSER.parseFrom(data, extensionRegistry);
1022    }
1023    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage parseFrom(byte[] data)
1024        throws com.google.protobuf.InvalidProtocolBufferException {
1025      return PARSER.parseFrom(data);
1026    }
1027    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage parseFrom(
1028        byte[] data,
1029        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1030        throws com.google.protobuf.InvalidProtocolBufferException {
1031      return PARSER.parseFrom(data, extensionRegistry);
1032    }
1033    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage parseFrom(java.io.InputStream input)
1034        throws java.io.IOException {
1035      return PARSER.parseFrom(input);
1036    }
1037    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage parseFrom(
1038        java.io.InputStream input,
1039        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1040        throws java.io.IOException {
1041      return PARSER.parseFrom(input, extensionRegistry);
1042    }
1043    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage parseDelimitedFrom(java.io.InputStream input)
1044        throws java.io.IOException {
1045      return PARSER.parseDelimitedFrom(input);
1046    }
1047    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage parseDelimitedFrom(
1048        java.io.InputStream input,
1049        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1050        throws java.io.IOException {
1051      return PARSER.parseDelimitedFrom(input, extensionRegistry);
1052    }
1053    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage parseFrom(
1054        com.google.protobuf.CodedInputStream input)
1055        throws java.io.IOException {
1056      return PARSER.parseFrom(input);
1057    }
1058    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage parseFrom(
1059        com.google.protobuf.CodedInputStream input,
1060        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1061        throws java.io.IOException {
1062      return PARSER.parseFrom(input, extensionRegistry);
1063    }
1064
1065    public static Builder newBuilder() { return Builder.create(); }
1066    public Builder newBuilderForType() { return newBuilder(); }
1067    public static Builder newBuilder(org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage prototype) {
1068      return newBuilder().mergeFrom(prototype);
1069    }
1070    public Builder toBuilder() { return newBuilder(this); }
1071
1072    @java.lang.Override
1073    protected Builder newBuilderForType(
1074        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
1075      Builder builder = new Builder(parent);
1076      return builder;
1077    }
1078    /**
1079     * Protobuf type {@code GroupCommMessage}
1080     */
1081    public static final class Builder extends
1082        com.google.protobuf.GeneratedMessage.Builder<Builder>
1083       implements org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessageOrBuilder {
1084      public static final com.google.protobuf.Descriptors.Descriptor
1085          getDescriptor() {
1086        return org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.internal_static_GroupCommMessage_descriptor;
1087      }
1088
1089      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
1090          internalGetFieldAccessorTable() {
1091        return org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.internal_static_GroupCommMessage_fieldAccessorTable
1092            .ensureFieldAccessorsInitialized(
1093                org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.class, org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.Builder.class);
1094      }
1095
1096      // Construct using org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.newBuilder()
1097      private Builder() {
1098        maybeForceBuilderInitialization();
1099      }
1100
1101      private Builder(
1102          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
1103        super(parent);
1104        maybeForceBuilderInitialization();
1105      }
1106      private void maybeForceBuilderInitialization() {
1107        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
1108          getMsgsFieldBuilder();
1109        }
1110      }
1111      private static Builder create() {
1112        return new Builder();
1113      }
1114
1115      public Builder clear() {
1116        super.clear();
1117        type_ = org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.Type.Scatter;
1118        bitField0_ = (bitField0_ & ~0x00000001);
1119        srcid_ = "";
1120        bitField0_ = (bitField0_ & ~0x00000002);
1121        destid_ = "";
1122        bitField0_ = (bitField0_ & ~0x00000004);
1123        groupname_ = "";
1124        bitField0_ = (bitField0_ & ~0x00000008);
1125        operatorname_ = "";
1126        bitField0_ = (bitField0_ & ~0x00000010);
1127        version_ = 0;
1128        bitField0_ = (bitField0_ & ~0x00000020);
1129        srcVersion_ = 0;
1130        bitField0_ = (bitField0_ & ~0x00000040);
1131        if (msgsBuilder_ == null) {
1132          msgs_ = java.util.Collections.emptyList();
1133          bitField0_ = (bitField0_ & ~0x00000080);
1134        } else {
1135          msgsBuilder_.clear();
1136        }
1137        return this;
1138      }
1139
1140      public Builder clone() {
1141        return create().mergeFrom(buildPartial());
1142      }
1143
1144      public com.google.protobuf.Descriptors.Descriptor
1145          getDescriptorForType() {
1146        return org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.internal_static_GroupCommMessage_descriptor;
1147      }
1148
1149      public org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage getDefaultInstanceForType() {
1150        return org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.getDefaultInstance();
1151      }
1152
1153      public org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage build() {
1154        org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage result = buildPartial();
1155        if (!result.isInitialized()) {
1156          throw newUninitializedMessageException(result);
1157        }
1158        return result;
1159      }
1160
1161      public org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage buildPartial() {
1162        org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage result = new org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage(this);
1163        int from_bitField0_ = bitField0_;
1164        int to_bitField0_ = 0;
1165        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
1166          to_bitField0_ |= 0x00000001;
1167        }
1168        result.type_ = type_;
1169        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
1170          to_bitField0_ |= 0x00000002;
1171        }
1172        result.srcid_ = srcid_;
1173        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
1174          to_bitField0_ |= 0x00000004;
1175        }
1176        result.destid_ = destid_;
1177        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
1178          to_bitField0_ |= 0x00000008;
1179        }
1180        result.groupname_ = groupname_;
1181        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
1182          to_bitField0_ |= 0x00000010;
1183        }
1184        result.operatorname_ = operatorname_;
1185        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
1186          to_bitField0_ |= 0x00000020;
1187        }
1188        result.version_ = version_;
1189        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
1190          to_bitField0_ |= 0x00000040;
1191        }
1192        result.srcVersion_ = srcVersion_;
1193        if (msgsBuilder_ == null) {
1194          if (((bitField0_ & 0x00000080) == 0x00000080)) {
1195            msgs_ = java.util.Collections.unmodifiableList(msgs_);
1196            bitField0_ = (bitField0_ & ~0x00000080);
1197          }
1198          result.msgs_ = msgs_;
1199        } else {
1200          result.msgs_ = msgsBuilder_.build();
1201        }
1202        result.bitField0_ = to_bitField0_;
1203        onBuilt();
1204        return result;
1205      }
1206
1207      public Builder mergeFrom(com.google.protobuf.Message other) {
1208        if (other instanceof org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage) {
1209          return mergeFrom((org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage)other);
1210        } else {
1211          super.mergeFrom(other);
1212          return this;
1213        }
1214      }
1215
1216      public Builder mergeFrom(org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage other) {
1217        if (other == org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.getDefaultInstance()) return this;
1218        if (other.hasType()) {
1219          setType(other.getType());
1220        }
1221        if (other.hasSrcid()) {
1222          bitField0_ |= 0x00000002;
1223          srcid_ = other.srcid_;
1224          onChanged();
1225        }
1226        if (other.hasDestid()) {
1227          bitField0_ |= 0x00000004;
1228          destid_ = other.destid_;
1229          onChanged();
1230        }
1231        if (other.hasGroupname()) {
1232          bitField0_ |= 0x00000008;
1233          groupname_ = other.groupname_;
1234          onChanged();
1235        }
1236        if (other.hasOperatorname()) {
1237          bitField0_ |= 0x00000010;
1238          operatorname_ = other.operatorname_;
1239          onChanged();
1240        }
1241        if (other.hasVersion()) {
1242          setVersion(other.getVersion());
1243        }
1244        if (other.hasSrcVersion()) {
1245          setSrcVersion(other.getSrcVersion());
1246        }
1247        if (msgsBuilder_ == null) {
1248          if (!other.msgs_.isEmpty()) {
1249            if (msgs_.isEmpty()) {
1250              msgs_ = other.msgs_;
1251              bitField0_ = (bitField0_ & ~0x00000080);
1252            } else {
1253              ensureMsgsIsMutable();
1254              msgs_.addAll(other.msgs_);
1255            }
1256            onChanged();
1257          }
1258        } else {
1259          if (!other.msgs_.isEmpty()) {
1260            if (msgsBuilder_.isEmpty()) {
1261              msgsBuilder_.dispose();
1262              msgsBuilder_ = null;
1263              msgs_ = other.msgs_;
1264              bitField0_ = (bitField0_ & ~0x00000080);
1265              msgsBuilder_ = 
1266                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
1267                   getMsgsFieldBuilder() : null;
1268            } else {
1269              msgsBuilder_.addAllMessages(other.msgs_);
1270            }
1271          }
1272        }
1273        this.mergeUnknownFields(other.getUnknownFields());
1274        return this;
1275      }
1276
1277      public final boolean isInitialized() {
1278        if (!hasType()) {
1279          
1280          return false;
1281        }
1282        if (!hasSrcid()) {
1283          
1284          return false;
1285        }
1286        if (!hasDestid()) {
1287          
1288          return false;
1289        }
1290        for (int i = 0; i < getMsgsCount(); i++) {
1291          if (!getMsgs(i).isInitialized()) {
1292            
1293            return false;
1294          }
1295        }
1296        return true;
1297      }
1298
1299      public Builder mergeFrom(
1300          com.google.protobuf.CodedInputStream input,
1301          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1302          throws java.io.IOException {
1303        org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage parsedMessage = null;
1304        try {
1305          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1306        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1307          parsedMessage = (org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage) e.getUnfinishedMessage();
1308          throw e;
1309        } finally {
1310          if (parsedMessage != null) {
1311            mergeFrom(parsedMessage);
1312          }
1313        }
1314        return this;
1315      }
1316      private int bitField0_;
1317
1318      // required .GroupCommMessage.Type type = 1;
1319      private org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.Type type_ = org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.Type.Scatter;
1320      /**
1321       * <code>required .GroupCommMessage.Type type = 1;</code>
1322       *
1323       * <pre>
1324       * identifies which field is filled in
1325       * </pre>
1326       */
1327      public boolean hasType() {
1328        return ((bitField0_ & 0x00000001) == 0x00000001);
1329      }
1330      /**
1331       * <code>required .GroupCommMessage.Type type = 1;</code>
1332       *
1333       * <pre>
1334       * identifies which field is filled in
1335       * </pre>
1336       */
1337      public org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.Type getType() {
1338        return type_;
1339      }
1340      /**
1341       * <code>required .GroupCommMessage.Type type = 1;</code>
1342       *
1343       * <pre>
1344       * identifies which field is filled in
1345       * </pre>
1346       */
1347      public Builder setType(org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.Type value) {
1348        if (value == null) {
1349          throw new NullPointerException();
1350        }
1351        bitField0_ |= 0x00000001;
1352        type_ = value;
1353        onChanged();
1354        return this;
1355      }
1356      /**
1357       * <code>required .GroupCommMessage.Type type = 1;</code>
1358       *
1359       * <pre>
1360       * identifies which field is filled in
1361       * </pre>
1362       */
1363      public Builder clearType() {
1364        bitField0_ = (bitField0_ & ~0x00000001);
1365        type_ = org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupCommMessage.Type.Scatter;
1366        onChanged();
1367        return this;
1368      }
1369
1370      // required string srcid = 2;
1371      private java.lang.Object srcid_ = "";
1372      /**
1373       * <code>required string srcid = 2;</code>
1374       */
1375      public boolean hasSrcid() {
1376        return ((bitField0_ & 0x00000002) == 0x00000002);
1377      }
1378      /**
1379       * <code>required string srcid = 2;</code>
1380       */
1381      public java.lang.String getSrcid() {
1382        java.lang.Object ref = srcid_;
1383        if (!(ref instanceof java.lang.String)) {
1384          java.lang.String s = ((com.google.protobuf.ByteString) ref)
1385              .toStringUtf8();
1386          srcid_ = s;
1387          return s;
1388        } else {
1389          return (java.lang.String) ref;
1390        }
1391      }
1392      /**
1393       * <code>required string srcid = 2;</code>
1394       */
1395      public com.google.protobuf.ByteString
1396          getSrcidBytes() {
1397        java.lang.Object ref = srcid_;
1398        if (ref instanceof String) {
1399          com.google.protobuf.ByteString b = 
1400              com.google.protobuf.ByteString.copyFromUtf8(
1401                  (java.lang.String) ref);
1402          srcid_ = b;
1403          return b;
1404        } else {
1405          return (com.google.protobuf.ByteString) ref;
1406        }
1407      }
1408      /**
1409       * <code>required string srcid = 2;</code>
1410       */
1411      public Builder setSrcid(
1412          java.lang.String value) {
1413        if (value == null) {
1414    throw new NullPointerException();
1415  }
1416  bitField0_ |= 0x00000002;
1417        srcid_ = value;
1418        onChanged();
1419        return this;
1420      }
1421      /**
1422       * <code>required string srcid = 2;</code>
1423       */
1424      public Builder clearSrcid() {
1425        bitField0_ = (bitField0_ & ~0x00000002);
1426        srcid_ = getDefaultInstance().getSrcid();
1427        onChanged();
1428        return this;
1429      }
1430      /**
1431       * <code>required string srcid = 2;</code>
1432       */
1433      public Builder setSrcidBytes(
1434          com.google.protobuf.ByteString value) {
1435        if (value == null) {
1436    throw new NullPointerException();
1437  }
1438  bitField0_ |= 0x00000002;
1439        srcid_ = value;
1440        onChanged();
1441        return this;
1442      }
1443
1444      // required string destid = 3;
1445      private java.lang.Object destid_ = "";
1446      /**
1447       * <code>required string destid = 3;</code>
1448       */
1449      public boolean hasDestid() {
1450        return ((bitField0_ & 0x00000004) == 0x00000004);
1451      }
1452      /**
1453       * <code>required string destid = 3;</code>
1454       */
1455      public java.lang.String getDestid() {
1456        java.lang.Object ref = destid_;
1457        if (!(ref instanceof java.lang.String)) {
1458          java.lang.String s = ((com.google.protobuf.ByteString) ref)
1459              .toStringUtf8();
1460          destid_ = s;
1461          return s;
1462        } else {
1463          return (java.lang.String) ref;
1464        }
1465      }
1466      /**
1467       * <code>required string destid = 3;</code>
1468       */
1469      public com.google.protobuf.ByteString
1470          getDestidBytes() {
1471        java.lang.Object ref = destid_;
1472        if (ref instanceof String) {
1473          com.google.protobuf.ByteString b = 
1474              com.google.protobuf.ByteString.copyFromUtf8(
1475                  (java.lang.String) ref);
1476          destid_ = b;
1477          return b;
1478        } else {
1479          return (com.google.protobuf.ByteString) ref;
1480        }
1481      }
1482      /**
1483       * <code>required string destid = 3;</code>
1484       */
1485      public Builder setDestid(
1486          java.lang.String value) {
1487        if (value == null) {
1488    throw new NullPointerException();
1489  }
1490  bitField0_ |= 0x00000004;
1491        destid_ = value;
1492        onChanged();
1493        return this;
1494      }
1495      /**
1496       * <code>required string destid = 3;</code>
1497       */
1498      public Builder clearDestid() {
1499        bitField0_ = (bitField0_ & ~0x00000004);
1500        destid_ = getDefaultInstance().getDestid();
1501        onChanged();
1502        return this;
1503      }
1504      /**
1505       * <code>required string destid = 3;</code>
1506       */
1507      public Builder setDestidBytes(
1508          com.google.protobuf.ByteString value) {
1509        if (value == null) {
1510    throw new NullPointerException();
1511  }
1512  bitField0_ |= 0x00000004;
1513        destid_ = value;
1514        onChanged();
1515        return this;
1516      }
1517
1518      // optional string groupname = 4;
1519      private java.lang.Object groupname_ = "";
1520      /**
1521       * <code>optional string groupname = 4;</code>
1522       */
1523      public boolean hasGroupname() {
1524        return ((bitField0_ & 0x00000008) == 0x00000008);
1525      }
1526      /**
1527       * <code>optional string groupname = 4;</code>
1528       */
1529      public java.lang.String getGroupname() {
1530        java.lang.Object ref = groupname_;
1531        if (!(ref instanceof java.lang.String)) {
1532          java.lang.String s = ((com.google.protobuf.ByteString) ref)
1533              .toStringUtf8();
1534          groupname_ = s;
1535          return s;
1536        } else {
1537          return (java.lang.String) ref;
1538        }
1539      }
1540      /**
1541       * <code>optional string groupname = 4;</code>
1542       */
1543      public com.google.protobuf.ByteString
1544          getGroupnameBytes() {
1545        java.lang.Object ref = groupname_;
1546        if (ref instanceof String) {
1547          com.google.protobuf.ByteString b = 
1548              com.google.protobuf.ByteString.copyFromUtf8(
1549                  (java.lang.String) ref);
1550          groupname_ = b;
1551          return b;
1552        } else {
1553          return (com.google.protobuf.ByteString) ref;
1554        }
1555      }
1556      /**
1557       * <code>optional string groupname = 4;</code>
1558       */
1559      public Builder setGroupname(
1560          java.lang.String value) {
1561        if (value == null) {
1562    throw new NullPointerException();
1563  }
1564  bitField0_ |= 0x00000008;
1565        groupname_ = value;
1566        onChanged();
1567        return this;
1568      }
1569      /**
1570       * <code>optional string groupname = 4;</code>
1571       */
1572      public Builder clearGroupname() {
1573        bitField0_ = (bitField0_ & ~0x00000008);
1574        groupname_ = getDefaultInstance().getGroupname();
1575        onChanged();
1576        return this;
1577      }
1578      /**
1579       * <code>optional string groupname = 4;</code>
1580       */
1581      public Builder setGroupnameBytes(
1582          com.google.protobuf.ByteString value) {
1583        if (value == null) {
1584    throw new NullPointerException();
1585  }
1586  bitField0_ |= 0x00000008;
1587        groupname_ = value;
1588        onChanged();
1589        return this;
1590      }
1591
1592      // optional string operatorname = 5;
1593      private java.lang.Object operatorname_ = "";
1594      /**
1595       * <code>optional string operatorname = 5;</code>
1596       */
1597      public boolean hasOperatorname() {
1598        return ((bitField0_ & 0x00000010) == 0x00000010);
1599      }
1600      /**
1601       * <code>optional string operatorname = 5;</code>
1602       */
1603      public java.lang.String getOperatorname() {
1604        java.lang.Object ref = operatorname_;
1605        if (!(ref instanceof java.lang.String)) {
1606          java.lang.String s = ((com.google.protobuf.ByteString) ref)
1607              .toStringUtf8();
1608          operatorname_ = s;
1609          return s;
1610        } else {
1611          return (java.lang.String) ref;
1612        }
1613      }
1614      /**
1615       * <code>optional string operatorname = 5;</code>
1616       */
1617      public com.google.protobuf.ByteString
1618          getOperatornameBytes() {
1619        java.lang.Object ref = operatorname_;
1620        if (ref instanceof String) {
1621          com.google.protobuf.ByteString b = 
1622              com.google.protobuf.ByteString.copyFromUtf8(
1623                  (java.lang.String) ref);
1624          operatorname_ = b;
1625          return b;
1626        } else {
1627          return (com.google.protobuf.ByteString) ref;
1628        }
1629      }
1630      /**
1631       * <code>optional string operatorname = 5;</code>
1632       */
1633      public Builder setOperatorname(
1634          java.lang.String value) {
1635        if (value == null) {
1636    throw new NullPointerException();
1637  }
1638  bitField0_ |= 0x00000010;
1639        operatorname_ = value;
1640        onChanged();
1641        return this;
1642      }
1643      /**
1644       * <code>optional string operatorname = 5;</code>
1645       */
1646      public Builder clearOperatorname() {
1647        bitField0_ = (bitField0_ & ~0x00000010);
1648        operatorname_ = getDefaultInstance().getOperatorname();
1649        onChanged();
1650        return this;
1651      }
1652      /**
1653       * <code>optional string operatorname = 5;</code>
1654       */
1655      public Builder setOperatornameBytes(
1656          com.google.protobuf.ByteString value) {
1657        if (value == null) {
1658    throw new NullPointerException();
1659  }
1660  bitField0_ |= 0x00000010;
1661        operatorname_ = value;
1662        onChanged();
1663        return this;
1664      }
1665
1666      // optional int32 version = 6;
1667      private int version_ ;
1668      /**
1669       * <code>optional int32 version = 6;</code>
1670       */
1671      public boolean hasVersion() {
1672        return ((bitField0_ & 0x00000020) == 0x00000020);
1673      }
1674      /**
1675       * <code>optional int32 version = 6;</code>
1676       */
1677      public int getVersion() {
1678        return version_;
1679      }
1680      /**
1681       * <code>optional int32 version = 6;</code>
1682       */
1683      public Builder setVersion(int value) {
1684        bitField0_ |= 0x00000020;
1685        version_ = value;
1686        onChanged();
1687        return this;
1688      }
1689      /**
1690       * <code>optional int32 version = 6;</code>
1691       */
1692      public Builder clearVersion() {
1693        bitField0_ = (bitField0_ & ~0x00000020);
1694        version_ = 0;
1695        onChanged();
1696        return this;
1697      }
1698
1699      // optional int32 srcVersion = 7;
1700      private int srcVersion_ ;
1701      /**
1702       * <code>optional int32 srcVersion = 7;</code>
1703       */
1704      public boolean hasSrcVersion() {
1705        return ((bitField0_ & 0x00000040) == 0x00000040);
1706      }
1707      /**
1708       * <code>optional int32 srcVersion = 7;</code>
1709       */
1710      public int getSrcVersion() {
1711        return srcVersion_;
1712      }
1713      /**
1714       * <code>optional int32 srcVersion = 7;</code>
1715       */
1716      public Builder setSrcVersion(int value) {
1717        bitField0_ |= 0x00000040;
1718        srcVersion_ = value;
1719        onChanged();
1720        return this;
1721      }
1722      /**
1723       * <code>optional int32 srcVersion = 7;</code>
1724       */
1725      public Builder clearSrcVersion() {
1726        bitField0_ = (bitField0_ & ~0x00000040);
1727        srcVersion_ = 0;
1728        onChanged();
1729        return this;
1730      }
1731
1732      // repeated .GroupMessageBody msgs = 8;
1733      private java.util.List<org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody> msgs_ =
1734        java.util.Collections.emptyList();
1735      private void ensureMsgsIsMutable() {
1736        if (!((bitField0_ & 0x00000080) == 0x00000080)) {
1737          msgs_ = new java.util.ArrayList<org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody>(msgs_);
1738          bitField0_ |= 0x00000080;
1739         }
1740      }
1741
1742      private com.google.protobuf.RepeatedFieldBuilder<
1743          org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody, org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.Builder, org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBodyOrBuilder> msgsBuilder_;
1744
1745      /**
1746       * <code>repeated .GroupMessageBody msgs = 8;</code>
1747       */
1748      public java.util.List<org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody> getMsgsList() {
1749        if (msgsBuilder_ == null) {
1750          return java.util.Collections.unmodifiableList(msgs_);
1751        } else {
1752          return msgsBuilder_.getMessageList();
1753        }
1754      }
1755      /**
1756       * <code>repeated .GroupMessageBody msgs = 8;</code>
1757       */
1758      public int getMsgsCount() {
1759        if (msgsBuilder_ == null) {
1760          return msgs_.size();
1761        } else {
1762          return msgsBuilder_.getCount();
1763        }
1764      }
1765      /**
1766       * <code>repeated .GroupMessageBody msgs = 8;</code>
1767       */
1768      public org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody getMsgs(int index) {
1769        if (msgsBuilder_ == null) {
1770          return msgs_.get(index);
1771        } else {
1772          return msgsBuilder_.getMessage(index);
1773        }
1774      }
1775      /**
1776       * <code>repeated .GroupMessageBody msgs = 8;</code>
1777       */
1778      public Builder setMsgs(
1779          int index, org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody value) {
1780        if (msgsBuilder_ == null) {
1781          if (value == null) {
1782            throw new NullPointerException();
1783          }
1784          ensureMsgsIsMutable();
1785          msgs_.set(index, value);
1786          onChanged();
1787        } else {
1788          msgsBuilder_.setMessage(index, value);
1789        }
1790        return this;
1791      }
1792      /**
1793       * <code>repeated .GroupMessageBody msgs = 8;</code>
1794       */
1795      public Builder setMsgs(
1796          int index, org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.Builder builderForValue) {
1797        if (msgsBuilder_ == null) {
1798          ensureMsgsIsMutable();
1799          msgs_.set(index, builderForValue.build());
1800          onChanged();
1801        } else {
1802          msgsBuilder_.setMessage(index, builderForValue.build());
1803        }
1804        return this;
1805      }
1806      /**
1807       * <code>repeated .GroupMessageBody msgs = 8;</code>
1808       */
1809      public Builder addMsgs(org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody value) {
1810        if (msgsBuilder_ == null) {
1811          if (value == null) {
1812            throw new NullPointerException();
1813          }
1814          ensureMsgsIsMutable();
1815          msgs_.add(value);
1816          onChanged();
1817        } else {
1818          msgsBuilder_.addMessage(value);
1819        }
1820        return this;
1821      }
1822      /**
1823       * <code>repeated .GroupMessageBody msgs = 8;</code>
1824       */
1825      public Builder addMsgs(
1826          int index, org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody value) {
1827        if (msgsBuilder_ == null) {
1828          if (value == null) {
1829            throw new NullPointerException();
1830          }
1831          ensureMsgsIsMutable();
1832          msgs_.add(index, value);
1833          onChanged();
1834        } else {
1835          msgsBuilder_.addMessage(index, value);
1836        }
1837        return this;
1838      }
1839      /**
1840       * <code>repeated .GroupMessageBody msgs = 8;</code>
1841       */
1842      public Builder addMsgs(
1843          org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.Builder builderForValue) {
1844        if (msgsBuilder_ == null) {
1845          ensureMsgsIsMutable();
1846          msgs_.add(builderForValue.build());
1847          onChanged();
1848        } else {
1849          msgsBuilder_.addMessage(builderForValue.build());
1850        }
1851        return this;
1852      }
1853      /**
1854       * <code>repeated .GroupMessageBody msgs = 8;</code>
1855       */
1856      public Builder addMsgs(
1857          int index, org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.Builder builderForValue) {
1858        if (msgsBuilder_ == null) {
1859          ensureMsgsIsMutable();
1860          msgs_.add(index, builderForValue.build());
1861          onChanged();
1862        } else {
1863          msgsBuilder_.addMessage(index, builderForValue.build());
1864        }
1865        return this;
1866      }
1867      /**
1868       * <code>repeated .GroupMessageBody msgs = 8;</code>
1869       */
1870      public Builder addAllMsgs(
1871          java.lang.Iterable<? extends org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody> values) {
1872        if (msgsBuilder_ == null) {
1873          ensureMsgsIsMutable();
1874          super.addAll(values, msgs_);
1875          onChanged();
1876        } else {
1877          msgsBuilder_.addAllMessages(values);
1878        }
1879        return this;
1880      }
1881      /**
1882       * <code>repeated .GroupMessageBody msgs = 8;</code>
1883       */
1884      public Builder clearMsgs() {
1885        if (msgsBuilder_ == null) {
1886          msgs_ = java.util.Collections.emptyList();
1887          bitField0_ = (bitField0_ & ~0x00000080);
1888          onChanged();
1889        } else {
1890          msgsBuilder_.clear();
1891        }
1892        return this;
1893      }
1894      /**
1895       * <code>repeated .GroupMessageBody msgs = 8;</code>
1896       */
1897      public Builder removeMsgs(int index) {
1898        if (msgsBuilder_ == null) {
1899          ensureMsgsIsMutable();
1900          msgs_.remove(index);
1901          onChanged();
1902        } else {
1903          msgsBuilder_.remove(index);
1904        }
1905        return this;
1906      }
1907      /**
1908       * <code>repeated .GroupMessageBody msgs = 8;</code>
1909       */
1910      public org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.Builder getMsgsBuilder(
1911          int index) {
1912        return getMsgsFieldBuilder().getBuilder(index);
1913      }
1914      /**
1915       * <code>repeated .GroupMessageBody msgs = 8;</code>
1916       */
1917      public org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBodyOrBuilder getMsgsOrBuilder(
1918          int index) {
1919        if (msgsBuilder_ == null) {
1920          return msgs_.get(index);  } else {
1921          return msgsBuilder_.getMessageOrBuilder(index);
1922        }
1923      }
1924      /**
1925       * <code>repeated .GroupMessageBody msgs = 8;</code>
1926       */
1927      public java.util.List<? extends org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBodyOrBuilder> 
1928           getMsgsOrBuilderList() {
1929        if (msgsBuilder_ != null) {
1930          return msgsBuilder_.getMessageOrBuilderList();
1931        } else {
1932          return java.util.Collections.unmodifiableList(msgs_);
1933        }
1934      }
1935      /**
1936       * <code>repeated .GroupMessageBody msgs = 8;</code>
1937       */
1938      public org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.Builder addMsgsBuilder() {
1939        return getMsgsFieldBuilder().addBuilder(
1940            org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.getDefaultInstance());
1941      }
1942      /**
1943       * <code>repeated .GroupMessageBody msgs = 8;</code>
1944       */
1945      public org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.Builder addMsgsBuilder(
1946          int index) {
1947        return getMsgsFieldBuilder().addBuilder(
1948            index, org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.getDefaultInstance());
1949      }
1950      /**
1951       * <code>repeated .GroupMessageBody msgs = 8;</code>
1952       */
1953      public java.util.List<org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.Builder> 
1954           getMsgsBuilderList() {
1955        return getMsgsFieldBuilder().getBuilderList();
1956      }
1957      private com.google.protobuf.RepeatedFieldBuilder<
1958          org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody, org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.Builder, org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBodyOrBuilder> 
1959          getMsgsFieldBuilder() {
1960        if (msgsBuilder_ == null) {
1961          msgsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
1962              org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody, org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.Builder, org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBodyOrBuilder>(
1963                  msgs_,
1964                  ((bitField0_ & 0x00000080) == 0x00000080),
1965                  getParentForChildren(),
1966                  isClean());
1967          msgs_ = null;
1968        }
1969        return msgsBuilder_;
1970      }
1971
1972      // @@protoc_insertion_point(builder_scope:GroupCommMessage)
1973    }
1974
1975    static {
1976      defaultInstance = new GroupCommMessage(true);
1977      defaultInstance.initFields();
1978    }
1979
1980    // @@protoc_insertion_point(class_scope:GroupCommMessage)
1981  }
1982
1983  public interface GroupMessageBodyOrBuilder
1984      extends com.google.protobuf.MessageOrBuilder {
1985
1986    // required bytes data = 1;
1987    /**
1988     * <code>required bytes data = 1;</code>
1989     */
1990    boolean hasData();
1991    /**
1992     * <code>required bytes data = 1;</code>
1993     */
1994    com.google.protobuf.ByteString getData();
1995  }
1996  /**
1997   * Protobuf type {@code GroupMessageBody}
1998   */
1999  public static final class GroupMessageBody extends
2000      com.google.protobuf.GeneratedMessage
2001      implements GroupMessageBodyOrBuilder {
2002    // Use GroupMessageBody.newBuilder() to construct.
2003    private GroupMessageBody(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
2004      super(builder);
2005      this.unknownFields = builder.getUnknownFields();
2006    }
2007    private GroupMessageBody(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
2008
2009    private static final GroupMessageBody defaultInstance;
2010    public static GroupMessageBody getDefaultInstance() {
2011      return defaultInstance;
2012    }
2013
2014    public GroupMessageBody getDefaultInstanceForType() {
2015      return defaultInstance;
2016    }
2017
2018    private final com.google.protobuf.UnknownFieldSet unknownFields;
2019    @java.lang.Override
2020    public final com.google.protobuf.UnknownFieldSet
2021        getUnknownFields() {
2022      return this.unknownFields;
2023    }
2024    private GroupMessageBody(
2025        com.google.protobuf.CodedInputStream input,
2026        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2027        throws com.google.protobuf.InvalidProtocolBufferException {
2028      initFields();
2029      int mutable_bitField0_ = 0;
2030      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
2031          com.google.protobuf.UnknownFieldSet.newBuilder();
2032      try {
2033        boolean done = false;
2034        while (!done) {
2035          int tag = input.readTag();
2036          switch (tag) {
2037            case 0:
2038              done = true;
2039              break;
2040            default: {
2041              if (!parseUnknownField(input, unknownFields,
2042                                     extensionRegistry, tag)) {
2043                done = true;
2044              }
2045              break;
2046            }
2047            case 10: {
2048              bitField0_ |= 0x00000001;
2049              data_ = input.readBytes();
2050              break;
2051            }
2052          }
2053        }
2054      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2055        throw e.setUnfinishedMessage(this);
2056      } catch (java.io.IOException e) {
2057        throw new com.google.protobuf.InvalidProtocolBufferException(
2058            e.getMessage()).setUnfinishedMessage(this);
2059      } finally {
2060        this.unknownFields = unknownFields.build();
2061        makeExtensionsImmutable();
2062      }
2063    }
2064    public static final com.google.protobuf.Descriptors.Descriptor
2065        getDescriptor() {
2066      return org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.internal_static_GroupMessageBody_descriptor;
2067    }
2068
2069    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
2070        internalGetFieldAccessorTable() {
2071      return org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.internal_static_GroupMessageBody_fieldAccessorTable
2072          .ensureFieldAccessorsInitialized(
2073              org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.class, org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.Builder.class);
2074    }
2075
2076    public static com.google.protobuf.Parser<GroupMessageBody> PARSER =
2077        new com.google.protobuf.AbstractParser<GroupMessageBody>() {
2078      public GroupMessageBody parsePartialFrom(
2079          com.google.protobuf.CodedInputStream input,
2080          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2081          throws com.google.protobuf.InvalidProtocolBufferException {
2082        return new GroupMessageBody(input, extensionRegistry);
2083      }
2084    };
2085
2086    @java.lang.Override
2087    public com.google.protobuf.Parser<GroupMessageBody> getParserForType() {
2088      return PARSER;
2089    }
2090
2091    private int bitField0_;
2092    // required bytes data = 1;
2093    public static final int DATA_FIELD_NUMBER = 1;
2094    private com.google.protobuf.ByteString data_;
2095    /**
2096     * <code>required bytes data = 1;</code>
2097     */
2098    public boolean hasData() {
2099      return ((bitField0_ & 0x00000001) == 0x00000001);
2100    }
2101    /**
2102     * <code>required bytes data = 1;</code>
2103     */
2104    public com.google.protobuf.ByteString getData() {
2105      return data_;
2106    }
2107
2108    private void initFields() {
2109      data_ = com.google.protobuf.ByteString.EMPTY;
2110    }
2111    private byte memoizedIsInitialized = -1;
2112    public final boolean isInitialized() {
2113      byte isInitialized = memoizedIsInitialized;
2114      if (isInitialized != -1) return isInitialized == 1;
2115
2116      if (!hasData()) {
2117        memoizedIsInitialized = 0;
2118        return false;
2119      }
2120      memoizedIsInitialized = 1;
2121      return true;
2122    }
2123
2124    public void writeTo(com.google.protobuf.CodedOutputStream output)
2125                        throws java.io.IOException {
2126      getSerializedSize();
2127      if (((bitField0_ & 0x00000001) == 0x00000001)) {
2128        output.writeBytes(1, data_);
2129      }
2130      getUnknownFields().writeTo(output);
2131    }
2132
2133    private int memoizedSerializedSize = -1;
2134    public int getSerializedSize() {
2135      int size = memoizedSerializedSize;
2136      if (size != -1) return size;
2137
2138      size = 0;
2139      if (((bitField0_ & 0x00000001) == 0x00000001)) {
2140        size += com.google.protobuf.CodedOutputStream
2141          .computeBytesSize(1, data_);
2142      }
2143      size += getUnknownFields().getSerializedSize();
2144      memoizedSerializedSize = size;
2145      return size;
2146    }
2147
2148    private static final long serialVersionUID = 0L;
2149    @java.lang.Override
2150    protected java.lang.Object writeReplace()
2151        throws java.io.ObjectStreamException {
2152      return super.writeReplace();
2153    }
2154
2155    @java.lang.Override
2156    public boolean equals(final java.lang.Object obj) {
2157      if (obj == this) {
2158       return true;
2159      }
2160      if (!(obj instanceof org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody)) {
2161        return super.equals(obj);
2162      }
2163      org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody other = (org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody) obj;
2164
2165      boolean result = true;
2166      result = result && (hasData() == other.hasData());
2167      if (hasData()) {
2168        result = result && getData()
2169            .equals(other.getData());
2170      }
2171      result = result &&
2172          getUnknownFields().equals(other.getUnknownFields());
2173      return result;
2174    }
2175
2176    private int memoizedHashCode = 0;
2177    @java.lang.Override
2178    public int hashCode() {
2179      if (memoizedHashCode != 0) {
2180        return memoizedHashCode;
2181      }
2182      int hash = 41;
2183      hash = (19 * hash) + getDescriptorForType().hashCode();
2184      if (hasData()) {
2185        hash = (37 * hash) + DATA_FIELD_NUMBER;
2186        hash = (53 * hash) + getData().hashCode();
2187      }
2188      hash = (29 * hash) + getUnknownFields().hashCode();
2189      memoizedHashCode = hash;
2190      return hash;
2191    }
2192
2193    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody parseFrom(
2194        com.google.protobuf.ByteString data)
2195        throws com.google.protobuf.InvalidProtocolBufferException {
2196      return PARSER.parseFrom(data);
2197    }
2198    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody parseFrom(
2199        com.google.protobuf.ByteString data,
2200        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2201        throws com.google.protobuf.InvalidProtocolBufferException {
2202      return PARSER.parseFrom(data, extensionRegistry);
2203    }
2204    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody parseFrom(byte[] data)
2205        throws com.google.protobuf.InvalidProtocolBufferException {
2206      return PARSER.parseFrom(data);
2207    }
2208    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody parseFrom(
2209        byte[] data,
2210        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2211        throws com.google.protobuf.InvalidProtocolBufferException {
2212      return PARSER.parseFrom(data, extensionRegistry);
2213    }
2214    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody parseFrom(java.io.InputStream input)
2215        throws java.io.IOException {
2216      return PARSER.parseFrom(input);
2217    }
2218    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody parseFrom(
2219        java.io.InputStream input,
2220        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2221        throws java.io.IOException {
2222      return PARSER.parseFrom(input, extensionRegistry);
2223    }
2224    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody parseDelimitedFrom(java.io.InputStream input)
2225        throws java.io.IOException {
2226      return PARSER.parseDelimitedFrom(input);
2227    }
2228    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody parseDelimitedFrom(
2229        java.io.InputStream input,
2230        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2231        throws java.io.IOException {
2232      return PARSER.parseDelimitedFrom(input, extensionRegistry);
2233    }
2234    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody parseFrom(
2235        com.google.protobuf.CodedInputStream input)
2236        throws java.io.IOException {
2237      return PARSER.parseFrom(input);
2238    }
2239    public static org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody parseFrom(
2240        com.google.protobuf.CodedInputStream input,
2241        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2242        throws java.io.IOException {
2243      return PARSER.parseFrom(input, extensionRegistry);
2244    }
2245
2246    public static Builder newBuilder() { return Builder.create(); }
2247    public Builder newBuilderForType() { return newBuilder(); }
2248    public static Builder newBuilder(org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody prototype) {
2249      return newBuilder().mergeFrom(prototype);
2250    }
2251    public Builder toBuilder() { return newBuilder(this); }
2252
2253    @java.lang.Override
2254    protected Builder newBuilderForType(
2255        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2256      Builder builder = new Builder(parent);
2257      return builder;
2258    }
2259    /**
2260     * Protobuf type {@code GroupMessageBody}
2261     */
2262    public static final class Builder extends
2263        com.google.protobuf.GeneratedMessage.Builder<Builder>
2264       implements org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBodyOrBuilder {
2265      public static final com.google.protobuf.Descriptors.Descriptor
2266          getDescriptor() {
2267        return org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.internal_static_GroupMessageBody_descriptor;
2268      }
2269
2270      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
2271          internalGetFieldAccessorTable() {
2272        return org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.internal_static_GroupMessageBody_fieldAccessorTable
2273            .ensureFieldAccessorsInitialized(
2274                org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.class, org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.Builder.class);
2275      }
2276
2277      // Construct using org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.newBuilder()
2278      private Builder() {
2279        maybeForceBuilderInitialization();
2280      }
2281
2282      private Builder(
2283          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2284        super(parent);
2285        maybeForceBuilderInitialization();
2286      }
2287      private void maybeForceBuilderInitialization() {
2288        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
2289        }
2290      }
2291      private static Builder create() {
2292        return new Builder();
2293      }
2294
2295      public Builder clear() {
2296        super.clear();
2297        data_ = com.google.protobuf.ByteString.EMPTY;
2298        bitField0_ = (bitField0_ & ~0x00000001);
2299        return this;
2300      }
2301
2302      public Builder clone() {
2303        return create().mergeFrom(buildPartial());
2304      }
2305
2306      public com.google.protobuf.Descriptors.Descriptor
2307          getDescriptorForType() {
2308        return org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.internal_static_GroupMessageBody_descriptor;
2309      }
2310
2311      public org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody getDefaultInstanceForType() {
2312        return org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.getDefaultInstance();
2313      }
2314
2315      public org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody build() {
2316        org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody result = buildPartial();
2317        if (!result.isInitialized()) {
2318          throw newUninitializedMessageException(result);
2319        }
2320        return result;
2321      }
2322
2323      public org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody buildPartial() {
2324        org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody result = new org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody(this);
2325        int from_bitField0_ = bitField0_;
2326        int to_bitField0_ = 0;
2327        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
2328          to_bitField0_ |= 0x00000001;
2329        }
2330        result.data_ = data_;
2331        result.bitField0_ = to_bitField0_;
2332        onBuilt();
2333        return result;
2334      }
2335
2336      public Builder mergeFrom(com.google.protobuf.Message other) {
2337        if (other instanceof org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody) {
2338          return mergeFrom((org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody)other);
2339        } else {
2340          super.mergeFrom(other);
2341          return this;
2342        }
2343      }
2344
2345      public Builder mergeFrom(org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody other) {
2346        if (other == org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody.getDefaultInstance()) return this;
2347        if (other.hasData()) {
2348          setData(other.getData());
2349        }
2350        this.mergeUnknownFields(other.getUnknownFields());
2351        return this;
2352      }
2353
2354      public final boolean isInitialized() {
2355        if (!hasData()) {
2356          
2357          return false;
2358        }
2359        return true;
2360      }
2361
2362      public Builder mergeFrom(
2363          com.google.protobuf.CodedInputStream input,
2364          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2365          throws java.io.IOException {
2366        org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody parsedMessage = null;
2367        try {
2368          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
2369        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2370          parsedMessage = (org.apache.reef.io.network.proto.ReefNetworkGroupCommProtos.GroupMessageBody) e.getUnfinishedMessage();
2371          throw e;
2372        } finally {
2373          if (parsedMessage != null) {
2374            mergeFrom(parsedMessage);
2375          }
2376        }
2377        return this;
2378      }
2379      private int bitField0_;
2380
2381      // required bytes data = 1;
2382      private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
2383      /**
2384       * <code>required bytes data = 1;</code>
2385       */
2386      public boolean hasData() {
2387        return ((bitField0_ & 0x00000001) == 0x00000001);
2388      }
2389      /**
2390       * <code>required bytes data = 1;</code>
2391       */
2392      public com.google.protobuf.ByteString getData() {
2393        return data_;
2394      }
2395      /**
2396       * <code>required bytes data = 1;</code>
2397       */
2398      public Builder setData(com.google.protobuf.ByteString value) {
2399        if (value == null) {
2400    throw new NullPointerException();
2401  }
2402  bitField0_ |= 0x00000001;
2403        data_ = value;
2404        onChanged();
2405        return this;
2406      }
2407      /**
2408       * <code>required bytes data = 1;</code>
2409       */
2410      public Builder clearData() {
2411        bitField0_ = (bitField0_ & ~0x00000001);
2412        data_ = getDefaultInstance().getData();
2413        onChanged();
2414        return this;
2415      }
2416
2417      // @@protoc_insertion_point(builder_scope:GroupMessageBody)
2418    }
2419
2420    static {
2421      defaultInstance = new GroupMessageBody(true);
2422      defaultInstance.initFields();
2423    }
2424
2425    // @@protoc_insertion_point(class_scope:GroupMessageBody)
2426  }
2427
2428  private static com.google.protobuf.Descriptors.Descriptor
2429    internal_static_GroupCommMessage_descriptor;
2430  private static
2431    com.google.protobuf.GeneratedMessage.FieldAccessorTable
2432      internal_static_GroupCommMessage_fieldAccessorTable;
2433  private static com.google.protobuf.Descriptors.Descriptor
2434    internal_static_GroupMessageBody_descriptor;
2435  private static
2436    com.google.protobuf.GeneratedMessage.FieldAccessorTable
2437      internal_static_GroupMessageBody_fieldAccessorTable;
2438
2439  public static com.google.protobuf.Descriptors.FileDescriptor
2440      getDescriptor() {
2441    return descriptor;
2442  }
2443  private static com.google.protobuf.Descriptors.FileDescriptor
2444      descriptor;
2445  static {
2446    java.lang.String[] descriptorData = {
2447      "\n\031group_comm_protocol.proto\"\246\004\n\020GroupCom" +
2448      "mMessage\022$\n\004type\030\001 \002(\0162\026.GroupCommMessag" +
2449      "e.Type\022\r\n\005srcid\030\002 \002(\t\022\016\n\006destid\030\003 \002(\t\022\021\n" +
2450      "\tgroupname\030\004 \001(\t\022\024\n\014operatorname\030\005 \001(\t\022\017" +
2451      "\n\007version\030\006 \001(\005\022\022\n\nsrcVersion\030\007 \001(\005\022\037\n\004m" +
2452      "sgs\030\010 \003(\0132\021.GroupMessageBody\"\335\002\n\004Type\022\013\n" +
2453      "\007Scatter\020\001\022\n\n\006Gather\020\002\022\r\n\tBroadcast\020\003\022\n\n" +
2454      "\006Reduce\020\004\022\r\n\tAllGather\020\005\022\r\n\tAllReduce\020\006\022" +
2455      "\021\n\rReduceScatter\020\007\022\016\n\nSourceDead\020\010\022\r\n\tSo" +
2456      "urceAdd\020\t\022\r\n\tParentAdd\020\n\022\014\n\010ChildAdd\020\013\022\016",
2457      "\n\nParentDead\020\014\022\r\n\tChildDead\020\r\022\017\n\013ParentA" +
2458      "dded\020\016\022\016\n\nChildAdded\020\017\022\021\n\rParentRemoved\020" +
2459      "\020\022\020\n\014ChildRemoved\020\021\022\021\n\rTopologySetup\020\022\022\022" +
2460      "\n\016UpdateTopology\020\023\022\023\n\017TopologyUpdated\020\024\022" +
2461      "\023\n\017TopologyChanges\020\025\" \n\020GroupMessageBody" +
2462      "\022\014\n\004data\030\001 \002(\014BD\n org.apache.reef.io.net" +
2463      "work.protoB\032ReefNetworkGroupCommProtos\210\001" +
2464      "\001\240\001\001"
2465    };
2466    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
2467      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
2468        public com.google.protobuf.ExtensionRegistry assignDescriptors(
2469            com.google.protobuf.Descriptors.FileDescriptor root) {
2470          descriptor = root;
2471          internal_static_GroupCommMessage_descriptor =
2472            getDescriptor().getMessageTypes().get(0);
2473          internal_static_GroupCommMessage_fieldAccessorTable = new
2474            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
2475              internal_static_GroupCommMessage_descriptor,
2476              new java.lang.String[] { "Type", "Srcid", "Destid", "Groupname", "Operatorname", "Version", "SrcVersion", "Msgs", });
2477          internal_static_GroupMessageBody_descriptor =
2478            getDescriptor().getMessageTypes().get(1);
2479          internal_static_GroupMessageBody_fieldAccessorTable = new
2480            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
2481              internal_static_GroupMessageBody_descriptor,
2482              new java.lang.String[] { "Data", });
2483          return null;
2484        }
2485      };
2486    com.google.protobuf.Descriptors.FileDescriptor
2487      .internalBuildGeneratedFileFrom(descriptorData,
2488        new com.google.protobuf.Descriptors.FileDescriptor[] {
2489        }, assigner);
2490  }
2491
2492  // @@protoc_insertion_point(outer_class_scope)
2493}