diff options
author | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-04-10 17:51:59 +0200 |
---|---|---|
committer | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-04-10 17:51:59 +0200 |
commit | bb4dc8012467d47ed21a8fa1cf11fca27a1fafd7 (patch) | |
tree | f0e2c8f5b78154fb294f13f559a7987b13145e5f /src/main | |
parent | afb415dcaf614c177176a00220f3b0418daada1f (diff) |
Fix some bugs in RpcChannel and NewRpcChannel.
Use protobuf v.2.4.1.
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/com/orbekk/example/Example.java | 302 | ||||
-rw-r--r-- | src/main/java/com/orbekk/protobuf/Data.java | 867 | ||||
-rw-r--r-- | src/main/java/com/orbekk/protobuf/NewRpcChannel.java | 46 | ||||
-rw-r--r-- | src/main/java/com/orbekk/protobuf/RpcChannel.java | 9 |
4 files changed, 876 insertions, 348 deletions
diff --git a/src/main/java/com/orbekk/example/Example.java b/src/main/java/com/orbekk/example/Example.java index 511cf35..9aa5f2b 100644 --- a/src/main/java/com/orbekk/example/Example.java +++ b/src/main/java/com/orbekk/example/Example.java @@ -8,11 +8,15 @@ public final class Example { public static void registerAllExtensions( com.google.protobuf.ExtensionRegistry registry) { } + public interface EmptyOrBuilder + extends com.google.protobuf.MessageOrBuilder { + } public static final class Empty extends - com.google.protobuf.GeneratedMessage { + com.google.protobuf.GeneratedMessage + implements EmptyOrBuilder { // Use Empty.newBuilder() to construct. - private Empty() { - initFields(); + private Empty(Builder builder) { + super(builder); } private Empty(boolean noInit) {} @@ -37,7 +41,12 @@ public final class Example { private void initFields() { } + private byte memoizedIsInitialized = -1; public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; return true; } @@ -58,6 +67,13 @@ public final class Example { 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 com.orbekk.example.Example.Empty parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { @@ -132,34 +148,49 @@ public final class Example { } 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> { - private com.orbekk.example.Example.Empty result; + com.google.protobuf.GeneratedMessage.Builder<Builder> + implements com.orbekk.example.Example.EmptyOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.orbekk.example.Example.internal_static_com_orbekk_example_Empty_descriptor; + } - // Construct using com.orbekk.example.Example.Empty.newBuilder() - private Builder() {} + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.orbekk.example.Example.internal_static_com_orbekk_example_Empty_fieldAccessorTable; + } - private static Builder create() { - Builder builder = new Builder(); - builder.result = new com.orbekk.example.Example.Empty(); - return builder; + // Construct using com.orbekk.example.Example.Empty.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); } - protected com.orbekk.example.Example.Empty internalGetResult() { - return result; + 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() { - if (result == null) { - throw new IllegalStateException( - "Cannot call clear() after build()."); - } - result = new com.orbekk.example.Example.Empty(); + super.clear(); return this; } public Builder clone() { - return create().mergeFrom(result); + return create().mergeFrom(buildPartial()); } public com.google.protobuf.Descriptors.Descriptor @@ -171,33 +202,28 @@ public final class Example { return com.orbekk.example.Example.Empty.getDefaultInstance(); } - public boolean isInitialized() { - return result.isInitialized(); - } public com.orbekk.example.Example.Empty build() { - if (result != null && !isInitialized()) { + com.orbekk.example.Example.Empty result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException(result); } - return buildPartial(); + return result; } private com.orbekk.example.Example.Empty buildParsed() throws com.google.protobuf.InvalidProtocolBufferException { - if (!isInitialized()) { + com.orbekk.example.Example.Empty result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException( result).asInvalidProtocolBufferException(); } - return buildPartial(); + return result; } public com.orbekk.example.Example.Empty buildPartial() { - if (result == null) { - throw new IllegalStateException( - "build() has already been called on this Builder."); - } - com.orbekk.example.Example.Empty returnMe = result; - result = null; - return returnMe; + com.orbekk.example.Example.Empty result = new com.orbekk.example.Example.Empty(this); + onBuilt(); + return result; } public Builder mergeFrom(com.google.protobuf.Message other) { @@ -215,6 +241,10 @@ public final class Example { return this; } + public final boolean isInitialized() { + return true; + } + public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -227,11 +257,13 @@ public final class Example { 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; @@ -246,18 +278,25 @@ public final class Example { static { defaultInstance = new Empty(true); - com.orbekk.example.Example.internalForceInit(); defaultInstance.initFields(); } // @@protoc_insertion_point(class_scope:com.orbekk.example.Empty) } + public interface FortuneReplyOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required string fortune = 1; + boolean hasFortune(); + String getFortune(); + } public static final class FortuneReply extends - com.google.protobuf.GeneratedMessage { + com.google.protobuf.GeneratedMessage + implements FortuneReplyOrBuilder { // Use FortuneReply.newBuilder() to construct. - private FortuneReply() { - initFields(); + private FortuneReply(Builder builder) { + super(builder); } private FortuneReply(boolean noInit) {} @@ -280,25 +319,60 @@ public final class Example { return com.orbekk.example.Example.internal_static_com_orbekk_example_FortuneReply_fieldAccessorTable; } + private int bitField0_; // required string fortune = 1; public static final int FORTUNE_FIELD_NUMBER = 1; - private boolean hasFortune; - private java.lang.String fortune_ = ""; - public boolean hasFortune() { return hasFortune; } - public java.lang.String getFortune() { return fortune_; } + private java.lang.Object fortune_; + public boolean hasFortune() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + public String getFortune() { + java.lang.Object ref = fortune_; + 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)) { + fortune_ = s; + } + return s; + } + } + private com.google.protobuf.ByteString getFortuneBytes() { + java.lang.Object ref = fortune_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((String) ref); + fortune_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } private void initFields() { + fortune_ = ""; } + private byte memoizedIsInitialized = -1; public final boolean isInitialized() { - if (!hasFortune) return false; + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasFortune()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; return true; } public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { getSerializedSize(); - if (hasFortune()) { - output.writeString(1, getFortune()); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getFortuneBytes()); } getUnknownFields().writeTo(output); } @@ -309,15 +383,22 @@ public final class Example { if (size != -1) return size; size = 0; - if (hasFortune()) { + if (((bitField0_ & 0x00000001) == 0x00000001)) { size += com.google.protobuf.CodedOutputStream - .computeStringSize(1, getFortune()); + .computeBytesSize(1, getFortuneBytes()); } 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 com.orbekk.example.Example.FortuneReply parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { @@ -392,34 +473,51 @@ public final class Example { } 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> { - private com.orbekk.example.Example.FortuneReply result; + com.google.protobuf.GeneratedMessage.Builder<Builder> + implements com.orbekk.example.Example.FortuneReplyOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.orbekk.example.Example.internal_static_com_orbekk_example_FortuneReply_descriptor; + } - // Construct using com.orbekk.example.Example.FortuneReply.newBuilder() - private Builder() {} + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.orbekk.example.Example.internal_static_com_orbekk_example_FortuneReply_fieldAccessorTable; + } - private static Builder create() { - Builder builder = new Builder(); - builder.result = new com.orbekk.example.Example.FortuneReply(); - return builder; + // Construct using com.orbekk.example.Example.FortuneReply.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); } - protected com.orbekk.example.Example.FortuneReply internalGetResult() { - return result; + 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() { - if (result == null) { - throw new IllegalStateException( - "Cannot call clear() after build()."); - } - result = new com.orbekk.example.Example.FortuneReply(); + super.clear(); + fortune_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); return this; } public Builder clone() { - return create().mergeFrom(result); + return create().mergeFrom(buildPartial()); } public com.google.protobuf.Descriptors.Descriptor @@ -431,33 +529,35 @@ public final class Example { return com.orbekk.example.Example.FortuneReply.getDefaultInstance(); } - public boolean isInitialized() { - return result.isInitialized(); - } public com.orbekk.example.Example.FortuneReply build() { - if (result != null && !isInitialized()) { + com.orbekk.example.Example.FortuneReply result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException(result); } - return buildPartial(); + return result; } private com.orbekk.example.Example.FortuneReply buildParsed() throws com.google.protobuf.InvalidProtocolBufferException { - if (!isInitialized()) { + com.orbekk.example.Example.FortuneReply result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException( result).asInvalidProtocolBufferException(); } - return buildPartial(); + return result; } public com.orbekk.example.Example.FortuneReply buildPartial() { - if (result == null) { - throw new IllegalStateException( - "build() has already been called on this Builder."); + com.orbekk.example.Example.FortuneReply result = new com.orbekk.example.Example.FortuneReply(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; } - com.orbekk.example.Example.FortuneReply returnMe = result; - result = null; - return returnMe; + result.fortune_ = fortune_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; } public Builder mergeFrom(com.google.protobuf.Message other) { @@ -478,6 +578,14 @@ public final class Example { return this; } + public final boolean isInitialized() { + if (!hasFortune()) { + + return false; + } + return true; + } + public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -490,51 +598,69 @@ public final class Example { 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: { - setFortune(input.readString()); + bitField0_ |= 0x00000001; + fortune_ = input.readBytes(); break; } } } } + private int bitField0_; // required string fortune = 1; + private java.lang.Object fortune_ = ""; public boolean hasFortune() { - return result.hasFortune(); - } - public java.lang.String getFortune() { - return result.getFortune(); + return ((bitField0_ & 0x00000001) == 0x00000001); + } + public String getFortune() { + java.lang.Object ref = fortune_; + if (!(ref instanceof String)) { + String s = ((com.google.protobuf.ByteString) ref).toStringUtf8(); + fortune_ = s; + return s; + } else { + return (String) ref; + } } - public Builder setFortune(java.lang.String value) { + public Builder setFortune(String value) { if (value == null) { throw new NullPointerException(); } - result.hasFortune = true; - result.fortune_ = value; + bitField0_ |= 0x00000001; + fortune_ = value; + onChanged(); return this; } public Builder clearFortune() { - result.hasFortune = false; - result.fortune_ = getDefaultInstance().getFortune(); + bitField0_ = (bitField0_ & ~0x00000001); + fortune_ = getDefaultInstance().getFortune(); + onChanged(); return this; } + void setFortune(com.google.protobuf.ByteString value) { + bitField0_ |= 0x00000001; + fortune_ = value; + onChanged(); + } // @@protoc_insertion_point(builder_scope:com.orbekk.example.FortuneReply) } static { defaultInstance = new FortuneReply(true); - com.orbekk.example.Example.internalForceInit(); defaultInstance.initFields(); } @@ -556,7 +682,7 @@ public final class Example { public static com.google.protobuf.Service newReflectiveService( final Interface impl) { return new FortuneService() { - @Override + @java.lang.Override public void getFortune( com.google.protobuf.RpcController controller, com.orbekk.example.Example.Empty request, @@ -818,7 +944,5 @@ public final class Example { }, assigner); } - public static void internalForceInit() {} - // @@protoc_insertion_point(outer_class_scope) } diff --git a/src/main/java/com/orbekk/protobuf/Data.java b/src/main/java/com/orbekk/protobuf/Data.java index c958236..32b1d15 100644 --- a/src/main/java/com/orbekk/protobuf/Data.java +++ b/src/main/java/com/orbekk/protobuf/Data.java @@ -8,11 +8,31 @@ public final class Data { public static void registerAllExtensions( com.google.protobuf.ExtensionRegistry registry) { } + public interface RequestOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional string full_service_name = 1; + boolean hasFullServiceName(); + String getFullServiceName(); + + // optional string method_name = 2; + boolean hasMethodName(); + String getMethodName(); + + // optional bytes request_proto = 3; + boolean hasRequestProto(); + com.google.protobuf.ByteString getRequestProto(); + + // optional int64 request_id = 4; + boolean hasRequestId(); + long getRequestId(); + } public static final class Request extends - com.google.protobuf.GeneratedMessage { + com.google.protobuf.GeneratedMessage + implements RequestOrBuilder { // Use Request.newBuilder() to construct. - private Request() { - initFields(); + private Request(Builder builder) { + super(builder); } private Request(boolean noInit) {} @@ -35,54 +55,120 @@ public final class Data { return com.orbekk.protobuf.Data.internal_static_com_orbekk_protobuf_Request_fieldAccessorTable; } + private int bitField0_; // optional string full_service_name = 1; public static final int FULL_SERVICE_NAME_FIELD_NUMBER = 1; - private boolean hasFullServiceName; - private java.lang.String fullServiceName_ = ""; - public boolean hasFullServiceName() { return hasFullServiceName; } - public java.lang.String getFullServiceName() { return fullServiceName_; } + private java.lang.Object fullServiceName_; + public boolean hasFullServiceName() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + public String getFullServiceName() { + java.lang.Object ref = fullServiceName_; + 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)) { + fullServiceName_ = s; + } + return s; + } + } + private com.google.protobuf.ByteString getFullServiceNameBytes() { + java.lang.Object ref = fullServiceName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((String) ref); + fullServiceName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } // optional string method_name = 2; public static final int METHOD_NAME_FIELD_NUMBER = 2; - private boolean hasMethodName; - private java.lang.String methodName_ = ""; - public boolean hasMethodName() { return hasMethodName; } - public java.lang.String getMethodName() { return methodName_; } + private java.lang.Object methodName_; + public boolean hasMethodName() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + public String getMethodName() { + java.lang.Object ref = methodName_; + 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)) { + methodName_ = s; + } + return s; + } + } + private com.google.protobuf.ByteString getMethodNameBytes() { + java.lang.Object ref = methodName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((String) ref); + methodName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } // optional bytes request_proto = 3; public static final int REQUEST_PROTO_FIELD_NUMBER = 3; - private boolean hasRequestProto; - private com.google.protobuf.ByteString requestProto_ = com.google.protobuf.ByteString.EMPTY; - public boolean hasRequestProto() { return hasRequestProto; } - public com.google.protobuf.ByteString getRequestProto() { return requestProto_; } + private com.google.protobuf.ByteString requestProto_; + public boolean hasRequestProto() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + public com.google.protobuf.ByteString getRequestProto() { + return requestProto_; + } // optional int64 request_id = 4; public static final int REQUEST_ID_FIELD_NUMBER = 4; - private boolean hasRequestId; - private long requestId_ = 0L; - public boolean hasRequestId() { return hasRequestId; } - public long getRequestId() { return requestId_; } + private long requestId_; + public boolean hasRequestId() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + public long getRequestId() { + return requestId_; + } private void initFields() { + fullServiceName_ = ""; + methodName_ = ""; + requestProto_ = com.google.protobuf.ByteString.EMPTY; + requestId_ = 0L; } + 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 (hasFullServiceName()) { - output.writeString(1, getFullServiceName()); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getFullServiceNameBytes()); } - if (hasMethodName()) { - output.writeString(2, getMethodName()); + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, getMethodNameBytes()); } - if (hasRequestProto()) { - output.writeBytes(3, getRequestProto()); + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeBytes(3, requestProto_); } - if (hasRequestId()) { - output.writeInt64(4, getRequestId()); + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeInt64(4, requestId_); } getUnknownFields().writeTo(output); } @@ -93,27 +179,34 @@ public final class Data { if (size != -1) return size; size = 0; - if (hasFullServiceName()) { + if (((bitField0_ & 0x00000001) == 0x00000001)) { size += com.google.protobuf.CodedOutputStream - .computeStringSize(1, getFullServiceName()); + .computeBytesSize(1, getFullServiceNameBytes()); } - if (hasMethodName()) { + if (((bitField0_ & 0x00000002) == 0x00000002)) { size += com.google.protobuf.CodedOutputStream - .computeStringSize(2, getMethodName()); + .computeBytesSize(2, getMethodNameBytes()); } - if (hasRequestProto()) { + if (((bitField0_ & 0x00000004) == 0x00000004)) { size += com.google.protobuf.CodedOutputStream - .computeBytesSize(3, getRequestProto()); + .computeBytesSize(3, requestProto_); } - if (hasRequestId()) { + if (((bitField0_ & 0x00000008) == 0x00000008)) { size += com.google.protobuf.CodedOutputStream - .computeInt64Size(4, getRequestId()); + .computeInt64Size(4, requestId_); } 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 com.orbekk.protobuf.Data.Request parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { @@ -188,34 +281,57 @@ public final class Data { } 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> { - private com.orbekk.protobuf.Data.Request result; + com.google.protobuf.GeneratedMessage.Builder<Builder> + implements com.orbekk.protobuf.Data.RequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.orbekk.protobuf.Data.internal_static_com_orbekk_protobuf_Request_descriptor; + } - // Construct using com.orbekk.protobuf.Data.Request.newBuilder() - private Builder() {} + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.orbekk.protobuf.Data.internal_static_com_orbekk_protobuf_Request_fieldAccessorTable; + } - private static Builder create() { - Builder builder = new Builder(); - builder.result = new com.orbekk.protobuf.Data.Request(); - return builder; + // Construct using com.orbekk.protobuf.Data.Request.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); } - protected com.orbekk.protobuf.Data.Request internalGetResult() { - return result; + 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() { - if (result == null) { - throw new IllegalStateException( - "Cannot call clear() after build()."); - } - result = new com.orbekk.protobuf.Data.Request(); + super.clear(); + fullServiceName_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + methodName_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + requestProto_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000004); + requestId_ = 0L; + bitField0_ = (bitField0_ & ~0x00000008); return this; } public Builder clone() { - return create().mergeFrom(result); + return create().mergeFrom(buildPartial()); } public com.google.protobuf.Descriptors.Descriptor @@ -227,33 +343,47 @@ public final class Data { return com.orbekk.protobuf.Data.Request.getDefaultInstance(); } - public boolean isInitialized() { - return result.isInitialized(); - } public com.orbekk.protobuf.Data.Request build() { - if (result != null && !isInitialized()) { + com.orbekk.protobuf.Data.Request result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException(result); } - return buildPartial(); + return result; } private com.orbekk.protobuf.Data.Request buildParsed() throws com.google.protobuf.InvalidProtocolBufferException { - if (!isInitialized()) { + com.orbekk.protobuf.Data.Request result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException( result).asInvalidProtocolBufferException(); } - return buildPartial(); + return result; } public com.orbekk.protobuf.Data.Request buildPartial() { - if (result == null) { - throw new IllegalStateException( - "build() has already been called on this Builder."); + com.orbekk.protobuf.Data.Request result = new com.orbekk.protobuf.Data.Request(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; } - com.orbekk.protobuf.Data.Request returnMe = result; - result = null; - return returnMe; + result.fullServiceName_ = fullServiceName_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.methodName_ = methodName_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.requestProto_ = requestProto_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.requestId_ = requestId_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; } public Builder mergeFrom(com.google.protobuf.Message other) { @@ -283,6 +413,10 @@ public final class Data { return this; } + public final boolean isInitialized() { + return true; + } + public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -295,114 +429,157 @@ public final class Data { 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: { - setFullServiceName(input.readString()); + bitField0_ |= 0x00000001; + fullServiceName_ = input.readBytes(); break; } case 18: { - setMethodName(input.readString()); + bitField0_ |= 0x00000002; + methodName_ = input.readBytes(); break; } case 26: { - setRequestProto(input.readBytes()); + bitField0_ |= 0x00000004; + requestProto_ = input.readBytes(); break; } case 32: { - setRequestId(input.readInt64()); + bitField0_ |= 0x00000008; + requestId_ = input.readInt64(); break; } } } } + private int bitField0_; // optional string full_service_name = 1; + private java.lang.Object fullServiceName_ = ""; public boolean hasFullServiceName() { - return result.hasFullServiceName(); - } - public java.lang.String getFullServiceName() { - return result.getFullServiceName(); + return ((bitField0_ & 0x00000001) == 0x00000001); + } + public String getFullServiceName() { + java.lang.Object ref = fullServiceName_; + if (!(ref instanceof String)) { + String s = ((com.google.protobuf.ByteString) ref).toStringUtf8(); + fullServiceName_ = s; + return s; + } else { + return (String) ref; + } } - public Builder setFullServiceName(java.lang.String value) { + public Builder setFullServiceName(String value) { if (value == null) { throw new NullPointerException(); } - result.hasFullServiceName = true; - result.fullServiceName_ = value; + bitField0_ |= 0x00000001; + fullServiceName_ = value; + onChanged(); return this; } public Builder clearFullServiceName() { - result.hasFullServiceName = false; - result.fullServiceName_ = getDefaultInstance().getFullServiceName(); + bitField0_ = (bitField0_ & ~0x00000001); + fullServiceName_ = getDefaultInstance().getFullServiceName(); + onChanged(); return this; } + void setFullServiceName(com.google.protobuf.ByteString value) { + bitField0_ |= 0x00000001; + fullServiceName_ = value; + onChanged(); + } // optional string method_name = 2; + private java.lang.Object methodName_ = ""; public boolean hasMethodName() { - return result.hasMethodName(); - } - public java.lang.String getMethodName() { - return result.getMethodName(); + return ((bitField0_ & 0x00000002) == 0x00000002); + } + public String getMethodName() { + java.lang.Object ref = methodName_; + if (!(ref instanceof String)) { + String s = ((com.google.protobuf.ByteString) ref).toStringUtf8(); + methodName_ = s; + return s; + } else { + return (String) ref; + } } - public Builder setMethodName(java.lang.String value) { + public Builder setMethodName(String value) { if (value == null) { throw new NullPointerException(); } - result.hasMethodName = true; - result.methodName_ = value; + bitField0_ |= 0x00000002; + methodName_ = value; + onChanged(); return this; } public Builder clearMethodName() { - result.hasMethodName = false; - result.methodName_ = getDefaultInstance().getMethodName(); + bitField0_ = (bitField0_ & ~0x00000002); + methodName_ = getDefaultInstance().getMethodName(); + onChanged(); return this; } + void setMethodName(com.google.protobuf.ByteString value) { + bitField0_ |= 0x00000002; + methodName_ = value; + onChanged(); + } // optional bytes request_proto = 3; + private com.google.protobuf.ByteString requestProto_ = com.google.protobuf.ByteString.EMPTY; public boolean hasRequestProto() { - return result.hasRequestProto(); + return ((bitField0_ & 0x00000004) == 0x00000004); } public com.google.protobuf.ByteString getRequestProto() { - return result.getRequestProto(); + return requestProto_; } public Builder setRequestProto(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - result.hasRequestProto = true; - result.requestProto_ = value; + bitField0_ |= 0x00000004; + requestProto_ = value; + onChanged(); return this; } public Builder clearRequestProto() { - result.hasRequestProto = false; - result.requestProto_ = getDefaultInstance().getRequestProto(); + bitField0_ = (bitField0_ & ~0x00000004); + requestProto_ = getDefaultInstance().getRequestProto(); + onChanged(); return this; } // optional int64 request_id = 4; + private long requestId_ ; public boolean hasRequestId() { - return result.hasRequestId(); + return ((bitField0_ & 0x00000008) == 0x00000008); } public long getRequestId() { - return result.getRequestId(); + return requestId_; } public Builder setRequestId(long value) { - result.hasRequestId = true; - result.requestId_ = value; + bitField0_ |= 0x00000008; + requestId_ = value; + onChanged(); return this; } public Builder clearRequestId() { - result.hasRequestId = false; - result.requestId_ = 0L; + bitField0_ = (bitField0_ & ~0x00000008); + requestId_ = 0L; + onChanged(); return this; } @@ -411,18 +588,49 @@ public final class Data { static { defaultInstance = new Request(true); - com.orbekk.protobuf.Data.internalForceInit(); defaultInstance.initFields(); } // @@protoc_insertion_point(class_scope:com.orbekk.protobuf.Request) } + public interface ResponseOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional bytes response_proto = 1; + boolean hasResponseProto(); + com.google.protobuf.ByteString getResponseProto(); + + // optional .com.orbekk.protobuf.Response.RpcError error = 2; + boolean hasError(); + com.orbekk.protobuf.Data.Response.RpcError getError(); + + // optional int64 request_id = 5; + boolean hasRequestId(); + long getRequestId(); + + // optional bool hasFailed = 4; + boolean hasHasFailed(); + boolean getHasFailed(); + + // optional bool canceled = 6; + boolean hasCanceled(); + boolean getCanceled(); + + // optional bool done = 7 [default = true]; + boolean hasDone(); + boolean getDone(); + + // optional string error_text = 3; + boolean hasErrorText(); + String getErrorText(); + } public static final class Response extends - com.google.protobuf.GeneratedMessage { + com.google.protobuf.GeneratedMessage + implements ResponseOrBuilder { // Use Response.newBuilder() to construct. - private Response() { - initFields(); + private Response(Builder builder) { + super(builder); } private Response(boolean noInit) {} @@ -453,6 +661,11 @@ public final class Data { INVALID_PROTOBUF(3, 3), ; + public static final int UNKNOWN_SERVICE_VALUE = 0; + public static final int UNKNOWN_METHOD_VALUE = 1; + public static final int CANCELED_VALUE = 2; + public static final int INVALID_PROTOBUF_VALUE = 3; + public final int getNumber() { return value; } @@ -474,8 +687,8 @@ public final class Data { internalValueMap = new com.google.protobuf.Internal.EnumLiteMap<RpcError>() { public RpcError findValueByNumber(int number) { - return RpcError.valueOf(number) - ; } + return RpcError.valueOf(number); + } }; public final com.google.protobuf.Descriptors.EnumValueDescriptor @@ -494,6 +707,7 @@ public final class Data { private static final RpcError[] VALUES = { UNKNOWN_SERVICE, UNKNOWN_METHOD, CANCELED, INVALID_PROTOBUF, }; + public static RpcError valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc) { if (desc.getType() != getDescriptor()) { @@ -502,99 +716,152 @@ public final class Data { } return VALUES[desc.getIndex()]; } + private final int index; private final int value; + private RpcError(int index, int value) { this.index = index; this.value = value; } - static { - com.orbekk.protobuf.Data.getDescriptor(); - } - // @@protoc_insertion_point(enum_scope:com.orbekk.protobuf.Response.RpcError) } + private int bitField0_; // optional bytes response_proto = 1; public static final int RESPONSE_PROTO_FIELD_NUMBER = 1; - private boolean hasResponseProto; - private com.google.protobuf.ByteString responseProto_ = com.google.protobuf.ByteString.EMPTY; - public boolean hasResponseProto() { return hasResponseProto; } - public com.google.protobuf.ByteString getResponseProto() { return responseProto_; } + private com.google.protobuf.ByteString responseProto_; + public boolean hasResponseProto() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + public com.google.protobuf.ByteString getResponseProto() { + return responseProto_; + } // optional .com.orbekk.protobuf.Response.RpcError error = 2; public static final int ERROR_FIELD_NUMBER = 2; - private boolean hasError; private com.orbekk.protobuf.Data.Response.RpcError error_; - public boolean hasError() { return hasError; } - public com.orbekk.protobuf.Data.Response.RpcError getError() { return error_; } + public boolean hasError() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + public com.orbekk.protobuf.Data.Response.RpcError getError() { + return error_; + } // optional int64 request_id = 5; public static final int REQUEST_ID_FIELD_NUMBER = 5; - private boolean hasRequestId; - private long requestId_ = 0L; - public boolean hasRequestId() { return hasRequestId; } - public long getRequestId() { return requestId_; } + private long requestId_; + public boolean hasRequestId() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + public long getRequestId() { + return requestId_; + } // optional bool hasFailed = 4; public static final int HASFAILED_FIELD_NUMBER = 4; - private boolean hasHasFailed; - private boolean hasFailed_ = false; - public boolean hasHasFailed() { return hasHasFailed; } - public boolean getHasFailed() { return hasFailed_; } + private boolean hasFailed_; + public boolean hasHasFailed() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + public boolean getHasFailed() { + return hasFailed_; + } // optional bool canceled = 6; public static final int CANCELED_FIELD_NUMBER = 6; - private boolean hasCanceled; - private boolean canceled_ = false; - public boolean hasCanceled() { return hasCanceled; } - public boolean getCanceled() { return canceled_; } + private boolean canceled_; + public boolean hasCanceled() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + public boolean getCanceled() { + return canceled_; + } // optional bool done = 7 [default = true]; public static final int DONE_FIELD_NUMBER = 7; - private boolean hasDone; - private boolean done_ = true; - public boolean hasDone() { return hasDone; } - public boolean getDone() { return done_; } + private boolean done_; + public boolean hasDone() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + public boolean getDone() { + return done_; + } // optional string error_text = 3; public static final int ERROR_TEXT_FIELD_NUMBER = 3; - private boolean hasErrorText; - private java.lang.String errorText_ = ""; - public boolean hasErrorText() { return hasErrorText; } - public java.lang.String getErrorText() { return errorText_; } + private java.lang.Object errorText_; + public boolean hasErrorText() { + return ((bitField0_ & 0x00000040) == 0x00000040); + } + public String getErrorText() { + java.lang.Object ref = errorText_; + 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)) { + errorText_ = s; + } + return s; + } + } + private com.google.protobuf.ByteString getErrorTextBytes() { + java.lang.Object ref = errorText_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((String) ref); + errorText_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } private void initFields() { + responseProto_ = com.google.protobuf.ByteString.EMPTY; error_ = com.orbekk.protobuf.Data.Response.RpcError.UNKNOWN_SERVICE; + requestId_ = 0L; + hasFailed_ = false; + canceled_ = false; + done_ = true; + errorText_ = ""; } + 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 (hasResponseProto()) { - output.writeBytes(1, getResponseProto()); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, responseProto_); } - if (hasError()) { - output.writeEnum(2, getError().getNumber()); + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeEnum(2, error_.getNumber()); } - if (hasErrorText()) { - output.writeString(3, getErrorText()); + if (((bitField0_ & 0x00000040) == 0x00000040)) { + output.writeBytes(3, getErrorTextBytes()); } - if (hasHasFailed()) { - output.writeBool(4, getHasFailed()); + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeBool(4, hasFailed_); } - if (hasRequestId()) { - output.writeInt64(5, getRequestId()); + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeInt64(5, requestId_); } - if (hasCanceled()) { - output.writeBool(6, getCanceled()); + if (((bitField0_ & 0x00000010) == 0x00000010)) { + output.writeBool(6, canceled_); } - if (hasDone()) { - output.writeBool(7, getDone()); + if (((bitField0_ & 0x00000020) == 0x00000020)) { + output.writeBool(7, done_); } getUnknownFields().writeTo(output); } @@ -605,39 +872,46 @@ public final class Data { if (size != -1) return size; size = 0; - if (hasResponseProto()) { + if (((bitField0_ & 0x00000001) == 0x00000001)) { size += com.google.protobuf.CodedOutputStream - .computeBytesSize(1, getResponseProto()); + .computeBytesSize(1, responseProto_); } - if (hasError()) { + if (((bitField0_ & 0x00000002) == 0x00000002)) { size += com.google.protobuf.CodedOutputStream - .computeEnumSize(2, getError().getNumber()); + .computeEnumSize(2, error_.getNumber()); } - if (hasErrorText()) { + if (((bitField0_ & 0x00000040) == 0x00000040)) { size += com.google.protobuf.CodedOutputStream - .computeStringSize(3, getErrorText()); + .computeBytesSize(3, getErrorTextBytes()); } - if (hasHasFailed()) { + if (((bitField0_ & 0x00000008) == 0x00000008)) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize(4, getHasFailed()); + .computeBoolSize(4, hasFailed_); } - if (hasRequestId()) { + if (((bitField0_ & 0x00000004) == 0x00000004)) { size += com.google.protobuf.CodedOutputStream - .computeInt64Size(5, getRequestId()); + .computeInt64Size(5, requestId_); } - if (hasCanceled()) { + if (((bitField0_ & 0x00000010) == 0x00000010)) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize(6, getCanceled()); + .computeBoolSize(6, canceled_); } - if (hasDone()) { + if (((bitField0_ & 0x00000020) == 0x00000020)) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize(7, getDone()); + .computeBoolSize(7, done_); } 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 com.orbekk.protobuf.Data.Response parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { @@ -712,34 +986,63 @@ public final class Data { } 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> { - private com.orbekk.protobuf.Data.Response result; + com.google.protobuf.GeneratedMessage.Builder<Builder> + implements com.orbekk.protobuf.Data.ResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.orbekk.protobuf.Data.internal_static_com_orbekk_protobuf_Response_descriptor; + } - // Construct using com.orbekk.protobuf.Data.Response.newBuilder() - private Builder() {} + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.orbekk.protobuf.Data.internal_static_com_orbekk_protobuf_Response_fieldAccessorTable; + } - private static Builder create() { - Builder builder = new Builder(); - builder.result = new com.orbekk.protobuf.Data.Response(); - return builder; + // Construct using com.orbekk.protobuf.Data.Response.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); } - protected com.orbekk.protobuf.Data.Response internalGetResult() { - return result; + 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() { - if (result == null) { - throw new IllegalStateException( - "Cannot call clear() after build()."); - } - result = new com.orbekk.protobuf.Data.Response(); + super.clear(); + responseProto_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + error_ = com.orbekk.protobuf.Data.Response.RpcError.UNKNOWN_SERVICE; + bitField0_ = (bitField0_ & ~0x00000002); + requestId_ = 0L; + bitField0_ = (bitField0_ & ~0x00000004); + hasFailed_ = false; + bitField0_ = (bitField0_ & ~0x00000008); + canceled_ = false; + bitField0_ = (bitField0_ & ~0x00000010); + done_ = true; + bitField0_ = (bitField0_ & ~0x00000020); + errorText_ = ""; + bitField0_ = (bitField0_ & ~0x00000040); return this; } public Builder clone() { - return create().mergeFrom(result); + return create().mergeFrom(buildPartial()); } public com.google.protobuf.Descriptors.Descriptor @@ -751,33 +1054,59 @@ public final class Data { return com.orbekk.protobuf.Data.Response.getDefaultInstance(); } - public boolean isInitialized() { - return result.isInitialized(); - } public com.orbekk.protobuf.Data.Response build() { - if (result != null && !isInitialized()) { + com.orbekk.protobuf.Data.Response result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException(result); } - return buildPartial(); + return result; } private com.orbekk.protobuf.Data.Response buildParsed() throws com.google.protobuf.InvalidProtocolBufferException { - if (!isInitialized()) { + com.orbekk.protobuf.Data.Response result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException( result).asInvalidProtocolBufferException(); } - return buildPartial(); + return result; } public com.orbekk.protobuf.Data.Response buildPartial() { - if (result == null) { - throw new IllegalStateException( - "build() has already been called on this Builder."); + com.orbekk.protobuf.Data.Response result = new com.orbekk.protobuf.Data.Response(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.responseProto_ = responseProto_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.error_ = error_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.requestId_ = requestId_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.hasFailed_ = hasFailed_; + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000010; + } + result.canceled_ = canceled_; + if (((from_bitField0_ & 0x00000020) == 0x00000020)) { + to_bitField0_ |= 0x00000020; + } + result.done_ = done_; + if (((from_bitField0_ & 0x00000040) == 0x00000040)) { + to_bitField0_ |= 0x00000040; } - com.orbekk.protobuf.Data.Response returnMe = result; - result = null; - return returnMe; + result.errorText_ = errorText_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; } public Builder mergeFrom(com.google.protobuf.Message other) { @@ -816,6 +1145,10 @@ public final class Data { return this; } + public final boolean isInitialized() { + return true; + } + public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -828,17 +1161,20 @@ public final class Data { 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: { - setResponseProto(input.readBytes()); + bitField0_ |= 0x00000001; + responseProto_ = input.readBytes(); break; } case 16: { @@ -847,176 +1183,215 @@ public final class Data { if (value == null) { unknownFields.mergeVarintField(2, rawValue); } else { - setError(value); + bitField0_ |= 0x00000002; + error_ = value; } break; } case 26: { - setErrorText(input.readString()); + bitField0_ |= 0x00000040; + errorText_ = input.readBytes(); break; } case 32: { - setHasFailed(input.readBool()); + bitField0_ |= 0x00000008; + hasFailed_ = input.readBool(); break; } case 40: { - setRequestId(input.readInt64()); + bitField0_ |= 0x00000004; + requestId_ = input.readInt64(); break; } case 48: { - setCanceled(input.readBool()); + bitField0_ |= 0x00000010; + canceled_ = input.readBool(); break; } case 56: { - setDone(input.readBool()); + bitField0_ |= 0x00000020; + done_ = input.readBool(); break; } } } } + private int bitField0_; // optional bytes response_proto = 1; + private com.google.protobuf.ByteString responseProto_ = com.google.protobuf.ByteString.EMPTY; public boolean hasResponseProto() { - return result.hasResponseProto(); + return ((bitField0_ & 0x00000001) == 0x00000001); } public com.google.protobuf.ByteString getResponseProto() { - return result.getResponseProto(); + return responseProto_; } public Builder setResponseProto(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - result.hasResponseProto = true; - result.responseProto_ = value; + bitField0_ |= 0x00000001; + responseProto_ = value; + onChanged(); return this; } public Builder clearResponseProto() { - result.hasResponseProto = false; - result.responseProto_ = getDefaultInstance().getResponseProto(); + bitField0_ = (bitField0_ & ~0x00000001); + responseProto_ = getDefaultInstance().getResponseProto(); + onChanged(); return this; } // optional .com.orbekk.protobuf.Response.RpcError error = 2; + private com.orbekk.protobuf.Data.Response.RpcError error_ = com.orbekk.protobuf.Data.Response.RpcError.UNKNOWN_SERVICE; public boolean hasError() { - return result.hasError(); + return ((bitField0_ & 0x00000002) == 0x00000002); } public com.orbekk.protobuf.Data.Response.RpcError getError() { - return result.getError(); + return error_; } public Builder setError(com.orbekk.protobuf.Data.Response.RpcError value) { if (value == null) { throw new NullPointerException(); } - result.hasError = true; - result.error_ = value; + bitField0_ |= 0x00000002; + error_ = value; + onChanged(); return this; } public Builder clearError() { - result.hasError = false; - result.error_ = com.orbekk.protobuf.Data.Response.RpcError.UNKNOWN_SERVICE; + bitField0_ = (bitField0_ & ~0x00000002); + error_ = com.orbekk.protobuf.Data.Response.RpcError.UNKNOWN_SERVICE; + onChanged(); return this; } // optional int64 request_id = 5; + private long requestId_ ; public boolean hasRequestId() { - return result.hasRequestId(); + return ((bitField0_ & 0x00000004) == 0x00000004); } public long getRequestId() { - return result.getRequestId(); + return requestId_; } public Builder setRequestId(long value) { - result.hasRequestId = true; - result.requestId_ = value; + bitField0_ |= 0x00000004; + requestId_ = value; + onChanged(); return this; } public Builder clearRequestId() { - result.hasRequestId = false; - result.requestId_ = 0L; + bitField0_ = (bitField0_ & ~0x00000004); + requestId_ = 0L; + onChanged(); return this; } // optional bool hasFailed = 4; + private boolean hasFailed_ ; public boolean hasHasFailed() { - return result.hasHasFailed(); + return ((bitField0_ & 0x00000008) == 0x00000008); } public boolean getHasFailed() { - return result.getHasFailed(); + return hasFailed_; } public Builder setHasFailed(boolean value) { - result.hasHasFailed = true; - result.hasFailed_ = value; + bitField0_ |= 0x00000008; + hasFailed_ = value; + onChanged(); return this; } public Builder clearHasFailed() { - result.hasHasFailed = false; - result.hasFailed_ = false; + bitField0_ = (bitField0_ & ~0x00000008); + hasFailed_ = false; + onChanged(); return this; } // optional bool canceled = 6; + private boolean canceled_ ; public boolean hasCanceled() { - return result.hasCanceled(); + return ((bitField0_ & 0x00000010) == 0x00000010); } public boolean getCanceled() { - return result.getCanceled(); + return canceled_; } public Builder setCanceled(boolean value) { - result.hasCanceled = true; - result.canceled_ = value; + bitField0_ |= 0x00000010; + canceled_ = value; + onChanged(); return this; } public Builder clearCanceled() { - result.hasCanceled = false; - result.canceled_ = false; + bitField0_ = (bitField0_ & ~0x00000010); + canceled_ = false; + onChanged(); return this; } // optional bool done = 7 [default = true]; + private boolean done_ = true; public boolean hasDone() { - return result.hasDone(); + return ((bitField0_ & 0x00000020) == 0x00000020); } public boolean getDone() { - return result.getDone(); + return done_; } public Builder setDone(boolean value) { - result.hasDone = true; - result.done_ = value; + bitField0_ |= 0x00000020; + done_ = value; + onChanged(); return this; } public Builder clearDone() { - result.hasDone = false; - result.done_ = true; + bitField0_ = (bitField0_ & ~0x00000020); + done_ = true; + onChanged(); return this; } // optional string error_text = 3; + private java.lang.Object errorText_ = ""; public boolean hasErrorText() { - return result.hasErrorText(); - } - public java.lang.String getErrorText() { - return result.getErrorText(); + return ((bitField0_ & 0x00000040) == 0x00000040); + } + public String getErrorText() { + java.lang.Object ref = errorText_; + if (!(ref instanceof String)) { + String s = ((com.google.protobuf.ByteString) ref).toStringUtf8(); + errorText_ = s; + return s; + } else { + return (String) ref; + } } - public Builder setErrorText(java.lang.String value) { + public Builder setErrorText(String value) { if (value == null) { throw new NullPointerException(); } - result.hasErrorText = true; - result.errorText_ = value; + bitField0_ |= 0x00000040; + errorText_ = value; + onChanged(); return this; } public Builder clearErrorText() { - result.hasErrorText = false; - result.errorText_ = getDefaultInstance().getErrorText(); + bitField0_ = (bitField0_ & ~0x00000040); + errorText_ = getDefaultInstance().getErrorText(); + onChanged(); return this; } + void setErrorText(com.google.protobuf.ByteString value) { + bitField0_ |= 0x00000040; + errorText_ = value; + onChanged(); + } // @@protoc_insertion_point(builder_scope:com.orbekk.protobuf.Response) } static { defaultInstance = new Response(true); - com.orbekk.protobuf.Data.internalForceInit(); defaultInstance.initFields(); } @@ -1085,7 +1460,5 @@ public final class Data { }, assigner); } - public static void internalForceInit() {} - // @@protoc_insertion_point(outer_class_scope) } diff --git a/src/main/java/com/orbekk/protobuf/NewRpcChannel.java b/src/main/java/com/orbekk/protobuf/NewRpcChannel.java index 1e009fa..afb94af 100644 --- a/src/main/java/com/orbekk/protobuf/NewRpcChannel.java +++ b/src/main/java/com/orbekk/protobuf/NewRpcChannel.java @@ -33,6 +33,8 @@ public class NewRpcChannel implements com.google.protobuf.RpcChannel { private volatile Socket socket = null; private final ConcurrentHashMap<Long, RequestMetadata> ongoingRequests = new ConcurrentHashMap<Long, RequestMetadata>(); + private volatile OutgoingHandler outgoingHandler = null; + private volatile IncomingHandler incomingHandler = null; class RequestMetadata { public final long id; @@ -61,12 +63,13 @@ public class NewRpcChannel implements com.google.protobuf.RpcChannel { } } - class OutgoingHandler implements Runnable { + class OutgoingHandler extends Thread { private final Socket socket; private final BlockingQueue<Data.Request> requests; public OutgoingHandler(Socket socket, BlockingQueue<Data.Request> requests) { + super("OutgoingHandler"); this.socket = socket; this.requests = requests; } @@ -86,15 +89,19 @@ public class NewRpcChannel implements com.google.protobuf.RpcChannel { } } - + @Override public void interrupt() { + super.interrupt(); + tryCloseSocket(socket); + } } - class IncomingHandler implements Runnable { + class IncomingHandler extends Thread { private Socket socket; private ExecutorService responseHandlerPool; public IncomingHandler(Socket socket, ExecutorService responseHandlerPool) { + super("IncomingHandler"); this.socket = socket; this.responseHandlerPool = responseHandlerPool; } @@ -112,6 +119,11 @@ public class NewRpcChannel implements com.google.protobuf.RpcChannel { } } } + + @Override public void interrupt() { + super.interrupt(); + tryCloseSocket(socket); + } } public static NewRpcChannel create(String host, int port) @@ -127,14 +139,22 @@ public class NewRpcChannel implements com.google.protobuf.RpcChannel { } public void start() throws UnknownHostException, IOException { + if (outgoingHandler != null) { + throw new IllegalStateException("start() called twice."); + } socket = new Socket(host, port); - OutgoingHandler outgoing = new OutgoingHandler(socket, - requestQueue); - IncomingHandler incoming = new IncomingHandler(socket, - responseHandlerPool); - - new Thread(outgoing, "RequestSender: " + host + ":" + port).start(); - new Thread(incoming, "RequestReceiver: " + host + ":" + port).start(); + outgoingHandler = new OutgoingHandler(socket, requestQueue); + incomingHandler = new IncomingHandler(socket, responseHandlerPool); + + outgoingHandler.start(); + incomingHandler.start(); + } + + public void close() { + tryCloseSocket(socket); + outgoingHandler.interrupt(); + incomingHandler.interrupt(); + cancelAllRequests("channel closed."); } private void tryCloseSocket(Socket socket) { @@ -172,6 +192,12 @@ public class NewRpcChannel implements com.google.protobuf.RpcChannel { } } + private void cancelAllRequests(String reason) { + for (RequestMetadata request : ongoingRequests.values()) { + cancelRequest(request, reason); + } + } + private void cancelRequest(RequestMetadata request, String reason) { throw new IllegalStateException("Not implemented"); } diff --git a/src/main/java/com/orbekk/protobuf/RpcChannel.java b/src/main/java/com/orbekk/protobuf/RpcChannel.java index 2f53349..8e24d0c 100644 --- a/src/main/java/com/orbekk/protobuf/RpcChannel.java +++ b/src/main/java/com/orbekk/protobuf/RpcChannel.java @@ -143,7 +143,11 @@ public class RpcChannel extends Thread implements Data.Request request = createRequest(method, controller, requestMessage, responsePrototype, done); Socket socket = getSocket(); - request.writeDelimitedTo(socket.getOutputStream()); + if (socket == null) { + cancelAllRpcs(); + } else { + request.writeDelimitedTo(socket.getOutputStream()); + } } catch (IOException e) { throw new AssertionError("Should return error."); } @@ -194,7 +198,7 @@ public class RpcChannel extends Thread implements Socket socket = sockets.take(); handleResponses(socket); } catch (InterruptedException e) { - // Interrupts handled by outer loop + Thread.currentThread().interrupt(); } } } @@ -202,6 +206,7 @@ public class RpcChannel extends Thread implements public void close() { if (socket != null) { try { + this.interrupt(); socket.close(); } catch (IOException e) { logger.info("Error closing socket."); |