You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by si...@apache.org on 2016/03/16 04:44:30 UTC

[20/49] bookkeeper git commit: BOOKKEEPER-769: Remove the Hedwig Code

http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/9a8d62b1/hedwig-protocol/src/main/java/org/apache/hedwig/protocol/PubSubProtocol.java
----------------------------------------------------------------------
diff --git a/hedwig-protocol/src/main/java/org/apache/hedwig/protocol/PubSubProtocol.java b/hedwig-protocol/src/main/java/org/apache/hedwig/protocol/PubSubProtocol.java
deleted file mode 100644
index 4bba8cc..0000000
--- a/hedwig-protocol/src/main/java/org/apache/hedwig/protocol/PubSubProtocol.java
+++ /dev/null
@@ -1,16883 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: src/main/protobuf/PubSubProtocol.proto
-
-package org.apache.hedwig.protocol;
-
-public final class PubSubProtocol {
-  private PubSubProtocol() {}
-  public static void registerAllExtensions(
-      com.google.protobuf.ExtensionRegistry registry) {
-  }
-  public enum ProtocolVersion
-      implements com.google.protobuf.ProtocolMessageEnum {
-    VERSION_ONE(0, 1),
-    ;
-    
-    public static final int VERSION_ONE_VALUE = 1;
-    
-    
-    public final int getNumber() { return value; }
-    
-    public static ProtocolVersion valueOf(int value) {
-      switch (value) {
-        case 1: return VERSION_ONE;
-        default: return null;
-      }
-    }
-    
-    public static com.google.protobuf.Internal.EnumLiteMap<ProtocolVersion>
-        internalGetValueMap() {
-      return internalValueMap;
-    }
-    private static com.google.protobuf.Internal.EnumLiteMap<ProtocolVersion>
-        internalValueMap =
-          new com.google.protobuf.Internal.EnumLiteMap<ProtocolVersion>() {
-            public ProtocolVersion findValueByNumber(int number) {
-              return ProtocolVersion.valueOf(number);
-            }
-          };
-    
-    public final com.google.protobuf.Descriptors.EnumValueDescriptor
-        getValueDescriptor() {
-      return getDescriptor().getValues().get(index);
-    }
-    public final com.google.protobuf.Descriptors.EnumDescriptor
-        getDescriptorForType() {
-      return getDescriptor();
-    }
-    public static final com.google.protobuf.Descriptors.EnumDescriptor
-        getDescriptor() {
-      return org.apache.hedwig.protocol.PubSubProtocol.getDescriptor().getEnumTypes().get(0);
-    }
-    
-    private static final ProtocolVersion[] VALUES = {
-      VERSION_ONE, 
-    };
-    
-    public static ProtocolVersion valueOf(
-        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
-      if (desc.getType() != getDescriptor()) {
-        throw new java.lang.IllegalArgumentException(
-          "EnumValueDescriptor is not for this type.");
-      }
-      return VALUES[desc.getIndex()];
-    }
-    
-    private final int index;
-    private final int value;
-    
-    private ProtocolVersion(int index, int value) {
-      this.index = index;
-      this.value = value;
-    }
-    
-    // @@protoc_insertion_point(enum_scope:Hedwig.ProtocolVersion)
-  }
-  
-  public enum OperationType
-      implements com.google.protobuf.ProtocolMessageEnum {
-    PUBLISH(0, 0),
-    SUBSCRIBE(1, 1),
-    CONSUME(2, 2),
-    UNSUBSCRIBE(3, 3),
-    START_DELIVERY(4, 4),
-    STOP_DELIVERY(5, 5),
-    CLOSESUBSCRIPTION(6, 6),
-    ;
-    
-    public static final int PUBLISH_VALUE = 0;
-    public static final int SUBSCRIBE_VALUE = 1;
-    public static final int CONSUME_VALUE = 2;
-    public static final int UNSUBSCRIBE_VALUE = 3;
-    public static final int START_DELIVERY_VALUE = 4;
-    public static final int STOP_DELIVERY_VALUE = 5;
-    public static final int CLOSESUBSCRIPTION_VALUE = 6;
-    
-    
-    public final int getNumber() { return value; }
-    
-    public static OperationType valueOf(int value) {
-      switch (value) {
-        case 0: return PUBLISH;
-        case 1: return SUBSCRIBE;
-        case 2: return CONSUME;
-        case 3: return UNSUBSCRIBE;
-        case 4: return START_DELIVERY;
-        case 5: return STOP_DELIVERY;
-        case 6: return CLOSESUBSCRIPTION;
-        default: return null;
-      }
-    }
-    
-    public static com.google.protobuf.Internal.EnumLiteMap<OperationType>
-        internalGetValueMap() {
-      return internalValueMap;
-    }
-    private static com.google.protobuf.Internal.EnumLiteMap<OperationType>
-        internalValueMap =
-          new com.google.protobuf.Internal.EnumLiteMap<OperationType>() {
-            public OperationType findValueByNumber(int number) {
-              return OperationType.valueOf(number);
-            }
-          };
-    
-    public final com.google.protobuf.Descriptors.EnumValueDescriptor
-        getValueDescriptor() {
-      return getDescriptor().getValues().get(index);
-    }
-    public final com.google.protobuf.Descriptors.EnumDescriptor
-        getDescriptorForType() {
-      return getDescriptor();
-    }
-    public static final com.google.protobuf.Descriptors.EnumDescriptor
-        getDescriptor() {
-      return org.apache.hedwig.protocol.PubSubProtocol.getDescriptor().getEnumTypes().get(1);
-    }
-    
-    private static final OperationType[] VALUES = {
-      PUBLISH, SUBSCRIBE, CONSUME, UNSUBSCRIBE, START_DELIVERY, STOP_DELIVERY, CLOSESUBSCRIPTION, 
-    };
-    
-    public static OperationType valueOf(
-        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
-      if (desc.getType() != getDescriptor()) {
-        throw new java.lang.IllegalArgumentException(
-          "EnumValueDescriptor is not for this type.");
-      }
-      return VALUES[desc.getIndex()];
-    }
-    
-    private final int index;
-    private final int value;
-    
-    private OperationType(int index, int value) {
-      this.index = index;
-      this.value = value;
-    }
-    
-    // @@protoc_insertion_point(enum_scope:Hedwig.OperationType)
-  }
-  
-  public enum SubscriptionEvent
-      implements com.google.protobuf.ProtocolMessageEnum {
-    TOPIC_MOVED(0, 1),
-    SUBSCRIPTION_FORCED_CLOSED(1, 2),
-    ;
-    
-    public static final int TOPIC_MOVED_VALUE = 1;
-    public static final int SUBSCRIPTION_FORCED_CLOSED_VALUE = 2;
-    
-    
-    public final int getNumber() { return value; }
-    
-    public static SubscriptionEvent valueOf(int value) {
-      switch (value) {
-        case 1: return TOPIC_MOVED;
-        case 2: return SUBSCRIPTION_FORCED_CLOSED;
-        default: return null;
-      }
-    }
-    
-    public static com.google.protobuf.Internal.EnumLiteMap<SubscriptionEvent>
-        internalGetValueMap() {
-      return internalValueMap;
-    }
-    private static com.google.protobuf.Internal.EnumLiteMap<SubscriptionEvent>
-        internalValueMap =
-          new com.google.protobuf.Internal.EnumLiteMap<SubscriptionEvent>() {
-            public SubscriptionEvent findValueByNumber(int number) {
-              return SubscriptionEvent.valueOf(number);
-            }
-          };
-    
-    public final com.google.protobuf.Descriptors.EnumValueDescriptor
-        getValueDescriptor() {
-      return getDescriptor().getValues().get(index);
-    }
-    public final com.google.protobuf.Descriptors.EnumDescriptor
-        getDescriptorForType() {
-      return getDescriptor();
-    }
-    public static final com.google.protobuf.Descriptors.EnumDescriptor
-        getDescriptor() {
-      return org.apache.hedwig.protocol.PubSubProtocol.getDescriptor().getEnumTypes().get(2);
-    }
-    
-    private static final SubscriptionEvent[] VALUES = {
-      TOPIC_MOVED, SUBSCRIPTION_FORCED_CLOSED, 
-    };
-    
-    public static SubscriptionEvent valueOf(
-        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
-      if (desc.getType() != getDescriptor()) {
-        throw new java.lang.IllegalArgumentException(
-          "EnumValueDescriptor is not for this type.");
-      }
-      return VALUES[desc.getIndex()];
-    }
-    
-    private final int index;
-    private final int value;
-    
-    private SubscriptionEvent(int index, int value) {
-      this.index = index;
-      this.value = value;
-    }
-    
-    // @@protoc_insertion_point(enum_scope:Hedwig.SubscriptionEvent)
-  }
-  
-  public enum StatusCode
-      implements com.google.protobuf.ProtocolMessageEnum {
-    SUCCESS(0, 0),
-    MALFORMED_REQUEST(1, 401),
-    NO_SUCH_TOPIC(2, 402),
-    CLIENT_ALREADY_SUBSCRIBED(3, 403),
-    CLIENT_NOT_SUBSCRIBED(4, 404),
-    COULD_NOT_CONNECT(5, 405),
-    TOPIC_BUSY(6, 406),
-    RESUBSCRIBE_EXCEPTION(7, 407),
-    NOT_RESPONSIBLE_FOR_TOPIC(8, 501),
-    SERVICE_DOWN(9, 502),
-    UNCERTAIN_STATE(10, 503),
-    INVALID_MESSAGE_FILTER(11, 504),
-    BAD_VERSION(12, 520),
-    NO_TOPIC_PERSISTENCE_INFO(13, 521),
-    TOPIC_PERSISTENCE_INFO_EXISTS(14, 522),
-    NO_SUBSCRIPTION_STATE(15, 523),
-    SUBSCRIPTION_STATE_EXISTS(16, 524),
-    NO_TOPIC_OWNER_INFO(17, 525),
-    TOPIC_OWNER_INFO_EXISTS(18, 526),
-    UNEXPECTED_CONDITION(19, 600),
-    COMPOSITE(20, 700),
-    ;
-    
-    public static final int SUCCESS_VALUE = 0;
-    public static final int MALFORMED_REQUEST_VALUE = 401;
-    public static final int NO_SUCH_TOPIC_VALUE = 402;
-    public static final int CLIENT_ALREADY_SUBSCRIBED_VALUE = 403;
-    public static final int CLIENT_NOT_SUBSCRIBED_VALUE = 404;
-    public static final int COULD_NOT_CONNECT_VALUE = 405;
-    public static final int TOPIC_BUSY_VALUE = 406;
-    public static final int RESUBSCRIBE_EXCEPTION_VALUE = 407;
-    public static final int NOT_RESPONSIBLE_FOR_TOPIC_VALUE = 501;
-    public static final int SERVICE_DOWN_VALUE = 502;
-    public static final int UNCERTAIN_STATE_VALUE = 503;
-    public static final int INVALID_MESSAGE_FILTER_VALUE = 504;
-    public static final int BAD_VERSION_VALUE = 520;
-    public static final int NO_TOPIC_PERSISTENCE_INFO_VALUE = 521;
-    public static final int TOPIC_PERSISTENCE_INFO_EXISTS_VALUE = 522;
-    public static final int NO_SUBSCRIPTION_STATE_VALUE = 523;
-    public static final int SUBSCRIPTION_STATE_EXISTS_VALUE = 524;
-    public static final int NO_TOPIC_OWNER_INFO_VALUE = 525;
-    public static final int TOPIC_OWNER_INFO_EXISTS_VALUE = 526;
-    public static final int UNEXPECTED_CONDITION_VALUE = 600;
-    public static final int COMPOSITE_VALUE = 700;
-    
-    
-    public final int getNumber() { return value; }
-    
-    public static StatusCode valueOf(int value) {
-      switch (value) {
-        case 0: return SUCCESS;
-        case 401: return MALFORMED_REQUEST;
-        case 402: return NO_SUCH_TOPIC;
-        case 403: return CLIENT_ALREADY_SUBSCRIBED;
-        case 404: return CLIENT_NOT_SUBSCRIBED;
-        case 405: return COULD_NOT_CONNECT;
-        case 406: return TOPIC_BUSY;
-        case 407: return RESUBSCRIBE_EXCEPTION;
-        case 501: return NOT_RESPONSIBLE_FOR_TOPIC;
-        case 502: return SERVICE_DOWN;
-        case 503: return UNCERTAIN_STATE;
-        case 504: return INVALID_MESSAGE_FILTER;
-        case 520: return BAD_VERSION;
-        case 521: return NO_TOPIC_PERSISTENCE_INFO;
-        case 522: return TOPIC_PERSISTENCE_INFO_EXISTS;
-        case 523: return NO_SUBSCRIPTION_STATE;
-        case 524: return SUBSCRIPTION_STATE_EXISTS;
-        case 525: return NO_TOPIC_OWNER_INFO;
-        case 526: return TOPIC_OWNER_INFO_EXISTS;
-        case 600: return UNEXPECTED_CONDITION;
-        case 700: return COMPOSITE;
-        default: return null;
-      }
-    }
-    
-    public static com.google.protobuf.Internal.EnumLiteMap<StatusCode>
-        internalGetValueMap() {
-      return internalValueMap;
-    }
-    private static com.google.protobuf.Internal.EnumLiteMap<StatusCode>
-        internalValueMap =
-          new com.google.protobuf.Internal.EnumLiteMap<StatusCode>() {
-            public StatusCode findValueByNumber(int number) {
-              return StatusCode.valueOf(number);
-            }
-          };
-    
-    public final com.google.protobuf.Descriptors.EnumValueDescriptor
-        getValueDescriptor() {
-      return getDescriptor().getValues().get(index);
-    }
-    public final com.google.protobuf.Descriptors.EnumDescriptor
-        getDescriptorForType() {
-      return getDescriptor();
-    }
-    public static final com.google.protobuf.Descriptors.EnumDescriptor
-        getDescriptor() {
-      return org.apache.hedwig.protocol.PubSubProtocol.getDescriptor().getEnumTypes().get(3);
-    }
-    
-    private static final StatusCode[] VALUES = {
-      SUCCESS, MALFORMED_REQUEST, NO_SUCH_TOPIC, CLIENT_ALREADY_SUBSCRIBED, CLIENT_NOT_SUBSCRIBED, COULD_NOT_CONNECT, TOPIC_BUSY, RESUBSCRIBE_EXCEPTION, NOT_RESPONSIBLE_FOR_TOPIC, SERVICE_DOWN, UNCERTAIN_STATE, INVALID_MESSAGE_FILTER, BAD_VERSION, NO_TOPIC_PERSISTENCE_INFO, TOPIC_PERSISTENCE_INFO_EXISTS, NO_SUBSCRIPTION_STATE, SUBSCRIPTION_STATE_EXISTS, NO_TOPIC_OWNER_INFO, TOPIC_OWNER_INFO_EXISTS, UNEXPECTED_CONDITION, COMPOSITE, 
-    };
-    
-    public static StatusCode valueOf(
-        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
-      if (desc.getType() != getDescriptor()) {
-        throw new java.lang.IllegalArgumentException(
-          "EnumValueDescriptor is not for this type.");
-      }
-      return VALUES[desc.getIndex()];
-    }
-    
-    private final int index;
-    private final int value;
-    
-    private StatusCode(int index, int value) {
-      this.index = index;
-      this.value = value;
-    }
-    
-    // @@protoc_insertion_point(enum_scope:Hedwig.StatusCode)
-  }
-  
-  public interface MapOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-    
-    // repeated .Hedwig.Map.Entry entries = 1;
-    java.util.List<org.apache.hedwig.protocol.PubSubProtocol.Map.Entry> 
-        getEntriesList();
-    org.apache.hedwig.protocol.PubSubProtocol.Map.Entry getEntries(int index);
-    int getEntriesCount();
-    java.util.List<? extends org.apache.hedwig.protocol.PubSubProtocol.Map.EntryOrBuilder> 
-        getEntriesOrBuilderList();
-    org.apache.hedwig.protocol.PubSubProtocol.Map.EntryOrBuilder getEntriesOrBuilder(
-        int index);
-  }
-  public static final class Map extends
-      com.google.protobuf.GeneratedMessage
-      implements MapOrBuilder {
-    // Use Map.newBuilder() to construct.
-    private Map(Builder builder) {
-      super(builder);
-    }
-    private Map(boolean noInit) {}
-    
-    private static final Map defaultInstance;
-    public static Map getDefaultInstance() {
-      return defaultInstance;
-    }
-    
-    public Map getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-    
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.hedwig.protocol.PubSubProtocol.internal_static_Hedwig_Map_descriptor;
-    }
-    
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.hedwig.protocol.PubSubProtocol.internal_static_Hedwig_Map_fieldAccessorTable;
-    }
-    
-    public interface EntryOrBuilder
-        extends com.google.protobuf.MessageOrBuilder {
-      
-      // optional string key = 1;
-      boolean hasKey();
-      String getKey();
-      
-      // optional bytes value = 2;
-      boolean hasValue();
-      com.google.protobuf.ByteString getValue();
-    }
-    public static final class Entry extends
-        com.google.protobuf.GeneratedMessage
-        implements EntryOrBuilder {
-      // Use Entry.newBuilder() to construct.
-      private Entry(Builder builder) {
-        super(builder);
-      }
-      private Entry(boolean noInit) {}
-      
-      private static final Entry defaultInstance;
-      public static Entry getDefaultInstance() {
-        return defaultInstance;
-      }
-      
-      public Entry getDefaultInstanceForType() {
-        return defaultInstance;
-      }
-      
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.hedwig.protocol.PubSubProtocol.internal_static_Hedwig_Map_Entry_descriptor;
-      }
-      
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.hedwig.protocol.PubSubProtocol.internal_static_Hedwig_Map_Entry_fieldAccessorTable;
-      }
-      
-      private int bitField0_;
-      // optional string key = 1;
-      public static final int KEY_FIELD_NUMBER = 1;
-      private java.lang.Object key_;
-      public boolean hasKey() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      public String getKey() {
-        java.lang.Object ref = key_;
-        if (ref instanceof String) {
-          return (String) ref;
-        } else {
-          com.google.protobuf.ByteString bs = 
-              (com.google.protobuf.ByteString) ref;
-          String s = bs.toStringUtf8();
-          if (com.google.protobuf.Internal.isValidUtf8(bs)) {
-            key_ = s;
-          }
-          return s;
-        }
-      }
-      private com.google.protobuf.ByteString getKeyBytes() {
-        java.lang.Object ref = key_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
-          key_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
-      
-      // optional bytes value = 2;
-      public static final int VALUE_FIELD_NUMBER = 2;
-      private com.google.protobuf.ByteString value_;
-      public boolean hasValue() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      public com.google.protobuf.ByteString getValue() {
-        return value_;
-      }
-      
-      private void initFields() {
-        key_ = "";
-        value_ = com.google.protobuf.ByteString.EMPTY;
-      }
-      private byte memoizedIsInitialized = -1;
-      public final boolean isInitialized() {
-        byte isInitialized = memoizedIsInitialized;
-        if (isInitialized != -1) return isInitialized == 1;
-        
-        memoizedIsInitialized = 1;
-        return true;
-      }
-      
-      public void writeTo(com.google.protobuf.CodedOutputStream output)
-                          throws java.io.IOException {
-        getSerializedSize();
-        if (((bitField0_ & 0x00000001) == 0x00000001)) {
-          output.writeBytes(1, getKeyBytes());
-        }
-        if (((bitField0_ & 0x00000002) == 0x00000002)) {
-          output.writeBytes(2, value_);
-        }
-        getUnknownFields().writeTo(output);
-      }
-      
-      private int memoizedSerializedSize = -1;
-      public int getSerializedSize() {
-        int size = memoizedSerializedSize;
-        if (size != -1) return size;
-      
-        size = 0;
-        if (((bitField0_ & 0x00000001) == 0x00000001)) {
-          size += com.google.protobuf.CodedOutputStream
-            .computeBytesSize(1, getKeyBytes());
-        }
-        if (((bitField0_ & 0x00000002) == 0x00000002)) {
-          size += com.google.protobuf.CodedOutputStream
-            .computeBytesSize(2, value_);
-        }
-        size += getUnknownFields().getSerializedSize();
-        memoizedSerializedSize = size;
-        return size;
-      }
-      
-      private static final long serialVersionUID = 0L;
-      @java.lang.Override
-      protected java.lang.Object writeReplace()
-          throws java.io.ObjectStreamException {
-        return super.writeReplace();
-      }
-      
-      public static org.apache.hedwig.protocol.PubSubProtocol.Map.Entry parseFrom(
-          com.google.protobuf.ByteString data)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return newBuilder().mergeFrom(data).buildParsed();
-      }
-      public static org.apache.hedwig.protocol.PubSubProtocol.Map.Entry parseFrom(
-          com.google.protobuf.ByteString data,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return newBuilder().mergeFrom(data, extensionRegistry)
-                 .buildParsed();
-      }
-      public static org.apache.hedwig.protocol.PubSubProtocol.Map.Entry parseFrom(byte[] data)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return newBuilder().mergeFrom(data).buildParsed();
-      }
-      public static org.apache.hedwig.protocol.PubSubProtocol.Map.Entry parseFrom(
-          byte[] data,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return newBuilder().mergeFrom(data, extensionRegistry)
-                 .buildParsed();
-      }
-      public static org.apache.hedwig.protocol.PubSubProtocol.Map.Entry parseFrom(java.io.InputStream input)
-          throws java.io.IOException {
-        return newBuilder().mergeFrom(input).buildParsed();
-      }
-      public static org.apache.hedwig.protocol.PubSubProtocol.Map.Entry parseFrom(
-          java.io.InputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return newBuilder().mergeFrom(input, extensionRegistry)
-                 .buildParsed();
-      }
-      public static org.apache.hedwig.protocol.PubSubProtocol.Map.Entry parseDelimitedFrom(java.io.InputStream input)
-          throws java.io.IOException {
-        Builder builder = newBuilder();
-        if (builder.mergeDelimitedFrom(input)) {
-          return builder.buildParsed();
-        } else {
-          return null;
-        }
-      }
-      public static org.apache.hedwig.protocol.PubSubProtocol.Map.Entry parseDelimitedFrom(
-          java.io.InputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        Builder builder = newBuilder();
-        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
-          return builder.buildParsed();
-        } else {
-          return null;
-        }
-      }
-      public static org.apache.hedwig.protocol.PubSubProtocol.Map.Entry parseFrom(
-          com.google.protobuf.CodedInputStream input)
-          throws java.io.IOException {
-        return newBuilder().mergeFrom(input).buildParsed();
-      }
-      public static org.apache.hedwig.protocol.PubSubProtocol.Map.Entry parseFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return newBuilder().mergeFrom(input, extensionRegistry)
-                 .buildParsed();
-      }
-      
-      public static Builder newBuilder() { return Builder.create(); }
-      public Builder newBuilderForType() { return newBuilder(); }
-      public static Builder newBuilder(org.apache.hedwig.protocol.PubSubProtocol.Map.Entry prototype) {
-        return newBuilder().mergeFrom(prototype);
-      }
-      public Builder toBuilder() { return newBuilder(this); }
-      
-      @java.lang.Override
-      protected Builder newBuilderForType(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        Builder builder = new Builder(parent);
-        return builder;
-      }
-      public static final class Builder extends
-          com.google.protobuf.GeneratedMessage.Builder<Builder>
-         implements org.apache.hedwig.protocol.PubSubProtocol.Map.EntryOrBuilder {
-        public static final com.google.protobuf.Descriptors.Descriptor
-            getDescriptor() {
-          return org.apache.hedwig.protocol.PubSubProtocol.internal_static_Hedwig_Map_Entry_descriptor;
-        }
-        
-        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-            internalGetFieldAccessorTable() {
-          return org.apache.hedwig.protocol.PubSubProtocol.internal_static_Hedwig_Map_Entry_fieldAccessorTable;
-        }
-        
-        // Construct using org.apache.hedwig.protocol.PubSubProtocol.Map.Entry.newBuilder()
-        private Builder() {
-          maybeForceBuilderInitialization();
-        }
-        
-        private Builder(BuilderParent parent) {
-          super(parent);
-          maybeForceBuilderInitialization();
-        }
-        private void maybeForceBuilderInitialization() {
-          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-          }
-        }
-        private static Builder create() {
-          return new Builder();
-        }
-        
-        public Builder clear() {
-          super.clear();
-          key_ = "";
-          bitField0_ = (bitField0_ & ~0x00000001);
-          value_ = com.google.protobuf.ByteString.EMPTY;
-          bitField0_ = (bitField0_ & ~0x00000002);
-          return this;
-        }
-        
-        public Builder clone() {
-          return create().mergeFrom(buildPartial());
-        }
-        
-        public com.google.protobuf.Descriptors.Descriptor
-            getDescriptorForType() {
-          return org.apache.hedwig.protocol.PubSubProtocol.Map.Entry.getDescriptor();
-        }
-        
-        public org.apache.hedwig.protocol.PubSubProtocol.Map.Entry getDefaultInstanceForType() {
-          return org.apache.hedwig.protocol.PubSubProtocol.Map.Entry.getDefaultInstance();
-        }
-        
-        public org.apache.hedwig.protocol.PubSubProtocol.Map.Entry build() {
-          org.apache.hedwig.protocol.PubSubProtocol.Map.Entry result = buildPartial();
-          if (!result.isInitialized()) {
-            throw newUninitializedMessageException(result);
-          }
-          return result;
-        }
-        
-        private org.apache.hedwig.protocol.PubSubProtocol.Map.Entry buildParsed()
-            throws com.google.protobuf.InvalidProtocolBufferException {
-          org.apache.hedwig.protocol.PubSubProtocol.Map.Entry result = buildPartial();
-          if (!result.isInitialized()) {
-            throw newUninitializedMessageException(
-              result).asInvalidProtocolBufferException();
-          }
-          return result;
-        }
-        
-        public org.apache.hedwig.protocol.PubSubProtocol.Map.Entry buildPartial() {
-          org.apache.hedwig.protocol.PubSubProtocol.Map.Entry result = new org.apache.hedwig.protocol.PubSubProtocol.Map.Entry(this);
-          int from_bitField0_ = bitField0_;
-          int to_bitField0_ = 0;
-          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-            to_bitField0_ |= 0x00000001;
-          }
-          result.key_ = key_;
-          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-            to_bitField0_ |= 0x00000002;
-          }
-          result.value_ = value_;
-          result.bitField0_ = to_bitField0_;
-          onBuilt();
-          return result;
-        }
-        
-        public Builder mergeFrom(com.google.protobuf.Message other) {
-          if (other instanceof org.apache.hedwig.protocol.PubSubProtocol.Map.Entry) {
-            return mergeFrom((org.apache.hedwig.protocol.PubSubProtocol.Map.Entry)other);
-          } else {
-            super.mergeFrom(other);
-            return this;
-          }
-        }
-        
-        public Builder mergeFrom(org.apache.hedwig.protocol.PubSubProtocol.Map.Entry other) {
-          if (other == org.apache.hedwig.protocol.PubSubProtocol.Map.Entry.getDefaultInstance()) return this;
-          if (other.hasKey()) {
-            setKey(other.getKey());
-          }
-          if (other.hasValue()) {
-            setValue(other.getValue());
-          }
-          this.mergeUnknownFields(other.getUnknownFields());
-          return this;
-        }
-        
-        public final boolean isInitialized() {
-          return true;
-        }
-        
-        public Builder mergeFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
-          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-            com.google.protobuf.UnknownFieldSet.newBuilder(
-              this.getUnknownFields());
-          while (true) {
-            int tag = input.readTag();
-            switch (tag) {
-              case 0:
-                this.setUnknownFields(unknownFields.build());
-                onChanged();
-                return this;
-              default: {
-                if (!parseUnknownField(input, unknownFields,
-                                       extensionRegistry, tag)) {
-                  this.setUnknownFields(unknownFields.build());
-                  onChanged();
-                  return this;
-                }
-                break;
-              }
-              case 10: {
-                bitField0_ |= 0x00000001;
-                key_ = input.readBytes();
-                break;
-              }
-              case 18: {
-                bitField0_ |= 0x00000002;
-                value_ = input.readBytes();
-                break;
-              }
-            }
-          }
-        }
-        
-        private int bitField0_;
-        
-        // optional string key = 1;
-        private java.lang.Object key_ = "";
-        public boolean hasKey() {
-          return ((bitField0_ & 0x00000001) == 0x00000001);
-        }
-        public String getKey() {
-          java.lang.Object ref = key_;
-          if (!(ref instanceof String)) {
-            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
-            key_ = s;
-            return s;
-          } else {
-            return (String) ref;
-          }
-        }
-        public Builder setKey(String value) {
-          if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-          key_ = value;
-          onChanged();
-          return this;
-        }
-        public Builder clearKey() {
-          bitField0_ = (bitField0_ & ~0x00000001);
-          key_ = getDefaultInstance().getKey();
-          onChanged();
-          return this;
-        }
-        void setKey(com.google.protobuf.ByteString value) {
-          bitField0_ |= 0x00000001;
-          key_ = value;
-          onChanged();
-        }
-        
-        // optional bytes value = 2;
-        private com.google.protobuf.ByteString value_ = com.google.protobuf.ByteString.EMPTY;
-        public boolean hasValue() {
-          return ((bitField0_ & 0x00000002) == 0x00000002);
-        }
-        public com.google.protobuf.ByteString getValue() {
-          return value_;
-        }
-        public Builder setValue(com.google.protobuf.ByteString value) {
-          if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000002;
-          value_ = value;
-          onChanged();
-          return this;
-        }
-        public Builder clearValue() {
-          bitField0_ = (bitField0_ & ~0x00000002);
-          value_ = getDefaultInstance().getValue();
-          onChanged();
-          return this;
-        }
-        
-        // @@protoc_insertion_point(builder_scope:Hedwig.Map.Entry)
-      }
-      
-      static {
-        defaultInstance = new Entry(true);
-        defaultInstance.initFields();
-      }
-      
-      // @@protoc_insertion_point(class_scope:Hedwig.Map.Entry)
-    }
-    
-    // repeated .Hedwig.Map.Entry entries = 1;
-    public static final int ENTRIES_FIELD_NUMBER = 1;
-    private java.util.List<org.apache.hedwig.protocol.PubSubProtocol.Map.Entry> entries_;
-    public java.util.List<org.apache.hedwig.protocol.PubSubProtocol.Map.Entry> getEntriesList() {
-      return entries_;
-    }
-    public java.util.List<? extends org.apache.hedwig.protocol.PubSubProtocol.Map.EntryOrBuilder> 
-        getEntriesOrBuilderList() {
-      return entries_;
-    }
-    public int getEntriesCount() {
-      return entries_.size();
-    }
-    public org.apache.hedwig.protocol.PubSubProtocol.Map.Entry getEntries(int index) {
-      return entries_.get(index);
-    }
-    public org.apache.hedwig.protocol.PubSubProtocol.Map.EntryOrBuilder getEntriesOrBuilder(
-        int index) {
-      return entries_.get(index);
-    }
-    
-    private void initFields() {
-      entries_ = java.util.Collections.emptyList();
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-      
-      memoizedIsInitialized = 1;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      for (int i = 0; i < entries_.size(); i++) {
-        output.writeMessage(1, entries_.get(i));
-      }
-      getUnknownFields().writeTo(output);
-    }
-    
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-    
-      size = 0;
-      for (int i = 0; i < entries_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(1, entries_.get(i));
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-    
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-    
-    public static org.apache.hedwig.protocol.PubSubProtocol.Map parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.Map parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.Map parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.Map parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.Map parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.Map parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.Map parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.Map parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.Map parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.Map parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.hedwig.protocol.PubSubProtocol.Map prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-    
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements org.apache.hedwig.protocol.PubSubProtocol.MapOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.hedwig.protocol.PubSubProtocol.internal_static_Hedwig_Map_descriptor;
-      }
-      
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.hedwig.protocol.PubSubProtocol.internal_static_Hedwig_Map_fieldAccessorTable;
-      }
-      
-      // Construct using org.apache.hedwig.protocol.PubSubProtocol.Map.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-      
-      private Builder(BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-          getEntriesFieldBuilder();
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-      
-      public Builder clear() {
-        super.clear();
-        if (entriesBuilder_ == null) {
-          entries_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000001);
-        } else {
-          entriesBuilder_.clear();
-        }
-        return this;
-      }
-      
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-      
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.hedwig.protocol.PubSubProtocol.Map.getDescriptor();
-      }
-      
-      public org.apache.hedwig.protocol.PubSubProtocol.Map getDefaultInstanceForType() {
-        return org.apache.hedwig.protocol.PubSubProtocol.Map.getDefaultInstance();
-      }
-      
-      public org.apache.hedwig.protocol.PubSubProtocol.Map build() {
-        org.apache.hedwig.protocol.PubSubProtocol.Map result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-      
-      private org.apache.hedwig.protocol.PubSubProtocol.Map buildParsed()
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        org.apache.hedwig.protocol.PubSubProtocol.Map result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(
-            result).asInvalidProtocolBufferException();
-        }
-        return result;
-      }
-      
-      public org.apache.hedwig.protocol.PubSubProtocol.Map buildPartial() {
-        org.apache.hedwig.protocol.PubSubProtocol.Map result = new org.apache.hedwig.protocol.PubSubProtocol.Map(this);
-        int from_bitField0_ = bitField0_;
-        if (entriesBuilder_ == null) {
-          if (((bitField0_ & 0x00000001) == 0x00000001)) {
-            entries_ = java.util.Collections.unmodifiableList(entries_);
-            bitField0_ = (bitField0_ & ~0x00000001);
-          }
-          result.entries_ = entries_;
-        } else {
-          result.entries_ = entriesBuilder_.build();
-        }
-        onBuilt();
-        return result;
-      }
-      
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.hedwig.protocol.PubSubProtocol.Map) {
-          return mergeFrom((org.apache.hedwig.protocol.PubSubProtocol.Map)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-      
-      public Builder mergeFrom(org.apache.hedwig.protocol.PubSubProtocol.Map other) {
-        if (other == org.apache.hedwig.protocol.PubSubProtocol.Map.getDefaultInstance()) return this;
-        if (entriesBuilder_ == null) {
-          if (!other.entries_.isEmpty()) {
-            if (entries_.isEmpty()) {
-              entries_ = other.entries_;
-              bitField0_ = (bitField0_ & ~0x00000001);
-            } else {
-              ensureEntriesIsMutable();
-              entries_.addAll(other.entries_);
-            }
-            onChanged();
-          }
-        } else {
-          if (!other.entries_.isEmpty()) {
-            if (entriesBuilder_.isEmpty()) {
-              entriesBuilder_.dispose();
-              entriesBuilder_ = null;
-              entries_ = other.entries_;
-              bitField0_ = (bitField0_ & ~0x00000001);
-              entriesBuilder_ = 
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
-                   getEntriesFieldBuilder() : null;
-            } else {
-              entriesBuilder_.addAllMessages(other.entries_);
-            }
-          }
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-      
-      public final boolean isInitialized() {
-        return true;
-      }
-      
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder(
-            this.getUnknownFields());
-        while (true) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              this.setUnknownFields(unknownFields.build());
-              onChanged();
-              return this;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                this.setUnknownFields(unknownFields.build());
-                onChanged();
-                return this;
-              }
-              break;
-            }
-            case 10: {
-              org.apache.hedwig.protocol.PubSubProtocol.Map.Entry.Builder subBuilder = org.apache.hedwig.protocol.PubSubProtocol.Map.Entry.newBuilder();
-              input.readMessage(subBuilder, extensionRegistry);
-              addEntries(subBuilder.buildPartial());
-              break;
-            }
-          }
-        }
-      }
-      
-      private int bitField0_;
-      
-      // repeated .Hedwig.Map.Entry entries = 1;
-      private java.util.List<org.apache.hedwig.protocol.PubSubProtocol.Map.Entry> entries_ =
-        java.util.Collections.emptyList();
-      private void ensureEntriesIsMutable() {
-        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
-          entries_ = new java.util.ArrayList<org.apache.hedwig.protocol.PubSubProtocol.Map.Entry>(entries_);
-          bitField0_ |= 0x00000001;
-         }
-      }
-      
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.hedwig.protocol.PubSubProtocol.Map.Entry, org.apache.hedwig.protocol.PubSubProtocol.Map.Entry.Builder, org.apache.hedwig.protocol.PubSubProtocol.Map.EntryOrBuilder> entriesBuilder_;
-      
-      public java.util.List<org.apache.hedwig.protocol.PubSubProtocol.Map.Entry> getEntriesList() {
-        if (entriesBuilder_ == null) {
-          return java.util.Collections.unmodifiableList(entries_);
-        } else {
-          return entriesBuilder_.getMessageList();
-        }
-      }
-      public int getEntriesCount() {
-        if (entriesBuilder_ == null) {
-          return entries_.size();
-        } else {
-          return entriesBuilder_.getCount();
-        }
-      }
-      public org.apache.hedwig.protocol.PubSubProtocol.Map.Entry getEntries(int index) {
-        if (entriesBuilder_ == null) {
-          return entries_.get(index);
-        } else {
-          return entriesBuilder_.getMessage(index);
-        }
-      }
-      public Builder setEntries(
-          int index, org.apache.hedwig.protocol.PubSubProtocol.Map.Entry value) {
-        if (entriesBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureEntriesIsMutable();
-          entries_.set(index, value);
-          onChanged();
-        } else {
-          entriesBuilder_.setMessage(index, value);
-        }
-        return this;
-      }
-      public Builder setEntries(
-          int index, org.apache.hedwig.protocol.PubSubProtocol.Map.Entry.Builder builderForValue) {
-        if (entriesBuilder_ == null) {
-          ensureEntriesIsMutable();
-          entries_.set(index, builderForValue.build());
-          onChanged();
-        } else {
-          entriesBuilder_.setMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      public Builder addEntries(org.apache.hedwig.protocol.PubSubProtocol.Map.Entry value) {
-        if (entriesBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureEntriesIsMutable();
-          entries_.add(value);
-          onChanged();
-        } else {
-          entriesBuilder_.addMessage(value);
-        }
-        return this;
-      }
-      public Builder addEntries(
-          int index, org.apache.hedwig.protocol.PubSubProtocol.Map.Entry value) {
-        if (entriesBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureEntriesIsMutable();
-          entries_.add(index, value);
-          onChanged();
-        } else {
-          entriesBuilder_.addMessage(index, value);
-        }
-        return this;
-      }
-      public Builder addEntries(
-          org.apache.hedwig.protocol.PubSubProtocol.Map.Entry.Builder builderForValue) {
-        if (entriesBuilder_ == null) {
-          ensureEntriesIsMutable();
-          entries_.add(builderForValue.build());
-          onChanged();
-        } else {
-          entriesBuilder_.addMessage(builderForValue.build());
-        }
-        return this;
-      }
-      public Builder addEntries(
-          int index, org.apache.hedwig.protocol.PubSubProtocol.Map.Entry.Builder builderForValue) {
-        if (entriesBuilder_ == null) {
-          ensureEntriesIsMutable();
-          entries_.add(index, builderForValue.build());
-          onChanged();
-        } else {
-          entriesBuilder_.addMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      public Builder addAllEntries(
-          java.lang.Iterable<? extends org.apache.hedwig.protocol.PubSubProtocol.Map.Entry> values) {
-        if (entriesBuilder_ == null) {
-          ensureEntriesIsMutable();
-          super.addAll(values, entries_);
-          onChanged();
-        } else {
-          entriesBuilder_.addAllMessages(values);
-        }
-        return this;
-      }
-      public Builder clearEntries() {
-        if (entriesBuilder_ == null) {
-          entries_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000001);
-          onChanged();
-        } else {
-          entriesBuilder_.clear();
-        }
-        return this;
-      }
-      public Builder removeEntries(int index) {
-        if (entriesBuilder_ == null) {
-          ensureEntriesIsMutable();
-          entries_.remove(index);
-          onChanged();
-        } else {
-          entriesBuilder_.remove(index);
-        }
-        return this;
-      }
-      public org.apache.hedwig.protocol.PubSubProtocol.Map.Entry.Builder getEntriesBuilder(
-          int index) {
-        return getEntriesFieldBuilder().getBuilder(index);
-      }
-      public org.apache.hedwig.protocol.PubSubProtocol.Map.EntryOrBuilder getEntriesOrBuilder(
-          int index) {
-        if (entriesBuilder_ == null) {
-          return entries_.get(index);  } else {
-          return entriesBuilder_.getMessageOrBuilder(index);
-        }
-      }
-      public java.util.List<? extends org.apache.hedwig.protocol.PubSubProtocol.Map.EntryOrBuilder> 
-           getEntriesOrBuilderList() {
-        if (entriesBuilder_ != null) {
-          return entriesBuilder_.getMessageOrBuilderList();
-        } else {
-          return java.util.Collections.unmodifiableList(entries_);
-        }
-      }
-      public org.apache.hedwig.protocol.PubSubProtocol.Map.Entry.Builder addEntriesBuilder() {
-        return getEntriesFieldBuilder().addBuilder(
-            org.apache.hedwig.protocol.PubSubProtocol.Map.Entry.getDefaultInstance());
-      }
-      public org.apache.hedwig.protocol.PubSubProtocol.Map.Entry.Builder addEntriesBuilder(
-          int index) {
-        return getEntriesFieldBuilder().addBuilder(
-            index, org.apache.hedwig.protocol.PubSubProtocol.Map.Entry.getDefaultInstance());
-      }
-      public java.util.List<org.apache.hedwig.protocol.PubSubProtocol.Map.Entry.Builder> 
-           getEntriesBuilderList() {
-        return getEntriesFieldBuilder().getBuilderList();
-      }
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.hedwig.protocol.PubSubProtocol.Map.Entry, org.apache.hedwig.protocol.PubSubProtocol.Map.Entry.Builder, org.apache.hedwig.protocol.PubSubProtocol.Map.EntryOrBuilder> 
-          getEntriesFieldBuilder() {
-        if (entriesBuilder_ == null) {
-          entriesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              org.apache.hedwig.protocol.PubSubProtocol.Map.Entry, org.apache.hedwig.protocol.PubSubProtocol.Map.Entry.Builder, org.apache.hedwig.protocol.PubSubProtocol.Map.EntryOrBuilder>(
-                  entries_,
-                  ((bitField0_ & 0x00000001) == 0x00000001),
-                  getParentForChildren(),
-                  isClean());
-          entries_ = null;
-        }
-        return entriesBuilder_;
-      }
-      
-      // @@protoc_insertion_point(builder_scope:Hedwig.Map)
-    }
-    
-    static {
-      defaultInstance = new Map(true);
-      defaultInstance.initFields();
-    }
-    
-    // @@protoc_insertion_point(class_scope:Hedwig.Map)
-  }
-  
-  public interface MessageHeaderOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-    
-    // optional .Hedwig.Map properties = 1;
-    boolean hasProperties();
-    org.apache.hedwig.protocol.PubSubProtocol.Map getProperties();
-    org.apache.hedwig.protocol.PubSubProtocol.MapOrBuilder getPropertiesOrBuilder();
-    
-    // optional string messageType = 2;
-    boolean hasMessageType();
-    String getMessageType();
-  }
-  public static final class MessageHeader extends
-      com.google.protobuf.GeneratedMessage
-      implements MessageHeaderOrBuilder {
-    // Use MessageHeader.newBuilder() to construct.
-    private MessageHeader(Builder builder) {
-      super(builder);
-    }
-    private MessageHeader(boolean noInit) {}
-    
-    private static final MessageHeader defaultInstance;
-    public static MessageHeader getDefaultInstance() {
-      return defaultInstance;
-    }
-    
-    public MessageHeader getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-    
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.hedwig.protocol.PubSubProtocol.internal_static_Hedwig_MessageHeader_descriptor;
-    }
-    
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.hedwig.protocol.PubSubProtocol.internal_static_Hedwig_MessageHeader_fieldAccessorTable;
-    }
-    
-    private int bitField0_;
-    // optional .Hedwig.Map properties = 1;
-    public static final int PROPERTIES_FIELD_NUMBER = 1;
-    private org.apache.hedwig.protocol.PubSubProtocol.Map properties_;
-    public boolean hasProperties() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    public org.apache.hedwig.protocol.PubSubProtocol.Map getProperties() {
-      return properties_;
-    }
-    public org.apache.hedwig.protocol.PubSubProtocol.MapOrBuilder getPropertiesOrBuilder() {
-      return properties_;
-    }
-    
-    // optional string messageType = 2;
-    public static final int MESSAGETYPE_FIELD_NUMBER = 2;
-    private java.lang.Object messageType_;
-    public boolean hasMessageType() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    public String getMessageType() {
-      java.lang.Object ref = messageType_;
-      if (ref instanceof String) {
-        return (String) ref;
-      } else {
-        com.google.protobuf.ByteString bs = 
-            (com.google.protobuf.ByteString) ref;
-        String s = bs.toStringUtf8();
-        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
-          messageType_ = s;
-        }
-        return s;
-      }
-    }
-    private com.google.protobuf.ByteString getMessageTypeBytes() {
-      java.lang.Object ref = messageType_;
-      if (ref instanceof String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
-        messageType_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-    
-    private void initFields() {
-      properties_ = org.apache.hedwig.protocol.PubSubProtocol.Map.getDefaultInstance();
-      messageType_ = "";
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-      
-      memoizedIsInitialized = 1;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeMessage(1, properties_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeBytes(2, getMessageTypeBytes());
-      }
-      getUnknownFields().writeTo(output);
-    }
-    
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-    
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(1, properties_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(2, getMessageTypeBytes());
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-    
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-    
-    public static org.apache.hedwig.protocol.PubSubProtocol.MessageHeader parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.MessageHeader parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.MessageHeader parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.MessageHeader parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.MessageHeader parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.MessageHeader parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.MessageHeader parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.MessageHeader parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.MessageHeader parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.MessageHeader parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.hedwig.protocol.PubSubProtocol.MessageHeader prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-    
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements org.apache.hedwig.protocol.PubSubProtocol.MessageHeaderOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.hedwig.protocol.PubSubProtocol.internal_static_Hedwig_MessageHeader_descriptor;
-      }
-      
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.hedwig.protocol.PubSubProtocol.internal_static_Hedwig_MessageHeader_fieldAccessorTable;
-      }
-      
-      // Construct using org.apache.hedwig.protocol.PubSubProtocol.MessageHeader.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-      
-      private Builder(BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-          getPropertiesFieldBuilder();
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-      
-      public Builder clear() {
-        super.clear();
-        if (propertiesBuilder_ == null) {
-          properties_ = org.apache.hedwig.protocol.PubSubProtocol.Map.getDefaultInstance();
-        } else {
-          propertiesBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000001);
-        messageType_ = "";
-        bitField0_ = (bitField0_ & ~0x00000002);
-        return this;
-      }
-      
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-      
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.hedwig.protocol.PubSubProtocol.MessageHeader.getDescriptor();
-      }
-      
-      public org.apache.hedwig.protocol.PubSubProtocol.MessageHeader getDefaultInstanceForType() {
-        return org.apache.hedwig.protocol.PubSubProtocol.MessageHeader.getDefaultInstance();
-      }
-      
-      public org.apache.hedwig.protocol.PubSubProtocol.MessageHeader build() {
-        org.apache.hedwig.protocol.PubSubProtocol.MessageHeader result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-      
-      private org.apache.hedwig.protocol.PubSubProtocol.MessageHeader buildParsed()
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        org.apache.hedwig.protocol.PubSubProtocol.MessageHeader result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(
-            result).asInvalidProtocolBufferException();
-        }
-        return result;
-      }
-      
-      public org.apache.hedwig.protocol.PubSubProtocol.MessageHeader buildPartial() {
-        org.apache.hedwig.protocol.PubSubProtocol.MessageHeader result = new org.apache.hedwig.protocol.PubSubProtocol.MessageHeader(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        if (propertiesBuilder_ == null) {
-          result.properties_ = properties_;
-        } else {
-          result.properties_ = propertiesBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.messageType_ = messageType_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-      
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.hedwig.protocol.PubSubProtocol.MessageHeader) {
-          return mergeFrom((org.apache.hedwig.protocol.PubSubProtocol.MessageHeader)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-      
-      public Builder mergeFrom(org.apache.hedwig.protocol.PubSubProtocol.MessageHeader other) {
-        if (other == org.apache.hedwig.protocol.PubSubProtocol.MessageHeader.getDefaultInstance()) return this;
-        if (other.hasProperties()) {
-          mergeProperties(other.getProperties());
-        }
-        if (other.hasMessageType()) {
-          setMessageType(other.getMessageType());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-      
-      public final boolean isInitialized() {
-        return true;
-      }
-      
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder(
-            this.getUnknownFields());
-        while (true) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              this.setUnknownFields(unknownFields.build());
-              onChanged();
-              return this;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                this.setUnknownFields(unknownFields.build());
-                onChanged();
-                return this;
-              }
-              break;
-            }
-            case 10: {
-              org.apache.hedwig.protocol.PubSubProtocol.Map.Builder subBuilder = org.apache.hedwig.protocol.PubSubProtocol.Map.newBuilder();
-              if (hasProperties()) {
-                subBuilder.mergeFrom(getProperties());
-              }
-              input.readMessage(subBuilder, extensionRegistry);
-              setProperties(subBuilder.buildPartial());
-              break;
-            }
-            case 18: {
-              bitField0_ |= 0x00000002;
-              messageType_ = input.readBytes();
-              break;
-            }
-          }
-        }
-      }
-      
-      private int bitField0_;
-      
-      // optional .Hedwig.Map properties = 1;
-      private org.apache.hedwig.protocol.PubSubProtocol.Map properties_ = org.apache.hedwig.protocol.PubSubProtocol.Map.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.hedwig.protocol.PubSubProtocol.Map, org.apache.hedwig.protocol.PubSubProtocol.Map.Builder, org.apache.hedwig.protocol.PubSubProtocol.MapOrBuilder> propertiesBuilder_;
-      public boolean hasProperties() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      public org.apache.hedwig.protocol.PubSubProtocol.Map getProperties() {
-        if (propertiesBuilder_ == null) {
-          return properties_;
-        } else {
-          return propertiesBuilder_.getMessage();
-        }
-      }
-      public Builder setProperties(org.apache.hedwig.protocol.PubSubProtocol.Map value) {
-        if (propertiesBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          properties_ = value;
-          onChanged();
-        } else {
-          propertiesBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000001;
-        return this;
-      }
-      public Builder setProperties(
-          org.apache.hedwig.protocol.PubSubProtocol.Map.Builder builderForValue) {
-        if (propertiesBuilder_ == null) {
-          properties_ = builderForValue.build();
-          onChanged();
-        } else {
-          propertiesBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000001;
-        return this;
-      }
-      public Builder mergeProperties(org.apache.hedwig.protocol.PubSubProtocol.Map value) {
-        if (propertiesBuilder_ == null) {
-          if (((bitField0_ & 0x00000001) == 0x00000001) &&
-              properties_ != org.apache.hedwig.protocol.PubSubProtocol.Map.getDefaultInstance()) {
-            properties_ =
-              org.apache.hedwig.protocol.PubSubProtocol.Map.newBuilder(properties_).mergeFrom(value).buildPartial();
-          } else {
-            properties_ = value;
-          }
-          onChanged();
-        } else {
-          propertiesBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000001;
-        return this;
-      }
-      public Builder clearProperties() {
-        if (propertiesBuilder_ == null) {
-          properties_ = org.apache.hedwig.protocol.PubSubProtocol.Map.getDefaultInstance();
-          onChanged();
-        } else {
-          propertiesBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000001);
-        return this;
-      }
-      public org.apache.hedwig.protocol.PubSubProtocol.Map.Builder getPropertiesBuilder() {
-        bitField0_ |= 0x00000001;
-        onChanged();
-        return getPropertiesFieldBuilder().getBuilder();
-      }
-      public org.apache.hedwig.protocol.PubSubProtocol.MapOrBuilder getPropertiesOrBuilder() {
-        if (propertiesBuilder_ != null) {
-          return propertiesBuilder_.getMessageOrBuilder();
-        } else {
-          return properties_;
-        }
-      }
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.hedwig.protocol.PubSubProtocol.Map, org.apache.hedwig.protocol.PubSubProtocol.Map.Builder, org.apache.hedwig.protocol.PubSubProtocol.MapOrBuilder> 
-          getPropertiesFieldBuilder() {
-        if (propertiesBuilder_ == null) {
-          propertiesBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.hedwig.protocol.PubSubProtocol.Map, org.apache.hedwig.protocol.PubSubProtocol.Map.Builder, org.apache.hedwig.protocol.PubSubProtocol.MapOrBuilder>(
-                  properties_,
-                  getParentForChildren(),
-                  isClean());
-          properties_ = null;
-        }
-        return propertiesBuilder_;
-      }
-      
-      // optional string messageType = 2;
-      private java.lang.Object messageType_ = "";
-      public boolean hasMessageType() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      public String getMessageType() {
-        java.lang.Object ref = messageType_;
-        if (!(ref instanceof String)) {
-          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
-          messageType_ = s;
-          return s;
-        } else {
-          return (String) ref;
-        }
-      }
-      public Builder setMessageType(String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000002;
-        messageType_ = value;
-        onChanged();
-        return this;
-      }
-      public Builder clearMessageType() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        messageType_ = getDefaultInstance().getMessageType();
-        onChanged();
-        return this;
-      }
-      void setMessageType(com.google.protobuf.ByteString value) {
-        bitField0_ |= 0x00000002;
-        messageType_ = value;
-        onChanged();
-      }
-      
-      // @@protoc_insertion_point(builder_scope:Hedwig.MessageHeader)
-    }
-    
-    static {
-      defaultInstance = new MessageHeader(true);
-      defaultInstance.initFields();
-    }
-    
-    // @@protoc_insertion_point(class_scope:Hedwig.MessageHeader)
-  }
-  
-  public interface MessageOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-    
-    // required bytes body = 1;
-    boolean hasBody();
-    com.google.protobuf.ByteString getBody();
-    
-    // optional bytes srcRegion = 2;
-    boolean hasSrcRegion();
-    com.google.protobuf.ByteString getSrcRegion();
-    
-    // optional .Hedwig.MessageSeqId msgId = 3;
-    boolean hasMsgId();
-    org.apache.hedwig.protocol.PubSubProtocol.MessageSeqId getMsgId();
-    org.apache.hedwig.protocol.PubSubProtocol.MessageSeqIdOrBuilder getMsgIdOrBuilder();
-    
-    // optional .Hedwig.MessageHeader header = 4;
-    boolean hasHeader();
-    org.apache.hedwig.protocol.PubSubProtocol.MessageHeader getHeader();
-    org.apache.hedwig.protocol.PubSubProtocol.MessageHeaderOrBuilder getHeaderOrBuilder();
-  }
-  public static final class Message extends
-      com.google.protobuf.GeneratedMessage
-      implements MessageOrBuilder {
-    // Use Message.newBuilder() to construct.
-    private Message(Builder builder) {
-      super(builder);
-    }
-    private Message(boolean noInit) {}
-    
-    private static final Message defaultInstance;
-    public static Message getDefaultInstance() {
-      return defaultInstance;
-    }
-    
-    public Message getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-    
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.hedwig.protocol.PubSubProtocol.internal_static_Hedwig_Message_descriptor;
-    }
-    
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.hedwig.protocol.PubSubProtocol.internal_static_Hedwig_Message_fieldAccessorTable;
-    }
-    
-    private int bitField0_;
-    // required bytes body = 1;
-    public static final int BODY_FIELD_NUMBER = 1;
-    private com.google.protobuf.ByteString body_;
-    public boolean hasBody() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    public com.google.protobuf.ByteString getBody() {
-      return body_;
-    }
-    
-    // optional bytes srcRegion = 2;
-    public static final int SRCREGION_FIELD_NUMBER = 2;
-    private com.google.protobuf.ByteString srcRegion_;
-    public boolean hasSrcRegion() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    public com.google.protobuf.ByteString getSrcRegion() {
-      return srcRegion_;
-    }
-    
-    // optional .Hedwig.MessageSeqId msgId = 3;
-    public static final int MSGID_FIELD_NUMBER = 3;
-    private org.apache.hedwig.protocol.PubSubProtocol.MessageSeqId msgId_;
-    public boolean hasMsgId() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    public org.apache.hedwig.protocol.PubSubProtocol.MessageSeqId getMsgId() {
-      return msgId_;
-    }
-    public org.apache.hedwig.protocol.PubSubProtocol.MessageSeqIdOrBuilder getMsgIdOrBuilder() {
-      return msgId_;
-    }
-    
-    // optional .Hedwig.MessageHeader header = 4;
-    public static final int HEADER_FIELD_NUMBER = 4;
-    private org.apache.hedwig.protocol.PubSubProtocol.MessageHeader header_;
-    public boolean hasHeader() {
-      return ((bitField0_ & 0x00000008) == 0x00000008);
-    }
-    public org.apache.hedwig.protocol.PubSubProtocol.MessageHeader getHeader() {
-      return header_;
-    }
-    public org.apache.hedwig.protocol.PubSubProtocol.MessageHeaderOrBuilder getHeaderOrBuilder() {
-      return header_;
-    }
-    
-    private void initFields() {
-      body_ = com.google.protobuf.ByteString.EMPTY;
-      srcRegion_ = com.google.protobuf.ByteString.EMPTY;
-      msgId_ = org.apache.hedwig.protocol.PubSubProtocol.MessageSeqId.getDefaultInstance();
-      header_ = org.apache.hedwig.protocol.PubSubProtocol.MessageHeader.getDefaultInstance();
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-      
-      if (!hasBody()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (hasMsgId()) {
-        if (!getMsgId().isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeBytes(1, body_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeBytes(2, srcRegion_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeMessage(3, msgId_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        output.writeMessage(4, header_);
-      }
-      getUnknownFields().writeTo(output);
-    }
-    
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-    
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(1, body_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(2, srcRegion_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(3, msgId_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(4, header_);
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-    
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-    
-    public static org.apache.hedwig.protocol.PubSubProtocol.Message parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.Message parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.Message parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.Message parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.Message parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.Message parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.Message parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.Message parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.Message parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.hedwig.protocol.PubSubProtocol.Message parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.hedwig.protocol.PubSubProtocol.Message prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-    
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements org.apache.hedwig.protocol.PubSubProtocol.MessageOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.hedwig.protocol.PubSubProtocol.internal_static_Hedwig_Message_descriptor;
-      }
-      
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.hedwig.protocol.PubSubProtocol.internal_static_Hedwig_Message_fieldAccessorTable;
-      }
-      
-      // Construct using org.apache.hedwig.protocol.PubSubProtocol.Message.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-      
-      private Builder(BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-          getMsgIdFieldBuilder();
-          getHeaderFieldBuilder();
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-      
-      public Builder clear() {
-        super.clear();
-        body_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        srcRegion_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        if (msgIdBuilder_ == null) {
-          msgId_ = org.apache.hedwig.protocol.PubSubProtocol.MessageSeqId.getDefaultInstance();
-        } else {
-          msgIdBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000004);
-        if (headerBuilder_ == null) {
-          header_ = org.apache.hedwig.protocol.PubSubProtocol.MessageHeader.getDefaultInstance();
-        } else {
-          headerBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000008);
-        return this;
-      }
-      
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-      
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.hedwig.protocol.PubSubProtocol.Message.getDescriptor();
-      }
-      
-      public org.apache.hedwig.protocol.PubSubProtocol.Message getDefaultInstanceForType() {
-        return org.apache.hedwig.protocol.PubSubProtocol.Message.getDefaultInstance();
-      }
-      
-      public org.apache.hedwig.protocol.PubSubProtocol.Message build() {
-        org.apache.hedwig.protocol.PubSubProtocol.Message result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-      
-      private org.apache.hedwig.protocol.PubSubProtocol.Message buildParsed()
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        org.apache.hedwig.protocol.PubSubProtocol.Message result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(
-            result).asInvalidProtocolBufferException();
-        }
-        return result;
-      }
-      
-      public org.apache.hedwig.protocol.PubSubProtocol.Message buildPartial() {
-        org.apache.hedwig.protocol.PubSubProtocol.Message result = new org.apache.hedwig.protocol.PubSubProtocol.Message(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.body_ = body_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.srcRegion_ = srcRegion_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
-        if (msgIdBuilder_ == null) {
-          result.msgId_ = msgId_;
-        } else {
-          result.msgId_ = msgIdBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
-          to_bitField0_ |= 0x00000008;
-        }
-        if (headerBuilder_ == null) {
-          result.header_ = header_;
-        } else {
-          result.header_ = headerBuilder_.build();
-        }
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-      
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.hedwig.protocol.PubSubProtocol.Message) {
-          return mergeFrom((org.apache.hedwig.protocol.PubSubProtocol.Message)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-      
-      public Builder mergeFrom(org.apache.hedwig.protocol.PubSubProtocol.Message other) {
-        if (other == org.apache.hedwig.protocol.PubSubProtocol.Message.getDefaultInstance()) return this;
-        if (other.hasBody()) {
-          setBody(other.getBody());
-        }
-        if (other.hasSrcRegion()) {
-          setSrcRegion(other.getSrcRegion());
-        }
-        if (other.hasMsgId()) {
-          mergeMsgId(other.getMsgId());
-        }
-        if (other.hasHeader()) {
-          mergeHeader(other.getHeader());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-      
-      public final boolean isInitialized() {
-        if (!hasBody()) {
-          
-          return false;
-        }
-        if (hasMsgId()) {
-          if (!getMsgId().isInitialized()) {
-            
-            return false;
-          }
-        }
-        return true;
-      }
-      
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder(
-            this.getUnknownFields());
-        while (true) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              this.setUnknownFields(unknownFields.build());
-              onChanged();
-              return this;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                this.setUnknownFields(unknownFields.build());
-                onChanged();
-                return this;
-              }
-              break;
-            }
-            case 10: {
-              bitField0_ |= 0x00000001;
-              body_ = input.readBytes();
-              break;
-            }
-            case 18: {
-              bitField0_ |= 0x00000002;
-              srcRegion_ = input.readBytes();
-              break;
-            }
-            case 26: {
-              org.apache.hedwig.protocol.PubSubProtocol.MessageSeqId.Builder subBuilder = org.apache.hedwig.protocol.PubSubProtocol.MessageSeqId.newBuilder();
-              if (hasMsgId()) {
-                subBuilder.mergeFrom(getMsgId());
-              }
-              input.readMessage(subBuilder, extensionRegistry);
-              setMsgId(subBuilder.buildPartial());
-              break;
-            }
-            case 34: {
-              org.apache.hedwig.protocol.PubSubProtocol.MessageHeader.Builder subBuilder = org.apache.hedwig.protocol.PubSubProtocol.MessageHeader.newBuilder();
-              if (hasHeader()) {
-                subBuilder.mergeFrom(getHeader());
-              }
-              input.readMessage(subBuilder, extensionRegistry);
-              setHeader(subBuilder.buildPartial());
-              break;
-            }
-          }
-        }
-      }
-     

<TRUNCATED>