From 01e911abaa7f16e6ced67a4440d4094f002bf9ba Mon Sep 17 00:00:00 2001 From: seeflood <349895584@qq.com> Date: Thu, 21 Oct 2021 22:52:55 +0800 Subject: [PATCH 1/4] Java sdk with non reactor API (#234) --- components/pubsub/types.go | 21 + configs/config_redis.json | 103 + demo/pubsub/redis/client/publish_client.go | 12 +- docs/en/sdk_reference/java/start.md | 97 +- docs/img/community/img.png | Bin 131588 -> 104818 bytes docs/img/sdk/img.png | Bin 0 -> 22212 bytes docs/zh/community/people.md | 4 - docs/zh/sdk_reference/java/start.md | 83 +- pkg/grpc/api.go | 3 +- sdk/java-sdk/README-zh.md | 77 + sdk/java-sdk/README.md | 74 +- sdk/java-sdk/examples/pom.xml | 21 + .../layotto/examples/helloworld/Hello.java | 32 + .../examples/pubsub/publisher/Publisher.java | 32 + .../pubsub/subscriber/EventListener.java | 23 + .../examples/pubsub/subscriber/RawPubSub.java | 88 + .../pubsub/subscriber/Subscriber.java | 44 + .../layotto/examples/state/RedisCRUD.java | 37 + sdk/java-sdk/pom.xml | 129 +- sdk/java-sdk/sdk/pom.xml | 118 + .../layotto/v1/AbstractRuntimeClient.java | 175 + .../mosn/layotto/v1/RuntimeClientBuilder.java | 155 + .../io/mosn/layotto/v1/RuntimeClientGrpc.java | 486 + .../io/mosn/layotto/v1/RuntimeServer.java | 104 + .../v1/callback/GrpcAppCallbackImpl.java | 85 + .../v1/callback/component/Component.java} | 9 +- .../v1/callback/component/pubsub/PubSub.java | 33 + .../pubsub/PubSubClientRegistryImpl.java | 48 + .../component/pubsub/PubSubRegistry.java | 27 + .../layotto/v1/config/RuntimeProperties.java | 49 + .../mosn/layotto/v1/domain/ApiProtocol.java} | 15 +- .../v1/exceptions/RuntimeClientException.java | 96 + .../layotto/v1/exceptions/RuntimeError.java | 48 + .../mosn/layotto/v1/grpc/PubsubConverter.java | 112 + .../layotto/v1/serializer/JSONSerializer.java | 53 + .../v1/serializer/ObjectSerializer.java | 51 + .../proto/runtime/v1/AppCallbackGrpc.java | 4 +- .../proto/runtime/v1/AppCallbackProto.java | 49 +- .../spec/proto/runtime/v1/RuntimeGrpc.java | 412 +- .../spec/proto/runtime/v1/RuntimeProto.java | 41582 ++++++++++------ .../sdk/runtime/v1/client/RuntimeClient.java | 28 + .../v1/domain/ConfigurationRuntime.java | 19 + .../sdk/runtime/v1/domain/HelloRuntime.java | 23 + .../runtime/v1/domain/InvocationRuntime.java | 37 + .../sdk/runtime/v1/domain/LockRuntime.java | 19 + .../sdk/runtime/v1/domain/PubSubRuntime.java | 53 + .../runtime/v1/domain/SequencerRuntime.java | 19 + .../sdk/runtime/v1/domain/StateRuntime.java | 151 + .../v1/domain/invocation/InvokeResponse.java | 57 + .../v1/domain/lock}/TryLockRequest.java | 2 +- .../v1/domain/lock}/TryLockResponse.java | 2 +- .../v1/domain/lock}/UnlockRequest.java | 2 +- .../v1/domain/lock}/UnlockResponse.java | 2 +- .../v1/domain/pubsub/PublishEventRequest.java | 126 + .../v1/domain/pubsub/TopicEventRequest.java | 215 + .../v1/domain/pubsub/TopicEventResponse.java | 38 + .../pubsub/TopicEventResponseStatus.java | 41 + .../v1/domain/pubsub/TopicSubscription.java | 83 + .../v1/domain/state/DeleteStateRequest.java | 101 + .../state/ExecuteStateTransactionRequest.java | 81 + .../v1/domain/state/GetBulkStateRequest.java | 89 + .../v1/domain/state/GetStateRequest.java | 81 + .../v1/domain/state/SaveStateRequest.java | 54 + .../sdk/runtime/v1/domain/state/State.java | 199 + .../runtime/v1/domain/state/StateOptions.java | 77 + .../state/TransactionalStateOperation.java | 53 + .../state/TransactionalStateRequest.java | 52 + .../layotto/v1/RuntimeClientBuilderTest.java | 58 + .../v1/serializer/JSONSerializerTest.java | 424 + 69 files changed, 30303 insertions(+), 16474 deletions(-) create mode 100644 components/pubsub/types.go create mode 100644 configs/config_redis.json create mode 100644 docs/img/sdk/img.png create mode 100644 sdk/java-sdk/README-zh.md create mode 100644 sdk/java-sdk/examples/pom.xml create mode 100644 sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/helloworld/Hello.java create mode 100644 sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/pubsub/publisher/Publisher.java create mode 100644 sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/pubsub/subscriber/EventListener.java create mode 100644 sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/pubsub/subscriber/RawPubSub.java create mode 100644 sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/pubsub/subscriber/Subscriber.java create mode 100644 sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/state/RedisCRUD.java create mode 100644 sdk/java-sdk/sdk/pom.xml create mode 100644 sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/AbstractRuntimeClient.java create mode 100644 sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientBuilder.java create mode 100644 sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java create mode 100644 sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/RuntimeServer.java create mode 100644 sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/GrpcAppCallbackImpl.java rename sdk/java-sdk/{src/main/java/io/mosn/layotto/v1/domain/SayHelloRequest.java => sdk/src/main/java/io/mosn/layotto/v1/callback/component/Component.java} (82%) create mode 100644 sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/component/pubsub/PubSub.java create mode 100644 sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/component/pubsub/PubSubClientRegistryImpl.java create mode 100644 sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/component/pubsub/PubSubRegistry.java create mode 100644 sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/config/RuntimeProperties.java rename sdk/java-sdk/{src/main/java/io/mosn/layotto/v1/domain/SayHelloResponse.java => sdk/src/main/java/io/mosn/layotto/v1/domain/ApiProtocol.java} (82%) create mode 100644 sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/exceptions/RuntimeClientException.java create mode 100644 sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/exceptions/RuntimeError.java create mode 100644 sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/grpc/PubsubConverter.java create mode 100644 sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/serializer/JSONSerializer.java create mode 100644 sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/serializer/ObjectSerializer.java rename sdk/java-sdk/{ => sdk}/src/main/java/spec/proto/runtime/v1/AppCallbackGrpc.java (99%) rename sdk/java-sdk/{ => sdk}/src/main/java/spec/proto/runtime/v1/AppCallbackProto.java (98%) rename sdk/java-sdk/{ => sdk}/src/main/java/spec/proto/runtime/v1/RuntimeGrpc.java (79%) rename sdk/java-sdk/{ => sdk}/src/main/java/spec/proto/runtime/v1/RuntimeProto.java (80%) create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/client/RuntimeClient.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/ConfigurationRuntime.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/HelloRuntime.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/InvocationRuntime.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/LockRuntime.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/PubSubRuntime.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/SequencerRuntime.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/StateRuntime.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/invocation/InvokeResponse.java rename sdk/java-sdk/{src/main/java/io/mosn/layotto/v1/domain => sdk/src/main/java/spec/sdk/runtime/v1/domain/lock}/TryLockRequest.java (94%) rename sdk/java-sdk/{src/main/java/io/mosn/layotto/v1/domain => sdk/src/main/java/spec/sdk/runtime/v1/domain/lock}/TryLockResponse.java (94%) rename sdk/java-sdk/{src/main/java/io/mosn/layotto/v1/domain => sdk/src/main/java/spec/sdk/runtime/v1/domain/lock}/UnlockRequest.java (94%) rename sdk/java-sdk/{src/main/java/io/mosn/layotto/v1/domain => sdk/src/main/java/spec/sdk/runtime/v1/domain/lock}/UnlockResponse.java (95%) create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/PublishEventRequest.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/TopicEventRequest.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/TopicEventResponse.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/TopicEventResponseStatus.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/TopicSubscription.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/DeleteStateRequest.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/ExecuteStateTransactionRequest.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/GetBulkStateRequest.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/GetStateRequest.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/SaveStateRequest.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/State.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/StateOptions.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/TransactionalStateOperation.java create mode 100644 sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/TransactionalStateRequest.java create mode 100644 sdk/java-sdk/sdk/src/test/java/io/mosn/layotto/v1/RuntimeClientBuilderTest.java create mode 100644 sdk/java-sdk/sdk/src/test/java/io/mosn/layotto/v1/serializer/JSONSerializerTest.java diff --git a/components/pubsub/types.go b/components/pubsub/types.go new file mode 100644 index 0000000000..5a3bdc3fc2 --- /dev/null +++ b/components/pubsub/types.go @@ -0,0 +1,21 @@ +// Copyright 2021 Layotto Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +package pubsub + +const ( + // DefaultCloudEventType is the default event type for a runtime published event + DefaultCloudEventType = "com.runtime.event.sent" + // DefaultCloudEventSource is the default event source + DefaultCloudEventSource = "runtime" +) diff --git a/configs/config_redis.json b/configs/config_redis.json new file mode 100644 index 0000000000..99eafb3679 --- /dev/null +++ b/configs/config_redis.json @@ -0,0 +1,103 @@ +{ + "servers": [ + { + "default_log_path": "stdout", + "default_log_level": "DEBUG", + "routers": [ + { + "router_config_name": "actuator_dont_need_router" + } + ], + "listeners": [ + { + "name": "grpc", + "address": "127.0.0.1:34904", + "bind_port": true, + "filter_chains": [ + { + "filters": [ + { + "type": "tcpcopy", + "config": { + "strategy": { + "switch": "ON", + "interval": 30, + "duration": 10, + "cpu_max_rate": 80, + "mem_max_rate": 80 + } + } + }, + { + "type": "grpc", + "config": { + "server_name": "runtime", + "grpc_config": { + "hellos": { + "helloworld": { + "hello": "greeting" + } + }, + "state": { + "redis": { + "metadata": { + "redisHost": "localhost:6380", + "redisPassword": "" + } + } + }, + "sequencer": { + "redis": { + "metadata": { + "redisHost": "127.0.0.1:6380", + "redisPassword": "" + } + } + }, + "lock": { + "redis": { + "metadata": { + "redisHost": "localhost:6380", + "redisPassword": "" + } + } + }, + "app": { + "app_id": "app1", + "grpc_callback_port": 9999 + } + } + } + } + ] + } + ] + }, + { + "name": "actuator", + "address": "127.0.0.1:34999", + "bind_port": true, + "filter_chains": [ + { + "filters": [ + { + "type": "proxy", + "config": { + "downstream_protocol": "Http1", + "upstream_protocol": "Http1", + "router_config_name": "actuator_dont_need_router" + } + } + ] + } + ], + "stream_filters": [ + { + "type": "actuator_filter" + } + ] + } + ] + } + ] +} diff --git a/demo/pubsub/redis/client/publish_client.go b/demo/pubsub/redis/client/publish_client.go index 6f421d5253..578ef584c3 100644 --- a/demo/pubsub/redis/client/publish_client.go +++ b/demo/pubsub/redis/client/publish_client.go @@ -37,17 +37,11 @@ func main() { } func testPublish(cli client.Client) error { - in := &client.PublishEventRequest{ - PubsubName: "redis", - Topic: topicName, - Data: []byte("value1"), - DataContentType: "", - Metadata: nil, - } - err := cli.PublishEvent(context.Background(), in) + data := []byte("value1") + err := cli.PublishEvent(context.Background(), "redis",topicName, data) if err != nil { panic(err) } - fmt.Printf("Published a new event.Topic: %s ,Data: %s \n", in.Topic, in.Data) + fmt.Printf("Published a new event.Topic: %s ,Data: %s \n", topicName, data) return err } diff --git a/docs/en/sdk_reference/java/start.md b/docs/en/sdk_reference/java/start.md index c8905911b6..95590c4f4c 100644 --- a/docs/en/sdk_reference/java/start.md +++ b/docs/en/sdk_reference/java/start.md @@ -1 +1,96 @@ -Under Construction \ No newline at end of file +## How to use java sdk + +### 1. import sdk + +For a Maven project, add the following to your `pom.xml` file: + +```xml + + + ... + + ... + + io.mosn.layotto + runtime-sdk-parent + 1.0.0-SNAPSHOT + + ... + + ... + +``` + +### 2. Run the examples + +Clone this repository including the submodules: + +```sh +git clone https://github.com/mosn/layotto.git +``` + +Build and run Layotto: + +```bash +# make sure you replace this `${projectpath}` with your own project path. +cd ${projectpath}/cmd/layotto +go build +./layotto start -c ../../configs/config_redis.json +``` + +Then head over to build the java-sdk [Maven](https://maven.apache.org/install.html) (Apache Maven version 3.x) project: + +```sh +# make sure you replace this `${projectpath}` with your own project path. +cd ${projectpath}/sdk/java-sdk +mvn clean install +``` + +Try the following examples to learn more about this SDK: + +* Hello world: `${projectpath}/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/helloworld` +* State management: `${projectpath}/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/state` +* Pubsub API: `${projectpath}/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/pubsub` + +## How to generate a Java PROTO file + +### 1. Download proto compiler [protoc](https://github.com/protocolbuffers/protobuf/releases) + +my protoc version: + +```shell +$ protoc --version +libprotoc 3.11.2 +``` + +### 2. Check `option` fields in these proto files + +Make sure these `option` fields have been configurated. + +spec/proto/runtime/v1/appcallback.proto : + +```protobuf +option java_outer_classname = "AppCallbackProto"; +option java_package = "spec.proto.runtime.v1"; +``` + +spec/proto/runtime/v1/runtime.proto : + +```protobuf +option java_outer_classname = "RuntimeProto"; +option java_package = "spec.proto.runtime.v1"; +``` + +### 3. Compile them into corresponding `JAVA` files + +```shell +# make sure you replace this `${your PROJECT path}` with your own project path. +cd ${your PROJECT path}/spec/proto/runtime/v1 +protoc -I=. --java_out=./ runtime.proto +``` + +PS: We recommend that you use the maven plugin `protoc-gen-grpc-java` to generate these protobuf and grpc related java code. + +If you are using [IntelliJ IDEA](https://www.jetbrains.com/help/idea/discover-intellij-idea.html) ,just double-click the maven plugin and the IDE will compile proto files automatically: + +![img.png](../../../img/sdk/img.png) \ No newline at end of file diff --git a/docs/img/community/img.png b/docs/img/community/img.png index 9a6d2d30f1fc36ff85281cb00a72b75585f8522a..f1f39bab2f2e84c8f6ff04bd27185ee3a299d91f 100644 GIT binary patch literal 104818 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

q(!Ax%a8tf+6rdZ)=0mL$04f6H zyZXBE&(_E&uE|+zPa=bNCr1hx-d2rh56+;$1_psLAp$rces|@-+MxvcToXmPh6IZ( z5}$WF<~>D(*B8S{(_@i~joVOnB{nKACi*q9i{2cPCo)ELC)S1gKtW|o=LANfv7UXK zMbF6FRn-uDIlfxT`SaW5(n;;63qRXIhzE(mN^JR0Vu|>^ADRuPX4FTo-tEXRtlm@A zyLp84x9Z=qV?2-E2~a>}F(;{Jw`Lt^epn+zd+fQvAJWqdRwm^O(+oz3 z>%%n{)h}R&QKD>7$J+-HOU(`0>4k*CRaXz5Hr>CdR)5FU$}69{!9pAzwTeC4wJ?)> z31sdrg3P+dj%UO%qX&1V#4A0kO;np%3R03XWQf(yVa0XD=oZ^qL0mf|ys^mQHkq+M zds!(An|C`T(ldrgwhEay_l z++MU_kNBgVI?H?~0R>hKzZ7tjUf>WrKbS-CX>j}EA3=p#N)SdxqF&;mwE3_eW_W)n8`SFk^;}$0ReXsI}bdp$KEmukLRJ zI*nKvQ+VM}%ZOWD6+4w;7IO8{5c17DTP@1ZF>*{SJzB#Tj-Q(~6@A968Mk&Awzs!i z0arxU{MCPzPbnl@8O@d&(Zc-B@NRRo=L4%5caZ@Fm|`+enn!J-)FFxldoNR}znjDP zJKtDWaCV~xppkNfUYK2sRQf<8K`l?Cq$1Tb&&y zi;H-~?eYuhzMU+{^a<})S*)rc83H;tN@H@{t5dH^AaT<0Vrhck9&2NBRZSx1*@x$m zZcgG}>SpZENfbsEj|}EvH@G<9dI>>i=I7g5t{e zqP7oL&_YX|mY16U)@V>WQ97pnNiehPR-&B$eQ-@8^h)RxL2W&c&G^_DLr_j`rVS>v ze}wG=p&bghy<{>&xrm)`8M-1N)PsCZ3V$BSrHbNJWR{I7yVtMF_l$8iU;e<~8_hUA zJ@twQNB%SLlz8yXNgtx$qD*gka2dKu=d$^>8EeUqS8ZV{!&S+ZoRTsMKAePjVR}_E zN2hQnE@p()4pI?27_nDrx{K)Q7`E8f79qT7i`)rei;ky?^WHqSIpFwPRBZ7Ox>3$W zq)AJpJ~O{Nlu+rByT(Z+TBdxp=%wCVU#D}V(X2mWU0*c2ijPgKRuIQ$UB_N%qV{HQ z@@K(hg=~6(RA52WggO<~m3l(kt$>;O8CLKlUa!`ENQ z$rJIj%m>^k&Q~=$gN~_F@BO5u@{01ZX<|}hBlzW9lmAdX{M#DVuU4IU@nWURr8A)$ zS5)J=`mV*aFB<|<4rl&u|1C7D?=PXPqrFBu=SF$6R8m=XpqJ~;VW*cyUw2%XAUVbU z^u$PF%|y3GFTFami%rI_kGZiE;`D|7{!OwHNP+a&Qwl$dw5l(r<}dR39t&Fa>)>Md zC%JLnJ*Gy zjhnns*wfFkojTJzh4=y9aJ_@q$&Hgn`Zp!TJfOHxs%T6zbe4r3>j=xw@); zW*?*PSI{5Mlhke>*ThD<{=iF~=tqDM(tIv*cfbwz(l zGS^b!OG^SdWFMB?IUdbk+q|X1*-=B0+eOF5t>MZj;PuO83qOuG9vM10-bE=ps26s} zcYoR409}3dJG8h0e zNi^SrG=#~tSjLN8L<0={(yvP_|>7htm(mB6(Nn9^C95{8(kQ$MNoT57N+aEq#s z55}zZ(a%ldAG4%~S+5zZa%Df!`IxC|S?S0n&%}o#^mO!#*JRSW4KA~9<|cszHx4k1kGn$_v2t##NgtT-!y9Fj*9V;0l2od-M;89b z*i$)LUoBL{yAJIf_x+42IUFr4ZTgqS_u@s{q_{`ZpSzZlnCy0mnG6 z8oA!&zl)Thg;P?OvAmUyI3@D|US{kBLcuDxaGhn^?&SjUjKRp|KYNZb>??7EF6%*q zk9i7$s*pz~abLZ6_U+so?}(g<(1VFFP>G!>{|^7jl?de5nOHAJU)_s4^NB_8AjVmeE3b z@ul$V>9u3i)sl4cllL`> zELLl~gDy#}f8%8T#wq=c9nMo2%fq{bmwr^w)mJZ9*W@))pNk!~V{?p`FPPpVFVNt5 z_i_Bsd#TTQywFc~ya$W0aFUwAq&3IM03AcancQ@di&!t;OX24^#L&0KSoU|oaMtVe z`jfz8MibaKhF8G8_}jJ5H{>~Wjt!uYdm_$qc@EuO0?hiT3FmNe!xA>!beXcRGhF1f_4yVn(myGO2?r-!HefE5{oY&HHCwqwfzfW>ov=f?WKT(_RLe0Uts2dk?#xKG9jt2Hv|9?A2vXg;S+QM_p^>>D>DLFZV>j zK&b%g*};cQ{3YocZR)gM)}2D;TJ~bw285?3cW{NUERlA zJVQ31Ai!N2w_(G*M0~*MzCMK1fPc9zDIHWSE`zrAXDbgs9h`X7-~%6sBUAJfl9%*xs@r4U+19cX<}$SO z!LU1;divqYPvh+DjGUCzDc!26ifPWG(f89Q)$S;&aUi>V;bH&rlK;|O-v${NL)N~v zr>|gdAS>9ZlynY%^im|E2G957{_=sVt5+j+FmNYt5*1MCYdy4s;w>Om*O#;&AAr@%D$lBWs+rsW8CA06;pvWy3CfcQ95H1LNt`37)}7mC@!h%a7b*!*vt xbWpMJ15Xl-Cg{8T+1LME^qT*F<9?U8EB6!Cye6+kfya9xE3NdtMAA6me*yG{PS5}V literal 131588 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

Zk9H5TM^50>H`#9vd=KF+o|Q_S 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 literal 0 HcmV?d00001 diff --git a/docs/zh/community/people.md b/docs/zh/community/people.md index e87331c94d..498e35181d 100644 --- a/docs/zh/community/people.md +++ b/docs/zh/community/people.md @@ -20,10 +20,6 @@ 邀请中,欢迎感兴趣的同学联系@seeflood 加入社区 ![img.png](../../img/community/img.png) -以及: - -![img.png](img.png) - ## Contributor https://github.com/mosn/layotto/graphs/contributors diff --git a/docs/zh/sdk_reference/java/start.md b/docs/zh/sdk_reference/java/start.md index c8905911b6..2937f41704 100644 --- a/docs/zh/sdk_reference/java/start.md +++ b/docs/zh/sdk_reference/java/start.md @@ -1 +1,82 @@ -Under Construction \ No newline at end of file +## How to use this sdk +### 1. import sdk +对于 Maven 项目,将以下配置添加进 `pom.xml` 文件: +```xml + + ... + + ... + + io.mosn.layotto + runtime-sdk-parent + 1.0.0-SNAPSHOT + + ... + + ... + +``` + +### 2. Run the examples +clone仓库到本地: + +```sh +git clone https://github.com/mosn/layotto.git +``` + +构建并运行Layotto: + +```bash +# make sure you replace this `${projectpath}` with your own project path. +cd ${projectpath}/cmd/layotto +go build +./layotto start -c ../../configs/config_redis.json +``` + +构建java-sdk [Maven](https://maven.apache.org/install.html) (Apache Maven version 3.x) 项目: + +```sh +# make sure you replace this `${projectpath}` with your own project path. +cd ${projectpath}/sdk/java-sdk +mvn clean install +``` + +通过以下Examples示例来了解如何使用SDK: +* Hello world: `${projectpath}/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/helloworld` +* State management: `${projectpath}/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/state` +* Pubsub API: `${projectpath}/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/pubsub` + + +## How to generate a Java PROTO file + +### 1. 下载编译工具 [protoc](https://github.com/protocolbuffers/protobuf/releases) +my protoc version: +```shell +$ protoc --version +libprotoc 3.11.2 +``` + +### 2. 修改对应`proto`文件生成类名包名等信息 +(需先修改文件内部service名) +`spec/proto/runtime/v1/appcallback.proto` : +```protobuf +option java_outer_classname = "AppCallbackProto"; +option java_package = "spec.proto.runtime.v1"; +``` +`spec/proto/runtime/v1/runtime.proto` : +```protobuf +option java_outer_classname = "RuntimeProto"; +option java_package = "spec.proto.runtime.v1"; +``` + +### 3. 编译其对应`JAVA`文件 +```shell +cd ${your PROJECT path}/spec/proto/runtime/v1 +protoc -I=. --java_out=./ runtime.proto +``` + +PS: 建议用maven插件`protoc-gen-grpc-java`生成protobuf和grpc的java代码 + +如果您在使用 [IntelliJ IDEA](https://www.jetbrains.com/help/idea/discover-intellij-idea.html) ,双击 Maven插件, IDE 会自动帮你编译 proto 文件: + +![img.png](../../../img/sdk/img.png) \ No newline at end of file diff --git a/pkg/grpc/api.go b/pkg/grpc/api.go index db6fe599c7..54957e2049 100644 --- a/pkg/grpc/api.go +++ b/pkg/grpc/api.go @@ -21,6 +21,7 @@ import ( "errors" "fmt" "io" + l8_comp_pubsub "mosn.io/layotto/components/pubsub" "strings" "sync" @@ -426,7 +427,7 @@ func (a *api) doPublishEvent(ctx context.Context, pubsubName string, topic strin return &emptypb.Empty{}, err } } else { - envelope = contrib_pubsub.NewCloudEventsEnvelope(uuid.New().String(), "", contrib_pubsub.DefaultCloudEventType, "", topic, pubsubName, + envelope = contrib_pubsub.NewCloudEventsEnvelope(uuid.New().String(), l8_comp_pubsub.DefaultCloudEventSource, l8_comp_pubsub.DefaultCloudEventType, "", topic, pubsubName, contentType, data, "") } features := component.Features() diff --git a/sdk/java-sdk/README-zh.md b/sdk/java-sdk/README-zh.md new file mode 100644 index 0000000000..466d3210d8 --- /dev/null +++ b/sdk/java-sdk/README-zh.md @@ -0,0 +1,77 @@ +## How to use this sdk +### 1. import sdk +对于 Maven 项目,将以下配置添加进 `pom.xml` 文件: +```xml + + ... + + ... + + io.mosn.layotto + runtime-sdk-parent + 1.0.0-SNAPSHOT + + ... + + ... + +``` + +### 2. Run the examples +clone仓库到本地: + +```sh +git clone https://github.com/mosn/layotto.git +``` + +构建并运行Layotto: + +```bash +# make sure you replace this` ${projectpath}` with your own project path. +cd ${projectpath}/cmd/layotto +go build +./layotto start -c ../../configs/config_redis.json +``` + +构建java-sdk [Maven](https://maven.apache.org/install.html) (Apache Maven version 3.x) 项目: + +```sh +# make sure you replace this` ${projectpath}` with your own project path. +cd ${projectpath}/sdk/java-sdk +mvn clean install +``` +通过以下Examples示例来了解如何使用SDK: +* [Hello world](./examples/src/main/java/io/mosn/layotto/examples/helloworld) +* [State management](./examples/src/main/java/io/mosn/layotto/examples/state) +* [Pubsub API](./examples/src/main/java/io/mosn/layotto/examples/pubsub) + + +## How to generate a Java PROTO file + +### 1. 下载编译工具 [protoc](https://github.com/protocolbuffers/protobuf/releases) +my protoc version: +```shell +$ protoc --version +libprotoc 3.11.2 +``` + +### 2. 修改对应`proto`文件生成类名包名等信息 +(需先修改文件内部service名) +`spec/proto/runtime/v1/appcallback.proto` : +```protobuf +option java_outer_classname = "AppCallbackProto"; +option java_package = "spec.proto.runtime.v1"; +``` +`spec/proto/runtime/v1/runtime.proto` : +```protobuf +option java_outer_classname = "RuntimeProto"; +option java_package = "spec.proto.runtime.v1"; +``` + +### 3. 编译其对应`JAVA`文件 +```shell +cd ${your PROJECT path}/spec/proto/runtime/v1 +protoc -I=. --java_out=./ runtime.proto +``` + +PS: 建议用maven插件`protoc-gen-grpc-java`生成protobuf和grpc的java代码 diff --git a/sdk/java-sdk/README.md b/sdk/java-sdk/README.md index fc74e156e0..0fd4a28d5c 100644 --- a/sdk/java-sdk/README.md +++ b/sdk/java-sdk/README.md @@ -1,31 +1,85 @@ +[中文](./README-zh.md) +## How to use java sdk +### 1. import sdk +For a Maven project, add the following to your `pom.xml` file: +```xml + + ... + + ... + + io.mosn.layotto + runtime-sdk-parent + 1.0.0-SNAPSHOT + + ... + + ... + +``` -## How to generate a Java PROTO file +### 2. Run the examples +Clone this repository including the submodules: + +```sh +git clone https://github.com/mosn/layotto.git +``` + +Build and run Layotto: + +```bash +# make sure you replace this` ${projectpath}` with your own project path. +cd ${projectpath}/cmd/layotto +go build +./layotto start -c ../../configs/config_redis.json +``` + +Then head over to build the java-sdk [Maven](https://maven.apache.org/install.html) (Apache Maven version 3.x) project: + +```sh +# make sure you replace this` ${projectpath}` with your own project path. +cd ${projectpath}/sdk/java-sdk +mvn clean install +``` + + + + +Try the following examples to learn more about this SDK: +* [Hello world](./examples/src/main/java/io/mosn/layotto/examples/helloworld) +* [State management](./examples/src/main/java/io/mosn/layotto/examples/state) +* [Pubsub API](./examples/src/main/java/io/mosn/layotto/examples/pubsub) -### 1. 下载对应[proto](https://github.com/protocolbuffers/protobuf/releases/tag/v3.6.1) 文件到本地 -my protoc version: +## How to generate a Java PROTO file + +### 1. Download proto compiler [protoc](https://github.com/protocolbuffers/protobuf/releases) +my protoc version: ```shell $ protoc --version -libprotoc 3.17.3 +libprotoc 3.11.2 ``` -### 2. 修改对应`proto`文件生成类名包名等信息 -(需先修改文件内部service名) -appcallback.proto: +### 2. Check `option` fields in these proto files +Make sure these `option` fields have been configurated. + +spec/proto/runtime/v1/appcallback.proto : ```protobuf option java_outer_classname = "AppCallbackProto"; option java_package = "spec.proto.runtime.v1"; ``` -runtime.proto + +spec/proto/runtime/v1/runtime.proto : ```protobuf option java_outer_classname = "RuntimeProto"; option java_package = "spec.proto.runtime.v1"; ``` -### 3. 编译其对应`JAVA`文件 +### 3. Compile them into corresponding `JAVA` files ```shell +# make sure you replace this `${your PROJECT path}` with your own project path. cd ${your PROJECT path}/spec/proto/runtime/v1 protoc -I=. --java_out=./ runtime.proto ``` -PS: 建议用maven插件`protoc-gen-grpc-java`生成protobuf和grpc的java代码 +PS: We recommend that you use the maven plugin `protoc-gen-grpc-java` to generate these protobuf and grpc related java code. diff --git a/sdk/java-sdk/examples/pom.xml b/sdk/java-sdk/examples/pom.xml new file mode 100644 index 0000000000..81f6eabe7c --- /dev/null +++ b/sdk/java-sdk/examples/pom.xml @@ -0,0 +1,21 @@ + + + 4.0.0 + + + runtime-sdk-parent + io.mosn.layotto + 1.0.0-SNAPSHOT + + + examples + + + + io.mosn.layotto + runtime-sdk + + + \ No newline at end of file diff --git a/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/helloworld/Hello.java b/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/helloworld/Hello.java new file mode 100644 index 0000000000..f9dd25dd30 --- /dev/null +++ b/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/helloworld/Hello.java @@ -0,0 +1,32 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.examples.helloworld; + +import io.mosn.layotto.v1.RuntimeClientBuilder; +import io.mosn.layotto.v1.config.RuntimeProperties; +import spec.sdk.runtime.v1.client.RuntimeClient; + +public class Hello { + + public static void main(String[] args) { + RuntimeClient client = new RuntimeClientBuilder() + .withPort(RuntimeProperties.DEFAULT_PORT) + .build(); + + String resp = client.sayHello("helloworld"); + System.out.println(resp); + } +} diff --git a/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/pubsub/publisher/Publisher.java b/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/pubsub/publisher/Publisher.java new file mode 100644 index 0000000000..0cf2b54978 --- /dev/null +++ b/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/pubsub/publisher/Publisher.java @@ -0,0 +1,32 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.examples.pubsub.publisher; + +import io.mosn.layotto.v1.RuntimeClientBuilder; +import io.mosn.layotto.v1.config.RuntimeProperties; +import spec.sdk.runtime.v1.client.RuntimeClient; + +public class Publisher { + + public static void main(String[] args) { + RuntimeClient client = new RuntimeClientBuilder() + .withPort(RuntimeProperties.DEFAULT_PORT) + .build(); + + client.publishEvent("redis", "hello", "world".getBytes()); + client.publishEvent("redis", "topic1", "message1".getBytes()); + } +} diff --git a/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/pubsub/subscriber/EventListener.java b/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/pubsub/subscriber/EventListener.java new file mode 100644 index 0000000000..60edbff607 --- /dev/null +++ b/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/pubsub/subscriber/EventListener.java @@ -0,0 +1,23 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.examples.pubsub.subscriber; + +import spec.sdk.runtime.v1.domain.pubsub.TopicEventRequest; + +public interface EventListener { + + void onEvent(TopicEventRequest request) throws Exception; +} diff --git a/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/pubsub/subscriber/RawPubSub.java b/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/pubsub/subscriber/RawPubSub.java new file mode 100644 index 0000000000..d7b2d9876c --- /dev/null +++ b/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/pubsub/subscriber/RawPubSub.java @@ -0,0 +1,88 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.examples.pubsub.subscriber; + +import io.mosn.layotto.v1.callback.component.pubsub.PubSub; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import spec.sdk.runtime.v1.domain.pubsub.TopicEventRequest; +import spec.sdk.runtime.v1.domain.pubsub.TopicEventResponse; +import spec.sdk.runtime.v1.domain.pubsub.TopicEventResponseStatus; +import spec.sdk.runtime.v1.domain.pubsub.TopicSubscription; + +import java.util.HashSet; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; + +/** + * Raw pubsub client. + */ +public class RawPubSub implements PubSub { + + private static final Logger LOG = LoggerFactory.getLogger(RawPubSub.class); + + private final Map listeners = new ConcurrentHashMap<>(); + private final String componentName; + + public RawPubSub(String pubsubName) { + componentName = pubsubName; + } + + @Override + public String getComponentName() { + return componentName; + } + + public void subscribe(String topic, EventListener listener) { + if (listeners.putIfAbsent(topic, listener) != null) { + throw new IllegalArgumentException("Listener for topic " + topic + " already exists!"); + } + } + + @Override + public Set listTopicSubscriptions() { + final HashSet subscriptions = new HashSet<>(); + for (String topic : listeners.keySet()) { + final TopicSubscription subscription = new TopicSubscription(); + subscription.setTopic(topic); + subscription.setPubsubName(componentName); + subscriptions.add(subscription); + } + return subscriptions; + } + + @Override + public TopicEventResponse onTopicEvent(TopicEventRequest request) { + final String topic = request.getTopic(); + final EventListener eventListener = listeners.get(topic); + if (eventListener == null) { + LOG.error("Cannot find listener for topic:[{}]", topic); + TopicEventResponse resp = new TopicEventResponse(); + resp.setStatus(TopicEventResponseStatus.DROP); + } + try { + eventListener.onEvent(request); + final TopicEventResponse response = new TopicEventResponse(); + response.setStatus(TopicEventResponseStatus.SUCCESS); + return response; + } catch (Exception e) { + final TopicEventResponse response = new TopicEventResponse(); + response.setStatus(TopicEventResponseStatus.RETRY); + return response; + } + } +} diff --git a/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/pubsub/subscriber/Subscriber.java b/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/pubsub/subscriber/Subscriber.java new file mode 100644 index 0000000000..b433cb4211 --- /dev/null +++ b/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/pubsub/subscriber/Subscriber.java @@ -0,0 +1,44 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.examples.pubsub.subscriber; + +import com.alibaba.fastjson.JSON; +import io.mosn.layotto.v1.RuntimeServer; + +import java.util.concurrent.Semaphore; + +public class Subscriber { + + /** + * This is the entry point for this example app, which subscribes to a topic. + * + * @throws Exception An Exception on startup. + */ + public static void main(String[] args) throws Exception { + RuntimeServer srv = new RuntimeServer(9999); + RawPubSub pubsub = new RawPubSub("redis"); + pubsub.subscribe("hello", request -> { + System.out.println(JSON.toJSONString(request)); + }); + pubsub.subscribe("topic1", request -> { + System.out.println(JSON.toJSONString(request)); + }); + srv.registerPubSubCallback(pubsub.getComponentName(), pubsub); + Semaphore sm = new Semaphore(0); + srv.start(); + sm.acquire(); + } +} \ No newline at end of file diff --git a/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/state/RedisCRUD.java b/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/state/RedisCRUD.java new file mode 100644 index 0000000000..c4104911dd --- /dev/null +++ b/sdk/java-sdk/examples/src/main/java/io/mosn/layotto/examples/state/RedisCRUD.java @@ -0,0 +1,37 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.examples.state; + +import io.mosn.layotto.v1.RuntimeClientBuilder; +import io.mosn.layotto.v1.config.RuntimeProperties; +import spec.sdk.runtime.v1.client.RuntimeClient; +import spec.sdk.runtime.v1.domain.state.State; + +public class RedisCRUD { + + public static void main(String[] args) { + RuntimeClient client = new RuntimeClientBuilder() + .withPort(RuntimeProperties.DEFAULT_PORT) + .build(); + + client.saveState("redis", "key1", "v11"); + State state = client.getState("redis", "key1", String.class); + System.out.println("get state key:" + state.getKey() + " value:" + state.getValue()); + client.deleteState("redis", "key1"); + state = client.getState("redis", "key1", String.class); + System.out.println("get state after delete. key:" + state.getKey() + " value:" + state.getValue()); + } +} diff --git a/sdk/java-sdk/pom.xml b/sdk/java-sdk/pom.xml index 8ad2159f07..de28b6ae37 100644 --- a/sdk/java-sdk/pom.xml +++ b/sdk/java-sdk/pom.xml @@ -4,60 +4,95 @@ 4.0.0 io.mosn.layotto - java-sdk - 1.0.0 - jar + runtime-sdk-parent + 1.0.0-SNAPSHOT + pom + + sdk + examples + + + + 3.17.2 + 1.37.0 + 1.7.30 + 1.2.76 + 4.13.1 + 3.11.2 + + + + + + + io.mosn.layotto + runtime-sdk + ${project.version} + + + io.mosn.layotto + examples + ${project.version} + + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + org.slf4j + slf4j-api + ${slf4j.version} + + + + + io.grpc + grpc-netty + ${grpc.version} + + + io.grpc + grpc-protobuf + ${grpc.version} + + + io.grpc + grpc-stub + ${grpc.version} + + + + + org.mockito + mockito-core + ${mockito.version} + test + + + junit + junit + ${junit.version} + test + + + - - - io.grpc - grpc-netty - 1.39.0 - - - io.grpc - grpc-protobuf - 1.39.0 - - - io.grpc - grpc-stub - 1.39.0 - - - org.apache.tomcat - annotations-api - 6.0.53 - provided - - - - - kr.motd.maven - os-maven-plugin - 1.6.2 - - - org.xolstice.maven.plugins - protobuf-maven-plugin - 0.6.1 + org.apache.maven.plugins + maven-compiler-plugin + 3.6.0 - com.google.protobuf:protoc:3.17.2:exe:${os.detected.classifier} - grpc-java - io.grpc:protoc-gen-grpc-java:1.39.0:exe:${os.detected.classifier} + 1.8 + 1.8 - - - - compile - compile-custom - - - diff --git a/sdk/java-sdk/sdk/pom.xml b/sdk/java-sdk/sdk/pom.xml new file mode 100644 index 0000000000..b6a12fe55b --- /dev/null +++ b/sdk/java-sdk/sdk/pom.xml @@ -0,0 +1,118 @@ + + + 4.0.0 + + + io.mosn.layotto + runtime-sdk-parent + 1.0.0-SNAPSHOT + + + runtime-sdk + runtime-sdk + SDK for Runtime + jar + + + + com.alibaba + fastjson + + + + org.slf4j + slf4j-api + + + + io.grpc + grpc-netty + + + io.grpc + grpc-protobuf + + + io.grpc + grpc-stub + + + + junit + junit + test + + + org.mockito + mockito-core + test + + + + + src/main/java + + + src/main/resources + true + + **/** + + + + proto + true + + **/*.proto + + + + + src/test/java + + + src/test/resources + true + + **/** + + + + + + + kr.motd.maven + os-maven-plugin + 1.4.1.Final + + + + + + org.xolstice.maven.plugins + protobuf-maven-plugin + 0.6.1 + + com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier} + + grpc-java + io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier} + + false + ${basedir}/../../../spec + src/main/java + + + + + compile + compile-custom + + + + + + + + diff --git a/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/AbstractRuntimeClient.java b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/AbstractRuntimeClient.java new file mode 100644 index 0000000000..4e24635a93 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/AbstractRuntimeClient.java @@ -0,0 +1,175 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.v1; + +import io.mosn.layotto.v1.config.RuntimeProperties; +import io.mosn.layotto.v1.serializer.ObjectSerializer; +import org.slf4j.Logger; +import spec.sdk.runtime.v1.client.RuntimeClient; +import spec.sdk.runtime.v1.domain.invocation.InvokeResponse; +import spec.sdk.runtime.v1.domain.state.*; + +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public abstract class AbstractRuntimeClient implements RuntimeClient { + + /** + * Runtime client logger. + */ + protected final Logger logger; + /** + * Serializer used for state objects. + */ + protected final ObjectSerializer stateSerializer; + /** + * Runtime invocation timeout ms. + */ + private final int timeoutMs; + + AbstractRuntimeClient(Logger logger, int timeoutMs, ObjectSerializer stateSerializer) { + this.logger = logger; + this.timeoutMs = timeoutMs; + this.stateSerializer = stateSerializer; + } + + @Override + public String sayHello(String name) { + return this.sayHello(name, this.getTimeoutMs()); + } + + @Override + public InvokeResponse invokeMethod(String appId, String methodName, byte[] data, Map header) { + return this.invokeMethod(appId, methodName, data, header, this.getTimeoutMs()); + } + // TODO add some methods that serialize data before invoking method + + @Override + public void publishEvent(String pubsubName, String topicName, byte[] data) { + Map metadata = new HashMap<>(2, 1); + this.publishEvent(pubsubName, topicName, data, RuntimeProperties.DEFAULT_PUBSUB_CONTENT_TYPE, metadata); + } + + @Override + public void publishEvent(String pubsubName, String topicName, byte[] data, Map metadata) { + this.publishEvent(pubsubName, topicName, data, RuntimeProperties.DEFAULT_PUBSUB_CONTENT_TYPE, metadata); + } + + /** + * Retrieve a State based on their key. + * + * @param storeName The name of the state store. + * @param key The key of the State to be retrieved. + * @param clazz The type of State needed as return. + */ + @Override + public State getState(String storeName, String key, Class clazz) { + return this.getState(storeName, key, null, clazz); + } + + /** + * Retrieve a State based on their key. + * + * @param storeName The name of the state store. + * @param key The key of the State to be retrieved. + * @param options Optional settings for retrieve operation. + * @param clazz The Type of State needed as return. + */ + @Override + public State getState(String storeName, String key, StateOptions options, Class clazz) { + GetStateRequest request = new GetStateRequest(storeName, key); + request.setStateOptions(options); + return this.getState(request, clazz); + } + + /** + * {@inheritDoc} + */ + @Override + public void deleteState(String storeName, String key) { + this.deleteState(storeName, key, null, null); + } + + /** + * {@inheritDoc} + */ + @Override + public void deleteState(String storeName, String key, String etag, StateOptions options) { + DeleteStateRequest request = new DeleteStateRequest(storeName, key); + request.setEtag(etag); + request.setStateOptions(options); + this.deleteState(request); + } + + /** + * {@inheritDoc} + */ + @Override + public void saveState(String storeName, String key, Object value) { + Map metadata = new HashMap<>(2, 1); + this.saveState(storeName, key, null, value, null, metadata); + } + + /** + * {@inheritDoc} + */ + @Override + public void saveState(String storeName, String key, String etag, Object value, StateOptions options, Map metadata) { + State state = new State<>(key, value, etag, metadata, options); + List> states = Collections.singletonList(state); + this.saveBulkState(storeName, states); + } + + /** + * {@inheritDoc} + */ + @Override + public void saveBulkState(String storeName, List> states) { + SaveStateRequest request = new SaveStateRequest(storeName); + request.setStates(states); + this.saveBulkState(request); + } + + /** + * {@inheritDoc} + */ + @Override + public void executeStateTransaction(String storeName, List> operations) { + ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequest(storeName); + request.setOperations(operations); + this.executeStateTransaction(request); + } + + /** + * {@inheritDoc} + */ + @Override + public List> getBulkState(String storeName, List keys, Class clazz) { + GetBulkStateRequest request = new GetBulkStateRequest(storeName, keys); + return this.getBulkState(request, clazz); + } + + /** + * Getter method for property timeoutMs. + * + * @return property value of timeoutMs + */ + public int getTimeoutMs() { + return this.timeoutMs; + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientBuilder.java b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientBuilder.java new file mode 100644 index 0000000000..1c6992a3c9 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientBuilder.java @@ -0,0 +1,155 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.v1; + +import com.google.errorprone.annotations.DoNotCall; +import io.grpc.ManagedChannel; +import io.grpc.ManagedChannelBuilder; +import io.mosn.layotto.v1.config.RuntimeProperties; +import io.mosn.layotto.v1.domain.ApiProtocol; +import io.mosn.layotto.v1.serializer.JSONSerializer; +import io.mosn.layotto.v1.serializer.ObjectSerializer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import spec.proto.runtime.v1.RuntimeGrpc; +import spec.sdk.runtime.v1.client.RuntimeClient; + +import java.io.Closeable; +import java.util.function.Supplier; + +/** + * A builder for the RuntimeClient, + */ +public class RuntimeClientBuilder { + + private static final Logger DEFAULT_LOGGER = LoggerFactory.getLogger(RuntimeClient.class.getName()); + + private int timeoutMs = RuntimeProperties.DEFAULT_TIMEOUT_MS; + + private String ip = RuntimeProperties.DEFAULT_IP; + + private int port = RuntimeProperties.DEFAULT_PORT; + + private ApiProtocol protocol = RuntimeProperties.DEFAULT_API_PROTOCOL; + + private Logger logger = DEFAULT_LOGGER; + + private ObjectSerializer stateSerializer = new JSONSerializer(); + + // TODO add rpc serializer + + /** + * Creates a constructor for RuntimeClient. + */ + public RuntimeClientBuilder() { + } + + public RuntimeClientBuilder withIp(String ip) { + if (ip == null || ip.isEmpty()) { + throw new IllegalArgumentException("Invalid ip."); + } + this.ip = ip; + return this; + } + + public RuntimeClientBuilder withPort(int port) { + if (port <= 0) { + throw new IllegalArgumentException("Invalid port."); + } + this.port = port; + return this; + } + + @DoNotCall + public RuntimeClientBuilder withApiProtocol(ApiProtocol protocol) { + if (protocol == null) { + throw new IllegalArgumentException("Invalid protocol."); + } + this.protocol = protocol; + return this; + } + + public RuntimeClientBuilder withTimeout(int timeoutMillisecond) { + if (timeoutMillisecond <= 0) { + throw new IllegalArgumentException("Invalid timeout."); + } + this.timeoutMs = timeoutMillisecond; + return this; + } + + public RuntimeClientBuilder withLogger(Logger logger) { + if (logger == null) { + throw new IllegalArgumentException("Invalid logger."); + } + this.logger = logger; + return this; + } + + /** + * Sets the serializer for objects to be persisted. + * + * @param stateSerializer Serializer for objects to be persisted. + * @return This instance. + */ + public RuntimeClientBuilder withStateSerializer(ObjectSerializer stateSerializer) { + if (stateSerializer == null) { + throw new IllegalArgumentException("State serializer is required"); + } + + this.stateSerializer = stateSerializer; + return this; + } + + /** + * Build an instance of the Client based on the provided setup. + * + * @return an instance of the setup Client + * @throws IllegalStateException if any required field is missing + */ + public RuntimeClient build() { + if (protocol == null) { + throw new IllegalStateException("Protocol is required."); + } + + switch (protocol) { + case GRPC: + return buildGrpc(); + default: + throw new IllegalStateException("Unsupported protocol: " + protocol.name()); + } + } + + private RuntimeClient buildGrpc() { + if (port <= 0) { + throw new IllegalArgumentException("Invalid port."); + } + ManagedChannel channel = ManagedChannelBuilder.forAddress(ip, port) + .usePlaintext() + .build(); + Closeable closeable = () -> { + if (channel != null && !channel.isShutdown()) { + channel.shutdown(); + } + }; + RuntimeGrpc.RuntimeBlockingStub blockingStub = RuntimeGrpc.newBlockingStub(channel); + return new RuntimeClientGrpc( + logger, + timeoutMs, + stateSerializer, + closeable, + blockingStub); + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java new file mode 100644 index 0000000000..fc6551196e --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java @@ -0,0 +1,486 @@ +package io.mosn.layotto.v1; + +import com.google.common.base.Strings; +import com.google.protobuf.Any; +import com.google.protobuf.ByteString; +import io.grpc.Metadata; +import io.grpc.stub.MetadataUtils; +import io.mosn.layotto.v1.config.RuntimeProperties; +import io.mosn.layotto.v1.exceptions.RuntimeClientException; +import io.mosn.layotto.v1.serializer.ObjectSerializer; +import org.slf4j.Logger; +import spec.proto.runtime.v1.RuntimeGrpc; +import spec.proto.runtime.v1.RuntimeProto; +import spec.sdk.runtime.v1.domain.invocation.InvokeResponse; +import spec.sdk.runtime.v1.domain.state.*; + +import java.io.Closeable; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +public class RuntimeClientGrpc extends AbstractRuntimeClient { + + private static final String TIMEOUT_KEY = "timeout"; + protected final RuntimeGrpc.RuntimeBlockingStub blockingStub; + private final Closeable closeable; + + RuntimeClientGrpc(Logger logger, + int timeoutMs, + ObjectSerializer stateSerializer, + Closeable closeable, + RuntimeGrpc.RuntimeBlockingStub blockingStub) { + super(logger, timeoutMs, stateSerializer); + this.closeable = closeable; + this.blockingStub = blockingStub; + } + + @Override + public String sayHello(String name, int timeoutMillisecond) { + try { + // 1. prepare request + RuntimeProto.SayHelloRequest req = RuntimeProto.SayHelloRequest.newBuilder() + .setServiceName(name) + .setName(name) + .build(); + + // 2. invoke + RuntimeProto.SayHelloResponse response = blockingStub.withDeadlineAfter(timeoutMillisecond, TimeUnit.MILLISECONDS) + .sayHello(req); + + // 3. parse result + return response.getHello(); + } catch (Exception e) { + logger.error("sayHello error ", e); + throw new RuntimeClientException(e); + } + } + + @Override + public InvokeResponse invokeMethod(String appId, String methodName, byte[] data, Map header, int timeoutMs) { + try { + // 1. prepare request + final ByteString byteString = ByteString.copyFrom(data); + Any anyData = Any.newBuilder() + .setValue(byteString) + .build(); + RuntimeProto.CommonInvokeRequest commonReq = RuntimeProto.CommonInvokeRequest.newBuilder() + .setMethod(methodName) + .setData(anyData) + .build(); + RuntimeProto.InvokeServiceRequest invokeReq = RuntimeProto.InvokeServiceRequest.newBuilder() + .setId(appId) + .setMessage(commonReq) + .build(); + // metadata + Metadata metadata = new Metadata(); + for (Map.Entry entry : header.entrySet()) { + if (entry.getKey() != null && entry.getValue() != null) { + Metadata.Key key = Metadata.Key.of(entry.getKey(), Metadata.ASCII_STRING_MARSHALLER); + metadata.put(key, entry.getValue()); + } + } + Metadata.Key key = Metadata.Key.of(TIMEOUT_KEY, Metadata.ASCII_STRING_MARSHALLER); + metadata.put(key, Integer.toString(timeoutMs)); + + // 2. invoke + RuntimeProto.InvokeResponse resp = blockingStub.withDeadlineAfter(timeoutMs, TimeUnit.MILLISECONDS) + .withInterceptors(MetadataUtils.newAttachHeadersInterceptor(metadata)) + .invokeService(invokeReq); + + // 3. parse result + InvokeResponse result = new InvokeResponse<>(); + result.setContentType(resp.getContentType()); + byte[] bytes = new byte[]{}; + result.setData(bytes); + if (resp.getData() == null) { + return result; + } + if (resp.getData().getValue() == null) { + return result; + } + if (resp.getData().getValue().toByteArray() == null) { + return result; + } + result.setData(resp.getData().getValue().toByteArray()); + return result; + } catch (Exception e) { + logger.error("invokeMethod error ", e); + throw new RuntimeClientException(e); + } + } + + @Override + public void publishEvent(String pubsubName, String topicName, byte[] data, String contentType, Map metadata) { + try { + // 1. prepare data + if (data == null) { + data = new byte[]{}; + } + final ByteString byteString = ByteString.copyFrom(data); + // Content-type can be overwritten on a per-request basis. + // It allows CloudEvents to be handled differently, for example. + if (contentType == null || contentType.isEmpty()) { + contentType = RuntimeProperties.DEFAULT_PUBSUB_CONTENT_TYPE; + } + + // 2. prepare request + RuntimeProto.PublishEventRequest.Builder envelopeBuilder = RuntimeProto.PublishEventRequest.newBuilder() + .setTopic(topicName) + .setPubsubName(pubsubName) + .setData(byteString) + .setDataContentType(contentType); + // metadata + if (metadata != null) { + envelopeBuilder.putAllMetadata(metadata); + } + RuntimeProto.PublishEventRequest req = envelopeBuilder.build(); + + // 3. invoke + blockingStub.publishEvent(req); + } catch (Exception e) { + logger.error("publishEvent error ", e); + throw new RuntimeClientException(e); + } + } + + /** + * {@inheritDoc} + */ + @Override + public void saveBulkState(SaveStateRequest request) { + try { + final String stateStoreName = request.getStoreName(); + final List> states = request.getStates(); + + // 1. validate + if ((stateStoreName == null) || (stateStoreName.trim().isEmpty())) { + throw new IllegalArgumentException("State store name cannot be null or empty."); + } + + // 2. prepare request + RuntimeProto.SaveStateRequest.Builder builder = RuntimeProto.SaveStateRequest.newBuilder(); + builder.setStoreName(stateStoreName); + for (State state : states) { + RuntimeProto.StateItem stateItem = buildStateRequest(state) + .build(); + builder.addStates(stateItem); + } + RuntimeProto.SaveStateRequest req = builder.build(); + + // 3. invoke + blockingStub.withDeadlineAfter(getTimeoutMs(), TimeUnit.MILLISECONDS) + .saveState(req); + } catch (Exception e) { + logger.error("saveBulkState error ", e); + throw new RuntimeClientException(e); + } + } + + private RuntimeProto.StateItem.Builder buildStateRequest(State state) throws IOException { + RuntimeProto.StateItem.Builder stateBuilder = RuntimeProto.StateItem.newBuilder(); + T value = state.getValue(); + // 1. serialize value + byte[] bytes; + if (value == null || value instanceof byte[]) { + bytes = (byte[]) value; + } else { + bytes = stateSerializer.serialize(value); + } + if (bytes != null) { + stateBuilder.setValue(ByteString.copyFrom(bytes)); + } + + // 2. etag + if (state.getEtag() != null) { + RuntimeProto.Etag etag = RuntimeProto.Etag.newBuilder() + .setValue(state.getEtag()) + .build(); + stateBuilder.setEtag(etag); + } + // 3. metadata + if (state.getMetadata() != null) { + stateBuilder.putAllMetadata(state.getMetadata()); + } + // 4. key + stateBuilder.setKey(state.getKey()); + // 5. StateOptions + RuntimeProto.StateOptions.Builder optionBuilder = null; + if (state.getOptions() != null) { + StateOptions options = state.getOptions(); + optionBuilder = RuntimeProto.StateOptions.newBuilder(); + if (options.getConcurrency() != null) { + RuntimeProto.StateOptions.StateConcurrency concurrency = getGrpcStateConcurrency(options); + optionBuilder.setConcurrency(concurrency); + } + if (options.getConsistency() != null) { + RuntimeProto.StateOptions.StateConsistency consistency = getGrpcStateConsistency(options); + optionBuilder.setConsistency(consistency); + } + } + if (optionBuilder != null) { + RuntimeProto.StateOptions stateOptions = optionBuilder.build(); + stateBuilder.setOptions(stateOptions); + } + + return stateBuilder; + } + + /** + * Delete a state. + * + * @param request Request to delete a state. + */ + @Override + public void deleteState(DeleteStateRequest request) { + try { + final String stateStoreName = request.getStateStoreName(); + final String key = request.getKey(); + final StateOptions options = request.getStateOptions(); + final String etag = request.getEtag(); + final Map metadata = request.getMetadata(); + + // 1. validate + if ((stateStoreName == null) || (stateStoreName.trim().isEmpty())) { + throw new IllegalArgumentException("State store name cannot be null or empty."); + } + if ((key == null) || (key.trim().isEmpty())) { + throw new IllegalArgumentException("Key cannot be null or empty."); + } + + // 2. prepare request + RuntimeProto.StateOptions.Builder optionBuilder = null; + if (options != null) { + optionBuilder = RuntimeProto.StateOptions.newBuilder(); + if (options.getConcurrency() != null) { + RuntimeProto.StateOptions.StateConcurrency concurrency = getGrpcStateConcurrency(options); + optionBuilder.setConcurrency(concurrency); + } + if (options.getConsistency() != null) { + RuntimeProto.StateOptions.StateConsistency consistency = getGrpcStateConsistency(options); + optionBuilder.setConsistency(consistency); + } + } + RuntimeProto.DeleteStateRequest.Builder builder = RuntimeProto.DeleteStateRequest.newBuilder() + .setStoreName(stateStoreName) + .setKey(key); + if (metadata != null) { + builder.putAllMetadata(metadata); + } + if (etag != null) { + RuntimeProto.Etag value = RuntimeProto.Etag.newBuilder() + .setValue(etag) + .build(); + builder.setEtag(value); + } + if (optionBuilder != null) { + RuntimeProto.StateOptions stateOptions = optionBuilder.build(); + builder.setOptions(stateOptions); + } + RuntimeProto.DeleteStateRequest req = builder.build(); + + // 3. invoke + blockingStub.withDeadlineAfter(getTimeoutMs(), TimeUnit.MILLISECONDS) + .deleteState(req); + } catch (Exception e) { + logger.error("deleteState error ", e); + throw new RuntimeClientException(e); + } + } + + private RuntimeProto.StateOptions.StateConcurrency getGrpcStateConcurrency(StateOptions options) { + switch (options.getConcurrency()) { + case FIRST_WRITE: + return RuntimeProto.StateOptions.StateConcurrency.CONCURRENCY_FIRST_WRITE; + case LAST_WRITE: + return RuntimeProto.StateOptions.StateConcurrency.CONCURRENCY_LAST_WRITE; + default: + throw new IllegalArgumentException("Missing StateConcurrency mapping to gRPC Concurrency enum"); + } + } + + private RuntimeProto.StateOptions.StateConsistency getGrpcStateConsistency(StateOptions options) { + switch (options.getConsistency()) { + case EVENTUAL: + return RuntimeProto.StateOptions.StateConsistency.CONSISTENCY_EVENTUAL; + case STRONG: + return RuntimeProto.StateOptions.StateConsistency.CONSISTENCY_STRONG; + default: + throw new IllegalArgumentException("Missing Consistency mapping to gRPC Consistency enum"); + } + } + + /** + * Execute a transaction. + * + * @param request Request to execute transaction. + */ + @Override + public void executeStateTransaction(ExecuteStateTransactionRequest request) { + try { + final String stateStoreName = request.getStateStoreName(); + final List> operations = request.getOperations(); + final Map metadata = request.getMetadata(); + + // 1. validate + if ((stateStoreName == null) || (stateStoreName.trim().isEmpty())) { + throw new IllegalArgumentException("State store name cannot be null or empty."); + } + + // 2. construct request object + RuntimeProto.ExecuteStateTransactionRequest.Builder builder = RuntimeProto.ExecuteStateTransactionRequest.newBuilder(); + builder.setStoreName(stateStoreName); + if (metadata != null) { + builder.putAllMetadata(metadata); + } + for (TransactionalStateOperation operation : operations) { + RuntimeProto.TransactionalStateOperation.Builder operationBuilder = RuntimeProto.TransactionalStateOperation.newBuilder(); + + String operationType = operation.getOperation().toString().toLowerCase(); + operationBuilder.setOperationType(operationType); + + RuntimeProto.StateItem stateItem = buildStateRequest(operation.getRequest()) + .build(); + operationBuilder.setRequest(stateItem); + + builder.addOperations(operationBuilder.build()); + } + RuntimeProto.ExecuteStateTransactionRequest req = builder.build(); + + // 3. invoke grpc api + blockingStub.executeStateTransaction(req); + } catch (Exception e) { + logger.error("executeStateTransaction error ", e); + throw new RuntimeClientException(e); + } + } + + /** + * Retrieve a State based on their key. + * + * @param request The request to get state. + * @param clazz The Class of State needed as return. + * @return The requested State. + */ + @Override + public State getState(GetStateRequest request, Class clazz) { + try { + final String stateStoreName = request.getStoreName(); + final String key = request.getKey(); + final StateOptions options = request.getStateOptions(); + final Map metadata = request.getMetadata(); + + // 1. validate + if ((stateStoreName == null) || (stateStoreName.trim().isEmpty())) { + throw new IllegalArgumentException("State store name cannot be null or empty."); + } + if ((key == null) || (key.trim().isEmpty())) { + throw new IllegalArgumentException("Key cannot be null or empty."); + } + + // 2. construct request object + RuntimeProto.GetStateRequest.Builder builder = RuntimeProto.GetStateRequest.newBuilder() + .setStoreName(stateStoreName) + .setKey(key); + if (metadata != null) { + builder.putAllMetadata(metadata); + } + if (options != null && options.getConsistency() != null) { + RuntimeProto.StateOptions.StateConsistency consistency = getGrpcStateConsistency(options); + builder.setConsistency(consistency); + } + RuntimeProto.GetStateRequest envelope = builder.build(); + + // 3. invoke grpc api + RuntimeProto.GetStateResponse resp = blockingStub.getState(envelope); + + // 4. parse result + return parseGetStateResult(resp, key, options, clazz); + } catch (Exception e) { + logger.error("getState error ", e); + throw new RuntimeClientException(e); + } + } + + @Override + public List> getBulkState(GetBulkStateRequest request, Class clazz) { + try { + final String stateStoreName = request.getStoreName(); + final List keys = request.getKeys(); + final int parallelism = request.getParallelism(); + final Map metadata = request.getMetadata(); + + // 1. validate + if ((stateStoreName == null) || (stateStoreName.trim().isEmpty())) { + throw new IllegalArgumentException("State store name cannot be null or empty."); + } + if (keys == null || keys.isEmpty()) { + throw new IllegalArgumentException("Key cannot be null or empty."); + } + if (parallelism < 0) { + throw new IllegalArgumentException("Parallelism cannot be negative."); + } + + // 2. construct request object + RuntimeProto.GetBulkStateRequest.Builder builder = RuntimeProto.GetBulkStateRequest.newBuilder() + .setStoreName(stateStoreName) + .addAllKeys(keys) + .setParallelism(parallelism); + if (metadata != null) { + builder.putAllMetadata(metadata); + } + RuntimeProto.GetBulkStateRequest envelope = builder.build(); + + // 3. invoke grpc API + RuntimeProto.GetBulkStateResponse resp = blockingStub.getBulkState(envelope); + + // 4. parse result + List itemsList = resp.getItemsList(); + List> result = new ArrayList<>(itemsList.size()); + for (RuntimeProto.BulkStateItem itm : itemsList) { + State tState = parseGetStateResult(itm, clazz); + result.add(tState); + } + return result; + } catch (Exception e) { + logger.error("getBulkState error ", e); + throw new RuntimeClientException(e); + } + } + + private State parseGetStateResult( + RuntimeProto.GetStateResponse getStateResponse, + String requestedKey, + StateOptions stateOptions, + Class clazz) throws IOException { + final ByteString payload = getStateResponse.getData(); + byte[] data = payload == null ? null : payload.toByteArray(); + T value = stateSerializer.deserialize(data, clazz); + String etag = getStateResponse.getEtag(); + if (etag != null && etag.isEmpty()) { + etag = null; + } + return new State<>(requestedKey, value, etag, getStateResponse.getMetadataMap(), stateOptions); + } + + private State parseGetStateResult( + RuntimeProto.BulkStateItem bulkStateItem, + Class clazz) throws IOException { + final String key = bulkStateItem.getKey(); + final String error = bulkStateItem.getError(); + if (!Strings.isNullOrEmpty(error)) { + return new State<>(key, error); + } + + final ByteString payload = bulkStateItem.getData(); + byte[] data = payload == null ? null : payload.toByteArray(); + T value = stateSerializer.deserialize(data, clazz); + String etag = bulkStateItem.getEtag(); + if (etag != null && etag.isEmpty()) { + etag = null; + } + return new State<>(key, value, etag, bulkStateItem.getMetadataMap(), null); + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/RuntimeServer.java b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/RuntimeServer.java new file mode 100644 index 0000000000..362326281b --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/RuntimeServer.java @@ -0,0 +1,104 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.v1; + +import io.grpc.Server; +import io.grpc.ServerBuilder; +import io.mosn.layotto.v1.callback.GrpcAppCallbackImpl; +import io.mosn.layotto.v1.callback.component.pubsub.PubSub; +import io.mosn.layotto.v1.callback.component.pubsub.PubSubClientRegistryImpl; +import io.mosn.layotto.v1.callback.component.pubsub.PubSubRegistry; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicBoolean; + +public class RuntimeServer { + + private static final Logger logger = LoggerFactory.getLogger(RuntimeServer.class.getName()); + + private final int port; + private volatile Server server; + private final AtomicBoolean started = new AtomicBoolean(false); + + public RuntimeServer(int port) { + this.port = port; + } + + private final PubSubRegistry pubSubRegistry = new PubSubClientRegistryImpl(); + + public void start() throws IOException { + // 1 make sure at most once + if (!started.compareAndSet(false, true)) { + return; + } + // 2 start grpc server + try { + /* The port on which the server should run */ + server = ServerBuilder.forPort(port) + .addService(new GrpcAppCallbackImpl(pubSubRegistry)) + .build() + .start(); + } catch (Exception e) { + // revert + server = null; + started.set(false); + throw e; + } + logger.info("Server started, listening on {}", port); + + // 3 addShutdownHook + Runtime.getRuntime().addShutdownHook(new Thread() { + @Override + public void run() { + // Use stderr here since the logger may have been reset by its JVM shutdown hook. + logger.info("*** shutting down gRPC server since JVM is shutting down"); + try { + RuntimeServer.this.stop(); + } catch (Exception e) { + logger.error("*** server shut down error", e); + } + } + }); + } + + public void stop() throws InterruptedException { + Server srv = this.server; + if (srv != null) { + srv.shutdown().awaitTermination(30, TimeUnit.SECONDS); + } + } + + /** + * Await termination on the main thread since the grpc library uses daemon threads. + */ + public void blockUntilShutdown() throws InterruptedException { + Server srv = this.server; + if (srv != null) { + srv.awaitTermination(); + } + } + + public PubSubRegistry getPubSubRegistry() { + return pubSubRegistry; + } + + public void registerPubSubCallback(String pubsubName, PubSub callback) { + pubSubRegistry.registerPubSubCallback(pubsubName, callback); + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/GrpcAppCallbackImpl.java b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/GrpcAppCallbackImpl.java new file mode 100644 index 0000000000..9a465b7abb --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/GrpcAppCallbackImpl.java @@ -0,0 +1,85 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.v1.callback; + +import com.google.protobuf.Empty; +import io.grpc.stub.StreamObserver; +import io.mosn.layotto.v1.callback.component.pubsub.PubSub; +import io.mosn.layotto.v1.callback.component.pubsub.PubSubRegistry; +import io.mosn.layotto.v1.grpc.PubsubConverter; +import spec.proto.runtime.v1.AppCallbackGrpc; +import spec.proto.runtime.v1.AppCallbackProto; +import spec.sdk.runtime.v1.domain.pubsub.TopicEventResponse; +import spec.sdk.runtime.v1.domain.pubsub.TopicSubscription; + +import java.util.Collection; +import java.util.Set; + +public class GrpcAppCallbackImpl extends AppCallbackGrpc.AppCallbackImplBase { + + private final PubSubRegistry pubSubRegistry; + + public GrpcAppCallbackImpl(PubSubRegistry pubSubRegistry) { + this.pubSubRegistry = pubSubRegistry; + } + + /** + * Iterates all pubsub clients registered to pubSubClientRegistry and get all topic subscriptions. + */ + @Override + public void listTopicSubscriptions(Empty request, + StreamObserver responseObserver) { + final AppCallbackProto.ListTopicSubscriptionsResponse.Builder builder + = AppCallbackProto.ListTopicSubscriptionsResponse.newBuilder(); + Collection pubsubs = pubSubRegistry.getAllPubSubCallbacks(); + if (pubsubs == null) { + responseObserver.onNext(builder.build()); + responseObserver.onCompleted(); + return; + } + for (PubSub pubSub : pubsubs) { + final Set topicSubscriptions = pubSub.listTopicSubscriptions(); + if (topicSubscriptions == null || topicSubscriptions.isEmpty()) { + continue; + } + for (TopicSubscription topicSubscription : topicSubscriptions) { + if (topicSubscription == null) { + continue; + } + builder.addSubscriptions(PubsubConverter.TopicSubscription2Grpc(topicSubscription)); + } + } + + responseObserver.onNext(builder.build()); + responseObserver.onCompleted(); + } + + /** + * On message delivery, find pubsub client by pubsub name. + */ + @Override + public void onTopicEvent(AppCallbackProto.TopicEventRequest request, + StreamObserver responseObserver) { + final String pubsubName = request.getPubsubName(); + // dispatch by pub sub name + final PubSub pubsub = pubSubRegistry.getCallbackByPubSubName(pubsubName); + + // invoke callback + final TopicEventResponse response = pubsub.onTopicEvent(PubsubConverter.TopicEventRequest2Domain(request)); + responseObserver.onNext(PubsubConverter.TopicEventResponse2Grpc(response)); + responseObserver.onCompleted(); + } +} diff --git a/sdk/java-sdk/src/main/java/io/mosn/layotto/v1/domain/SayHelloRequest.java b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/component/Component.java similarity index 82% rename from sdk/java-sdk/src/main/java/io/mosn/layotto/v1/domain/SayHelloRequest.java rename to sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/component/Component.java index 0d25bf7287..6238486754 100644 --- a/sdk/java-sdk/src/main/java/io/mosn/layotto/v1/domain/SayHelloRequest.java +++ b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/component/Component.java @@ -11,10 +11,11 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. + * */ -package io.mosn.layotto.v1.domain; +package io.mosn.layotto.v1.callback.component; + +public interface Component { -public class SayHelloRequest { - public String serviceName; - public String name; + String getComponentName(); } diff --git a/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/component/pubsub/PubSub.java b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/component/pubsub/PubSub.java new file mode 100644 index 0000000000..ba58f00011 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/component/pubsub/PubSub.java @@ -0,0 +1,33 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.v1.callback.component.pubsub; + +import io.mosn.layotto.v1.callback.component.Component; +import spec.sdk.runtime.v1.domain.pubsub.TopicEventRequest; +import spec.sdk.runtime.v1.domain.pubsub.TopicEventResponse; +import spec.sdk.runtime.v1.domain.pubsub.TopicSubscription; + +import java.util.Set; + +/** + * Pub/Sub client. + */ +public interface PubSub extends Component { + + Set listTopicSubscriptions(); + + TopicEventResponse onTopicEvent(TopicEventRequest request); +} diff --git a/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/component/pubsub/PubSubClientRegistryImpl.java b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/component/pubsub/PubSubClientRegistryImpl.java new file mode 100644 index 0000000000..c069cb9e13 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/component/pubsub/PubSubClientRegistryImpl.java @@ -0,0 +1,48 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.v1.callback.component.pubsub; + +import java.util.Collection; +import java.util.HashSet; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +public class PubSubClientRegistryImpl implements PubSubRegistry { + + public final Map pubSubClients = new ConcurrentHashMap<>(); + + @Override + public void registerPubSubCallback(String pubsubName, PubSub callback) { + if (pubSubClients.putIfAbsent(pubsubName, callback) != null) { + throw new IllegalArgumentException("Pub/sub callback with name " + pubsubName + " already exists!"); + } + } + + @Override + public PubSub getCallbackByPubSubName(String pubSubName) { + final PubSub pubSub = pubSubClients.get(pubSubName); + if (pubSub != null) { + return pubSub; + } + + throw new IllegalArgumentException("Cannot find pubsub callback by name " + pubSubName); + } + + @Override + public Collection getAllPubSubCallbacks() { + return new HashSet<>(pubSubClients.values()); + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/component/pubsub/PubSubRegistry.java b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/component/pubsub/PubSubRegistry.java new file mode 100644 index 0000000000..5bc654ccdb --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/callback/component/pubsub/PubSubRegistry.java @@ -0,0 +1,27 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.v1.callback.component.pubsub; + +import java.util.Collection; + +public interface PubSubRegistry { + + void registerPubSubCallback(String pubsubName, PubSub callback); + + PubSub getCallbackByPubSubName(String pubSubName); + + Collection getAllPubSubCallbacks(); +} diff --git a/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/config/RuntimeProperties.java b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/config/RuntimeProperties.java new file mode 100644 index 0000000000..677bb879c4 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/config/RuntimeProperties.java @@ -0,0 +1,49 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.v1.config; + +import io.mosn.layotto.v1.domain.ApiProtocol; + +import java.util.function.Supplier; + +public class RuntimeProperties { + + /** + * Layotto Runtimes default use of GRPC. + */ + public static final ApiProtocol DEFAULT_API_PROTOCOL = ApiProtocol.GRPC; + + /** + * Layotto Runtimes default start on "127.0.0.1". + */ + public static final String DEFAULT_IP = "127.0.0.1"; + + /** + * Layotto Runtimes default start on 34904 port. + */ + public static final Integer DEFAULT_PORT = 34904; + + /** + * Layotto Runtimes default timeout in 1000ms for GRPC client reads. + */ + public static final Integer DEFAULT_TIMEOUT_MS = 1000; + + /** + * Layotto Runtimes default pubsub content type. + */ + public static final String DEFAULT_PUBSUB_CONTENT_TYPE = ""; + +} diff --git a/sdk/java-sdk/src/main/java/io/mosn/layotto/v1/domain/SayHelloResponse.java b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/domain/ApiProtocol.java similarity index 82% rename from sdk/java-sdk/src/main/java/io/mosn/layotto/v1/domain/SayHelloResponse.java rename to sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/domain/ApiProtocol.java index f531a5b1bc..17c89f4dff 100644 --- a/sdk/java-sdk/src/main/java/io/mosn/layotto/v1/domain/SayHelloResponse.java +++ b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/domain/ApiProtocol.java @@ -11,13 +11,16 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. + * */ package io.mosn.layotto.v1.domain; -public class SayHelloResponse { - public String hello; +/** + * Transport protocol for Runtime API. + */ +public enum ApiProtocol { - public SayHelloResponse(String hello) { - this.hello = hello; - } -} \ No newline at end of file + GRPC, + // currently not supported + // HTTP +} diff --git a/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/exceptions/RuntimeClientException.java b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/exceptions/RuntimeClientException.java new file mode 100644 index 0000000000..076b511b38 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/exceptions/RuntimeClientException.java @@ -0,0 +1,96 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.v1.exceptions; + +/** + * A Runtime's specific exception. + */ +public class RuntimeClientException extends RuntimeException { + + /** + * Runtime's error code for this exception. + */ + private final String errorCode; + + /** + * New exception from a server-side generated error code and message. + * + * @param runtimeError Server-side error. + */ + public RuntimeClientException(RuntimeError runtimeError) { + this(runtimeError.getErrorCode(), runtimeError.getMessage()); + } + + /** + * New exception from a server-side generated error code and message. + * + * @param runtimeError Client-side error. + * @param cause the cause (which is saved for later retrieval by the {@link #getCause()} method). (A {@code null} value is + * permitted, and indicates that the cause is nonexistent or unknown.) + */ + public RuntimeClientException(RuntimeError runtimeError, Throwable cause) { + this(runtimeError.getErrorCode(), runtimeError.getMessage(), cause); + } + + /** + * Wraps an exception into a RuntimeException. + * + * @param exception the exception to be wrapped. + */ + public RuntimeClientException(Throwable exception) { + this("UNKNOWN", exception.getMessage(), exception); + } + + /** + * New Exception from a client-side generated error code and message. + * + * @param errorCode Client-side error code. + * @param message Client-side error message. + */ + public RuntimeClientException(String errorCode, String message) { + super(String.format("%s: %s", errorCode, message)); + this.errorCode = errorCode; + } + + /** + * New exception from a server-side generated error code and message. + * + * @param errorCode Client-side error code. + * @param message Client-side error message. + * @param cause the cause (which is saved for later retrieval by the {@link #getCause()} method). (A {@code null} value is + * permitted, and indicates that the cause is nonexistent or unknown.) + */ + public RuntimeClientException(String errorCode, String message, Throwable cause) { + super(String.format("%s: %s", errorCode, emptyIfNull(message)), cause); + this.errorCode = errorCode; + } + + /** + * Returns the exception's error code. + * + * @return Error code. + */ + public String getErrorCode() { + return this.errorCode; + } + + private static String emptyIfNull(String str) { + if (str == null) { + return ""; + } + return str; + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/exceptions/RuntimeError.java b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/exceptions/RuntimeError.java new file mode 100644 index 0000000000..19f53108d9 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/exceptions/RuntimeError.java @@ -0,0 +1,48 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.v1.exceptions; + +public enum RuntimeError { + ; + + /** + * Error code. + */ + private String errorCode; + + /** + * Error Message. + */ + private String message; + + /** + * Getter method for property errorCode. + * + * @return property value of errorCode + */ + public String getErrorCode() { + return errorCode; + } + + /** + * Getter method for property message. + * + * @return property value of message + */ + public String getMessage() { + return message; + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/grpc/PubsubConverter.java b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/grpc/PubsubConverter.java new file mode 100644 index 0000000000..718589d98c --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/grpc/PubsubConverter.java @@ -0,0 +1,112 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.v1.grpc; + +import com.google.protobuf.ByteString; +import spec.proto.runtime.v1.AppCallbackProto; +import spec.proto.runtime.v1.RuntimeProto; +import spec.sdk.runtime.v1.domain.pubsub.PublishEventRequest; +import spec.sdk.runtime.v1.domain.pubsub.TopicEventRequest; +import spec.sdk.runtime.v1.domain.pubsub.TopicEventResponse; +import spec.sdk.runtime.v1.domain.pubsub.TopicSubscription; + +/** + * pubsub related converter + */ +public class PubsubConverter { + + public static RuntimeProto.PublishEventRequest PublishEventRequest2Grpc(PublishEventRequest req) { + if (req == null) { + return null; + } + RuntimeProto.PublishEventRequest.Builder builder = RuntimeProto.PublishEventRequest.newBuilder() + .setPubsubName(req.getPubsubName()) + .setTopic(req.getTopic()) + .setData(ByteString.copyFrom(req.getData())) + .setDataContentType(req.getContentType()); + if (req.getMetadata() != null) { + builder.putAllMetadata(req.getMetadata()); + } + return builder.build(); + } + + public static AppCallbackProto.TopicSubscription TopicSubscription2Grpc(TopicSubscription sub) { + if (sub == null) { + return null; + } + AppCallbackProto.TopicSubscription.Builder builder = AppCallbackProto.TopicSubscription.newBuilder() + .setPubsubName(sub.getPubsubName()) + .setTopic(sub.getTopic()); + if (sub.getMetadata() != null) { + builder.putAllMetadata(sub.getMetadata()); + } + return builder.build(); + } + + public static AppCallbackProto.TopicEventResponse TopicEventResponse2Grpc(TopicEventResponse resp) { + if (resp == null) { + return null; + } + int idx = 0; + if (resp.getStatus() != null) { + idx = resp.getStatus().getIdx(); + } + AppCallbackProto.TopicEventResponse result = AppCallbackProto.TopicEventResponse.newBuilder() + .setStatusValue(idx) + .build(); + return result; + } + + public static AppCallbackProto.TopicEventRequest TopicEventRequest2Grpc(TopicEventRequest req) { + if (req == null) { + return null; + } + AppCallbackProto.TopicEventRequest.Builder builder = AppCallbackProto.TopicEventRequest.newBuilder() + .setId(req.getId()) + .setSource(req.getSource()) + .setType(req.getType()) + .setSpecVersion(req.getSpecVersion()) + .setDataContentType(req.getContentType()) + .setTopic(req.getTopic()) + .setPubsubName(req.getPubsubName()); + //.putAllMetadata(req.getMetadata()) + byte[] bytes = req.getData(); + if (bytes == null) { + bytes = new byte[]{}; + } + builder.setData(ByteString.copyFrom(bytes)); + return builder.build(); + } + + public static TopicEventRequest TopicEventRequest2Domain(AppCallbackProto.TopicEventRequest req) { + TopicEventRequest result = new TopicEventRequest(); + result.setId(req.getId()); + result.setSource(req.getSource()); + result.setType(req.getType()); + result.setSpecVersion(req.getSpecVersion()); + result.setContentType(req.getDataContentType()); + ByteString byteString = req.getData(); + if (byteString == null) { + result.setData(new byte[]{}); + } else { + result.setData(byteString.toByteArray()); + } + result.setTopic(req.getTopic()); + result.setPubsubName(req.getPubsubName()); + //result.setMetadata(req.getMetadataMap()); + return result; + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/serializer/JSONSerializer.java b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/serializer/JSONSerializer.java new file mode 100644 index 0000000000..5f2c726380 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/serializer/JSONSerializer.java @@ -0,0 +1,53 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.v1.serializer; + +import com.alibaba.fastjson.JSONObject; + +import java.io.IOException; + +public class JSONSerializer implements ObjectSerializer { + + /** + * {@inheritDoc} + */ + @Override + public byte[] serialize(Object o) throws IOException { + if (o == null) { + return null; + } + return JSONObject.toJSONBytes(o); + } + + /** + * {@inheritDoc} + */ + @Override + public T deserialize(byte[] data, Class clazz) throws IOException { + if (data == null) { + return null; + } + return JSONObject.parseObject(data, clazz); + } + + /** + * {@inheritDoc} + */ + @Override + public String getContentType() { + return "application/json"; + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/serializer/ObjectSerializer.java b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/serializer/ObjectSerializer.java new file mode 100644 index 0000000000..b1c1589a67 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/io/mosn/layotto/v1/serializer/ObjectSerializer.java @@ -0,0 +1,51 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package io.mosn.layotto.v1.serializer; + +import java.io.IOException; + +/** + * Serializes and deserializes application's objects. + */ +public interface ObjectSerializer { + + /** + * Serializes the given object as byte[]. + * + * @param o Object to be serialized. + * @return Serialized object. + * @throws IOException If cannot serialize. + */ + byte[] serialize(Object o) throws IOException; + + /** + * Deserializes the given byte[] into a object. + * + * @param data Data to be deserialized. + * @param clazz Class of object to be deserialized. + * @param Type of object to be deserialized. + * @return Deserialized object. + * @throws IOException If cannot deserialize object. + */ + T deserialize(byte[] data, Class clazz) throws IOException; + + /** + * Returns the content type of the request. + * + * @return content type of the request + */ + String getContentType(); +} diff --git a/sdk/java-sdk/src/main/java/spec/proto/runtime/v1/AppCallbackGrpc.java b/sdk/java-sdk/sdk/src/main/java/spec/proto/runtime/v1/AppCallbackGrpc.java similarity index 99% rename from sdk/java-sdk/src/main/java/spec/proto/runtime/v1/AppCallbackGrpc.java rename to sdk/java-sdk/sdk/src/main/java/spec/proto/runtime/v1/AppCallbackGrpc.java index d93831b972..3765440c1a 100644 --- a/sdk/java-sdk/src/main/java/spec/proto/runtime/v1/AppCallbackGrpc.java +++ b/sdk/java-sdk/sdk/src/main/java/spec/proto/runtime/v1/AppCallbackGrpc.java @@ -10,8 +10,8 @@ * */ @javax.annotation.Generated( - value = "by gRPC proto compiler (version 1.39.0)", - comments = "Source: appcallback.proto") + value = "by gRPC proto compiler (version 1.37.0)", + comments = "Source: proto/runtime/v1/appcallback.proto") public final class AppCallbackGrpc { private AppCallbackGrpc() {} diff --git a/sdk/java-sdk/src/main/java/spec/proto/runtime/v1/AppCallbackProto.java b/sdk/java-sdk/sdk/src/main/java/spec/proto/runtime/v1/AppCallbackProto.java similarity index 98% rename from sdk/java-sdk/src/main/java/spec/proto/runtime/v1/AppCallbackProto.java rename to sdk/java-sdk/sdk/src/main/java/spec/proto/runtime/v1/AppCallbackProto.java index eafa66f425..ba82b8e84e 100644 --- a/sdk/java-sdk/src/main/java/spec/proto/runtime/v1/AppCallbackProto.java +++ b/sdk/java-sdk/sdk/src/main/java/spec/proto/runtime/v1/AppCallbackProto.java @@ -1,5 +1,5 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! -// source: appcallback.proto +// source: proto/runtime/v1/appcallback.proto package spec.proto.runtime.v1; @@ -4735,29 +4735,30 @@ public spec.proto.runtime.v1.AppCallbackProto.TopicSubscription getDefaultInstan descriptor; static { java.lang.String[] descriptorData = { - "\n\021appcallback.proto\022\025spec.proto.runtime." + - "v1\032\033google/protobuf/empty.proto\"\240\001\n\021Topi" + - "cEventRequest\022\n\n\002id\030\001 \001(\t\022\016\n\006source\030\002 \001(" + - "\t\022\014\n\004type\030\003 \001(\t\022\024\n\014spec_version\030\004 \001(\t\022\031\n" + - "\021data_content_type\030\005 \001(\t\022\014\n\004data\030\007 \001(\014\022\r" + - "\n\005topic\030\006 \001(\t\022\023\n\013pubsub_name\030\010 \001(\t\"\246\001\n\022T" + - "opicEventResponse\022R\n\006status\030\001 \001(\0162B.spec" + - ".proto.runtime.v1.TopicEventResponse.Top" + - "icEventResponseStatus\"<\n\030TopicEventRespo" + - "nseStatus\022\013\n\007SUCCESS\020\000\022\t\n\005RETRY\020\001\022\010\n\004DRO" + - "P\020\002\"a\n\036ListTopicSubscriptionsResponse\022?\n" + - "\rsubscriptions\030\001 \003(\0132(.spec.proto.runtim" + - "e.v1.TopicSubscription\"\262\001\n\021TopicSubscrip" + - "tion\022\023\n\013pubsub_name\030\001 \001(\t\022\r\n\005topic\030\002 \001(\t" + - "\022H\n\010metadata\030\003 \003(\01326.spec.proto.runtime." + - "v1.TopicSubscription.MetadataEntry\032/\n\rMe" + - "tadataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:" + - "\0028\0012\337\001\n\013AppCallback\022i\n\026ListTopicSubscrip" + - "tions\022\026.google.protobuf.Empty\0325.spec.pro" + - "to.runtime.v1.ListTopicSubscriptionsResp" + - "onse\"\000\022e\n\014OnTopicEvent\022(.spec.proto.runt" + - "ime.v1.TopicEventRequest\032).spec.proto.ru" + - "ntime.v1.TopicEventResponse\"\000BAB\020AppCall" + + "\n\"proto/runtime/v1/appcallback.proto\022\025sp" + + "ec.proto.runtime.v1\032\033google/protobuf/emp" + + "ty.proto\"\240\001\n\021TopicEventRequest\022\n\n\002id\030\001 \001" + + "(\t\022\016\n\006source\030\002 \001(\t\022\014\n\004type\030\003 \001(\t\022\024\n\014spec" + + "_version\030\004 \001(\t\022\031\n\021data_content_type\030\005 \001(" + + "\t\022\014\n\004data\030\007 \001(\014\022\r\n\005topic\030\006 \001(\t\022\023\n\013pubsub" + + "_name\030\010 \001(\t\"\246\001\n\022TopicEventResponse\022R\n\006st" + + "atus\030\001 \001(\0162B.spec.proto.runtime.v1.Topic" + + "EventResponse.TopicEventResponseStatus\"<" + + "\n\030TopicEventResponseStatus\022\013\n\007SUCCESS\020\000\022" + + "\t\n\005RETRY\020\001\022\010\n\004DROP\020\002\"a\n\036ListTopicSubscri" + + "ptionsResponse\022?\n\rsubscriptions\030\001 \003(\0132(." + + "spec.proto.runtime.v1.TopicSubscription\"" + + "\262\001\n\021TopicSubscription\022\023\n\013pubsub_name\030\001 \001" + + "(\t\022\r\n\005topic\030\002 \001(\t\022H\n\010metadata\030\003 \003(\01326.sp" + + "ec.proto.runtime.v1.TopicSubscription.Me" + + "tadataEntry\032/\n\rMetadataEntry\022\013\n\003key\030\001 \001(" + + "\t\022\r\n\005value\030\002 \001(\t:\0028\0012\337\001\n\013AppCallback\022i\n\026" + + "ListTopicSubscriptions\022\026.google.protobuf" + + ".Empty\0325.spec.proto.runtime.v1.ListTopic" + + "SubscriptionsResponse\"\000\022e\n\014OnTopicEvent\022" + + "(.spec.proto.runtime.v1.TopicEventReques" + + "t\032).spec.proto.runtime.v1.TopicEventResp" + + "onse\"\000BX\n\025spec.proto.runtime.v1B\020AppCall" + "backProtoZ-mosn.io/layotto/spec/proto/ru" + "ntime/v1;runtimeb\006proto3" }; diff --git a/sdk/java-sdk/src/main/java/spec/proto/runtime/v1/RuntimeGrpc.java b/sdk/java-sdk/sdk/src/main/java/spec/proto/runtime/v1/RuntimeGrpc.java similarity index 79% rename from sdk/java-sdk/src/main/java/spec/proto/runtime/v1/RuntimeGrpc.java rename to sdk/java-sdk/sdk/src/main/java/spec/proto/runtime/v1/RuntimeGrpc.java index 5bd7ea94c9..394a4df536 100644 --- a/sdk/java-sdk/src/main/java/spec/proto/runtime/v1/RuntimeGrpc.java +++ b/sdk/java-sdk/sdk/src/main/java/spec/proto/runtime/v1/RuntimeGrpc.java @@ -5,8 +5,8 @@ /** */ @javax.annotation.Generated( - value = "by gRPC proto compiler (version 1.39.0)", - comments = "Source: runtime.proto") + value = "by gRPC proto compiler (version 1.37.0)", + comments = "Source: proto/runtime/v1/runtime.proto") public final class RuntimeGrpc { private RuntimeGrpc() {} @@ -510,6 +510,161 @@ com.google.protobuf.Empty> getPublishEventMethod() { return getPublishEventMethod; } + private static volatile io.grpc.MethodDescriptor getGetFileMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetFile", + requestType = spec.proto.runtime.v1.RuntimeProto.GetFileRequest.class, + responseType = spec.proto.runtime.v1.RuntimeProto.GetFileResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.SERVER_STREAMING) + public static io.grpc.MethodDescriptor getGetFileMethod() { + io.grpc.MethodDescriptor getGetFileMethod; + if ((getGetFileMethod = RuntimeGrpc.getGetFileMethod) == null) { + synchronized (RuntimeGrpc.class) { + if ((getGetFileMethod = RuntimeGrpc.getGetFileMethod) == null) { + RuntimeGrpc.getGetFileMethod = getGetFileMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.SERVER_STREAMING) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetFile")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + spec.proto.runtime.v1.RuntimeProto.GetFileRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + spec.proto.runtime.v1.RuntimeProto.GetFileResponse.getDefaultInstance())) + .setSchemaDescriptor(new RuntimeMethodDescriptorSupplier("GetFile")) + .build(); + } + } + } + return getGetFileMethod; + } + + private static volatile io.grpc.MethodDescriptor getPutFileMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "PutFile", + requestType = spec.proto.runtime.v1.RuntimeProto.PutFileRequest.class, + responseType = com.google.protobuf.Empty.class, + methodType = io.grpc.MethodDescriptor.MethodType.CLIENT_STREAMING) + public static io.grpc.MethodDescriptor getPutFileMethod() { + io.grpc.MethodDescriptor getPutFileMethod; + if ((getPutFileMethod = RuntimeGrpc.getPutFileMethod) == null) { + synchronized (RuntimeGrpc.class) { + if ((getPutFileMethod = RuntimeGrpc.getPutFileMethod) == null) { + RuntimeGrpc.getPutFileMethod = getPutFileMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.CLIENT_STREAMING) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "PutFile")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + spec.proto.runtime.v1.RuntimeProto.PutFileRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + com.google.protobuf.Empty.getDefaultInstance())) + .setSchemaDescriptor(new RuntimeMethodDescriptorSupplier("PutFile")) + .build(); + } + } + } + return getPutFileMethod; + } + + private static volatile io.grpc.MethodDescriptor getListFileMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ListFile", + requestType = spec.proto.runtime.v1.RuntimeProto.ListFileRequest.class, + responseType = spec.proto.runtime.v1.RuntimeProto.ListFileResp.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getListFileMethod() { + io.grpc.MethodDescriptor getListFileMethod; + if ((getListFileMethod = RuntimeGrpc.getListFileMethod) == null) { + synchronized (RuntimeGrpc.class) { + if ((getListFileMethod = RuntimeGrpc.getListFileMethod) == null) { + RuntimeGrpc.getListFileMethod = getListFileMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "ListFile")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + spec.proto.runtime.v1.RuntimeProto.ListFileRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + spec.proto.runtime.v1.RuntimeProto.ListFileResp.getDefaultInstance())) + .setSchemaDescriptor(new RuntimeMethodDescriptorSupplier("ListFile")) + .build(); + } + } + } + return getListFileMethod; + } + + private static volatile io.grpc.MethodDescriptor getDelFileMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "DelFile", + requestType = spec.proto.runtime.v1.RuntimeProto.DelFileRequest.class, + responseType = com.google.protobuf.Empty.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getDelFileMethod() { + io.grpc.MethodDescriptor getDelFileMethod; + if ((getDelFileMethod = RuntimeGrpc.getDelFileMethod) == null) { + synchronized (RuntimeGrpc.class) { + if ((getDelFileMethod = RuntimeGrpc.getDelFileMethod) == null) { + RuntimeGrpc.getDelFileMethod = getDelFileMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "DelFile")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + spec.proto.runtime.v1.RuntimeProto.DelFileRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + com.google.protobuf.Empty.getDefaultInstance())) + .setSchemaDescriptor(new RuntimeMethodDescriptorSupplier("DelFile")) + .build(); + } + } + } + return getDelFileMethod; + } + + private static volatile io.grpc.MethodDescriptor getInvokeBindingMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "InvokeBinding", + requestType = spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest.class, + responseType = spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getInvokeBindingMethod() { + io.grpc.MethodDescriptor getInvokeBindingMethod; + if ((getInvokeBindingMethod = RuntimeGrpc.getInvokeBindingMethod) == null) { + synchronized (RuntimeGrpc.class) { + if ((getInvokeBindingMethod = RuntimeGrpc.getInvokeBindingMethod) == null) { + RuntimeGrpc.getInvokeBindingMethod = getInvokeBindingMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "InvokeBinding")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse.getDefaultInstance())) + .setSchemaDescriptor(new RuntimeMethodDescriptorSupplier("InvokeBinding")) + .build(); + } + } + } + return getInvokeBindingMethod; + } + /** * Creates a new async stub that supports all call types for the service */ @@ -709,7 +864,7 @@ public void executeStateTransaction(spec.proto.runtime.v1.RuntimeProto.ExecuteSt /** *

-     * Publishes events to the specific topic.
+     * Publishes events to the specific topic
      * 
*/ public void publishEvent(spec.proto.runtime.v1.RuntimeProto.PublishEventRequest request, @@ -717,6 +872,56 @@ public void publishEvent(spec.proto.runtime.v1.RuntimeProto.PublishEventRequest io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getPublishEventMethod(), responseObserver); } + /** + *
+     * Get file with stream
+     * 
+ */ + public void getFile(spec.proto.runtime.v1.RuntimeProto.GetFileRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetFileMethod(), responseObserver); + } + + /** + *
+     * Put file with stream
+     * 
+ */ + public io.grpc.stub.StreamObserver putFile( + io.grpc.stub.StreamObserver responseObserver) { + return io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall(getPutFileMethod(), responseObserver); + } + + /** + *
+     * List all files
+     * 
+ */ + public void listFile(spec.proto.runtime.v1.RuntimeProto.ListFileRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListFileMethod(), responseObserver); + } + + /** + *
+     * Delete specific file
+     * 
+ */ + public void delFile(spec.proto.runtime.v1.RuntimeProto.DelFileRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getDelFileMethod(), responseObserver); + } + + /** + *
+     * Invokes binding data to specific output bindings
+     * 
+ */ + public void invokeBinding(spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getInvokeBindingMethod(), responseObserver); + } + @java.lang.Override public final io.grpc.ServerServiceDefinition bindService() { return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()) .addMethod( @@ -831,6 +1036,41 @@ public void publishEvent(spec.proto.runtime.v1.RuntimeProto.PublishEventRequest spec.proto.runtime.v1.RuntimeProto.PublishEventRequest, com.google.protobuf.Empty>( this, METHODID_PUBLISH_EVENT))) + .addMethod( + getGetFileMethod(), + io.grpc.stub.ServerCalls.asyncServerStreamingCall( + new MethodHandlers< + spec.proto.runtime.v1.RuntimeProto.GetFileRequest, + spec.proto.runtime.v1.RuntimeProto.GetFileResponse>( + this, METHODID_GET_FILE))) + .addMethod( + getPutFileMethod(), + io.grpc.stub.ServerCalls.asyncClientStreamingCall( + new MethodHandlers< + spec.proto.runtime.v1.RuntimeProto.PutFileRequest, + com.google.protobuf.Empty>( + this, METHODID_PUT_FILE))) + .addMethod( + getListFileMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + spec.proto.runtime.v1.RuntimeProto.ListFileRequest, + spec.proto.runtime.v1.RuntimeProto.ListFileResp>( + this, METHODID_LIST_FILE))) + .addMethod( + getDelFileMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + spec.proto.runtime.v1.RuntimeProto.DelFileRequest, + com.google.protobuf.Empty>( + this, METHODID_DEL_FILE))) + .addMethod( + getInvokeBindingMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest, + spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse>( + this, METHODID_INVOKE_BINDING))) .build(); } } @@ -1015,7 +1255,7 @@ public void executeStateTransaction(spec.proto.runtime.v1.RuntimeProto.ExecuteSt /** *
-     * Publishes events to the specific topic.
+     * Publishes events to the specific topic
      * 
*/ public void publishEvent(spec.proto.runtime.v1.RuntimeProto.PublishEventRequest request, @@ -1023,6 +1263,61 @@ public void publishEvent(spec.proto.runtime.v1.RuntimeProto.PublishEventRequest io.grpc.stub.ClientCalls.asyncUnaryCall( getChannel().newCall(getPublishEventMethod(), getCallOptions()), request, responseObserver); } + + /** + *
+     * Get file with stream
+     * 
+ */ + public void getFile(spec.proto.runtime.v1.RuntimeProto.GetFileRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncServerStreamingCall( + getChannel().newCall(getGetFileMethod(), getCallOptions()), request, responseObserver); + } + + /** + *
+     * Put file with stream
+     * 
+ */ + public io.grpc.stub.StreamObserver putFile( + io.grpc.stub.StreamObserver responseObserver) { + return io.grpc.stub.ClientCalls.asyncClientStreamingCall( + getChannel().newCall(getPutFileMethod(), getCallOptions()), responseObserver); + } + + /** + *
+     * List all files
+     * 
+ */ + public void listFile(spec.proto.runtime.v1.RuntimeProto.ListFileRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getListFileMethod(), getCallOptions()), request, responseObserver); + } + + /** + *
+     * Delete specific file
+     * 
+ */ + public void delFile(spec.proto.runtime.v1.RuntimeProto.DelFileRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getDelFileMethod(), getCallOptions()), request, responseObserver); + } + + /** + *
+     * Invokes binding data to specific output bindings
+     * 
+ */ + public void invokeBinding(spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getInvokeBindingMethod(), getCallOptions()), request, responseObserver); + } } /** @@ -1180,13 +1475,54 @@ public com.google.protobuf.Empty executeStateTransaction(spec.proto.runtime.v1.R /** *
-     * Publishes events to the specific topic.
+     * Publishes events to the specific topic
      * 
*/ public com.google.protobuf.Empty publishEvent(spec.proto.runtime.v1.RuntimeProto.PublishEventRequest request) { return io.grpc.stub.ClientCalls.blockingUnaryCall( getChannel(), getPublishEventMethod(), getCallOptions(), request); } + + /** + *
+     * Get file with stream
+     * 
+ */ + public java.util.Iterator getFile( + spec.proto.runtime.v1.RuntimeProto.GetFileRequest request) { + return io.grpc.stub.ClientCalls.blockingServerStreamingCall( + getChannel(), getGetFileMethod(), getCallOptions(), request); + } + + /** + *
+     * List all files
+     * 
+ */ + public spec.proto.runtime.v1.RuntimeProto.ListFileResp listFile(spec.proto.runtime.v1.RuntimeProto.ListFileRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getListFileMethod(), getCallOptions(), request); + } + + /** + *
+     * Delete specific file
+     * 
+ */ + public com.google.protobuf.Empty delFile(spec.proto.runtime.v1.RuntimeProto.DelFileRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getDelFileMethod(), getCallOptions(), request); + } + + /** + *
+     * Invokes binding data to specific output bindings
+     * 
+ */ + public spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse invokeBinding(spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getInvokeBindingMethod(), getCallOptions(), request); + } } /** @@ -1358,7 +1694,7 @@ public com.google.common.util.concurrent.ListenableFuture - * Publishes events to the specific topic. + * Publishes events to the specific topic * */ public com.google.common.util.concurrent.ListenableFuture publishEvent( @@ -1366,6 +1702,39 @@ public com.google.common.util.concurrent.ListenableFuture + * List all files + * + */ + public com.google.common.util.concurrent.ListenableFuture listFile( + spec.proto.runtime.v1.RuntimeProto.ListFileRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getListFileMethod(), getCallOptions()), request); + } + + /** + *
+     * Delete specific file
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture delFile( + spec.proto.runtime.v1.RuntimeProto.DelFileRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getDelFileMethod(), getCallOptions()), request); + } + + /** + *
+     * Invokes binding data to specific output bindings
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture invokeBinding( + spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getInvokeBindingMethod(), getCallOptions()), request); + } } private static final int METHODID_SAY_HELLO = 0; @@ -1383,7 +1752,12 @@ public com.google.common.util.concurrent.ListenableFuture implements io.grpc.stub.ServerCalls.UnaryMethod, @@ -1462,6 +1836,22 @@ public void invoke(Req request, io.grpc.stub.StreamObserver responseObserv serviceImpl.publishEvent((spec.proto.runtime.v1.RuntimeProto.PublishEventRequest) request, (io.grpc.stub.StreamObserver) responseObserver); break; + case METHODID_GET_FILE: + serviceImpl.getFile((spec.proto.runtime.v1.RuntimeProto.GetFileRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_LIST_FILE: + serviceImpl.listFile((spec.proto.runtime.v1.RuntimeProto.ListFileRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_DEL_FILE: + serviceImpl.delFile((spec.proto.runtime.v1.RuntimeProto.DelFileRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_INVOKE_BINDING: + serviceImpl.invokeBinding((spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; default: throw new AssertionError(); } @@ -1475,6 +1865,9 @@ public io.grpc.stub.StreamObserver invoke( case METHODID_SUBSCRIBE_CONFIGURATION: return (io.grpc.stub.StreamObserver) serviceImpl.subscribeConfiguration( (io.grpc.stub.StreamObserver) responseObserver); + case METHODID_PUT_FILE: + return (io.grpc.stub.StreamObserver) serviceImpl.putFile( + (io.grpc.stub.StreamObserver) responseObserver); default: throw new AssertionError(); } @@ -1542,6 +1935,11 @@ public static io.grpc.ServiceDescriptor getServiceDescriptor() { .addMethod(getDeleteBulkStateMethod()) .addMethod(getExecuteStateTransactionMethod()) .addMethod(getPublishEventMethod()) + .addMethod(getGetFileMethod()) + .addMethod(getPutFileMethod()) + .addMethod(getListFileMethod()) + .addMethod(getDelFileMethod()) + .addMethod(getInvokeBindingMethod()) .build(); } } diff --git a/sdk/java-sdk/src/main/java/spec/proto/runtime/v1/RuntimeProto.java b/sdk/java-sdk/sdk/src/main/java/spec/proto/runtime/v1/RuntimeProto.java similarity index 80% rename from sdk/java-sdk/src/main/java/spec/proto/runtime/v1/RuntimeProto.java rename to sdk/java-sdk/sdk/src/main/java/spec/proto/runtime/v1/RuntimeProto.java index 83abe0666e..1f6c2143f9 100644 --- a/sdk/java-sdk/src/main/java/spec/proto/runtime/v1/RuntimeProto.java +++ b/sdk/java-sdk/sdk/src/main/java/spec/proto/runtime/v1/RuntimeProto.java @@ -1,5 +1,5 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! -// source: runtime.proto +// source: proto/runtime/v1/runtime.proto package spec.proto.runtime.v1; @@ -14,13 +14,12 @@ public static void registerAllExtensions( registerAllExtensions( (com.google.protobuf.ExtensionRegistryLite) registry); } - public interface GetNextIdRequestOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.GetNextIdRequest) + public interface GetFileRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.GetFileRequest) com.google.protobuf.MessageOrBuilder { /** *
-     * Required. Name of sequencer storage
      * 
* * string store_name = 1; @@ -29,7 +28,6 @@ public interface GetNextIdRequestOrBuilder extends java.lang.String getStoreName(); /** *
-     * Required. Name of sequencer storage
      * 
* * string store_name = 1; @@ -40,65 +38,38 @@ public interface GetNextIdRequestOrBuilder extends /** *
-     * Required. key is the identifier of a sequencer namespace,e.g. "order_table".
+     * The name of the file or object want to get.
      * 
* - * string key = 2; - * @return The key. + * string name = 2; + * @return The name. */ - java.lang.String getKey(); + java.lang.String getName(); /** *
-     * Required. key is the identifier of a sequencer namespace,e.g. "order_table".
+     * The name of the file or object want to get.
      * 
* - * string key = 2; - * @return The bytes for key. + * string name = 2; + * @return The bytes for name. */ com.google.protobuf.ByteString - getKeyBytes(); - - /** - *
-     * (optional) SequencerOptions configures requirements for auto-increment guarantee
-     * 
- * - * .spec.proto.runtime.v1.SequencerOptions options = 3; - * @return Whether the options field is set. - */ - boolean hasOptions(); - /** - *
-     * (optional) SequencerOptions configures requirements for auto-increment guarantee
-     * 
- * - * .spec.proto.runtime.v1.SequencerOptions options = 3; - * @return The options. - */ - spec.proto.runtime.v1.RuntimeProto.SequencerOptions getOptions(); - /** - *
-     * (optional) SequencerOptions configures requirements for auto-increment guarantee
-     * 
- * - * .spec.proto.runtime.v1.SequencerOptions options = 3; - */ - spec.proto.runtime.v1.RuntimeProto.SequencerOptionsOrBuilder getOptionsOrBuilder(); + getNameBytes(); /** *
-     * (optional) The metadata which will be sent to the component.
+     * The metadata for user extension.
      * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 3; */ int getMetadataCount(); /** *
-     * (optional) The metadata which will be sent to the component.
+     * The metadata for user extension.
      * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 3; */ boolean containsMetadata( java.lang.String key); @@ -110,19 +81,19 @@ boolean containsMetadata( getMetadata(); /** *
-     * (optional) The metadata which will be sent to the component.
+     * The metadata for user extension.
      * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 3; */ java.util.Map getMetadataMap(); /** *
-     * (optional) The metadata which will be sent to the component.
+     * The metadata for user extension.
      * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 3; */ java.lang.String getMetadataOrDefault( @@ -130,37 +101,37 @@ java.lang.String getMetadataOrDefault( java.lang.String defaultValue); /** *
-     * (optional) The metadata which will be sent to the component.
+     * The metadata for user extension.
      * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 3; */ java.lang.String getMetadataOrThrow( java.lang.String key); } /** - * Protobuf type {@code spec.proto.runtime.v1.GetNextIdRequest} + * Protobuf type {@code spec.proto.runtime.v1.GetFileRequest} */ - public static final class GetNextIdRequest extends + public static final class GetFileRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.GetNextIdRequest) - GetNextIdRequestOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.GetFileRequest) + GetFileRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use GetNextIdRequest.newBuilder() to construct. - private GetNextIdRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use GetFileRequest.newBuilder() to construct. + private GetFileRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private GetNextIdRequest() { + private GetFileRequest() { storeName_ = ""; - key_ = ""; + name_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new GetNextIdRequest(); + return new GetFileRequest(); } @java.lang.Override @@ -168,7 +139,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private GetNextIdRequest( + private GetFileRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -196,23 +167,10 @@ private GetNextIdRequest( case 18: { java.lang.String s = input.readStringRequireUtf8(); - key_ = s; + name_ = s; break; } case 26: { - spec.proto.runtime.v1.RuntimeProto.SequencerOptions.Builder subBuilder = null; - if (options_ != null) { - subBuilder = options_.toBuilder(); - } - options_ = input.readMessage(spec.proto.runtime.v1.RuntimeProto.SequencerOptions.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(options_); - options_ = subBuilder.buildPartial(); - } - - break; - } - case 34: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { metadata_ = com.google.protobuf.MapField.newMapField( MetadataDefaultEntryHolder.defaultEntry); @@ -246,7 +204,7 @@ private GetNextIdRequest( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetFileRequest_descriptor; } @SuppressWarnings({"rawtypes"}) @@ -254,7 +212,7 @@ private GetNextIdRequest( protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { - case 4: + case 3: return internalGetMetadata(); default: throw new RuntimeException( @@ -264,16 +222,15 @@ protected com.google.protobuf.MapField internalGetMapField( @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetFileRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest.class, spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.GetFileRequest.class, spec.proto.runtime.v1.RuntimeProto.GetFileRequest.Builder.class); } public static final int STORE_NAME_FIELD_NUMBER = 1; private volatile java.lang.Object storeName_; /** *
-     * Required. Name of sequencer storage
      * 
* * string store_name = 1; @@ -294,7 +251,6 @@ public java.lang.String getStoreName() { } /** *
-     * Required. Name of sequencer storage
      * 
* * string store_name = 1; @@ -315,97 +271,59 @@ public java.lang.String getStoreName() { } } - public static final int KEY_FIELD_NUMBER = 2; - private volatile java.lang.Object key_; + public static final int NAME_FIELD_NUMBER = 2; + private volatile java.lang.Object name_; /** *
-     * Required. key is the identifier of a sequencer namespace,e.g. "order_table".
+     * The name of the file or object want to get.
      * 
* - * string key = 2; - * @return The key. + * string name = 2; + * @return The name. */ @java.lang.Override - public java.lang.String getKey() { - java.lang.Object ref = key_; + public java.lang.String getName() { + java.lang.Object ref = name_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - key_ = s; + name_ = s; return s; } } /** *
-     * Required. key is the identifier of a sequencer namespace,e.g. "order_table".
+     * The name of the file or object want to get.
      * 
* - * string key = 2; - * @return The bytes for key. + * string name = 2; + * @return The bytes for name. */ @java.lang.Override public com.google.protobuf.ByteString - getKeyBytes() { - java.lang.Object ref = key_; + getNameBytes() { + java.lang.Object ref = name_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - key_ = b; + name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } - public static final int OPTIONS_FIELD_NUMBER = 3; - private spec.proto.runtime.v1.RuntimeProto.SequencerOptions options_; - /** - *
-     * (optional) SequencerOptions configures requirements for auto-increment guarantee
-     * 
- * - * .spec.proto.runtime.v1.SequencerOptions options = 3; - * @return Whether the options field is set. - */ - @java.lang.Override - public boolean hasOptions() { - return options_ != null; - } - /** - *
-     * (optional) SequencerOptions configures requirements for auto-increment guarantee
-     * 
- * - * .spec.proto.runtime.v1.SequencerOptions options = 3; - * @return The options. - */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SequencerOptions getOptions() { - return options_ == null ? spec.proto.runtime.v1.RuntimeProto.SequencerOptions.getDefaultInstance() : options_; - } - /** - *
-     * (optional) SequencerOptions configures requirements for auto-increment guarantee
-     * 
- * - * .spec.proto.runtime.v1.SequencerOptions options = 3; - */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SequencerOptionsOrBuilder getOptionsOrBuilder() { - return getOptions(); - } - - public static final int METADATA_FIELD_NUMBER = 4; + public static final int METADATA_FIELD_NUMBER = 3; private static final class MetadataDefaultEntryHolder { static final com.google.protobuf.MapEntry< java.lang.String, java.lang.String> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( - spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdRequest_MetadataEntry_descriptor, + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetFileRequest_MetadataEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.STRING, @@ -427,10 +345,10 @@ public int getMetadataCount() { } /** *
-     * (optional) The metadata which will be sent to the component.
+     * The metadata for user extension.
      * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 3; */ @java.lang.Override @@ -449,10 +367,10 @@ public java.util.Map getMetadata() { } /** *
-     * (optional) The metadata which will be sent to the component.
+     * The metadata for user extension.
      * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 3; */ @java.lang.Override @@ -461,10 +379,10 @@ public java.util.Map getMetadataMap() { } /** *
-     * (optional) The metadata which will be sent to the component.
+     * The metadata for user extension.
      * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 3; */ @java.lang.Override @@ -478,10 +396,10 @@ public java.lang.String getMetadataOrDefault( } /** *
-     * (optional) The metadata which will be sent to the component.
+     * The metadata for user extension.
      * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 3; */ @java.lang.Override @@ -513,18 +431,15 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getStoreNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); } - if (!getKeyBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, key_); - } - if (options_ != null) { - output.writeMessage(3, getOptions()); + if (!getNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_); } com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( output, internalGetMetadata(), MetadataDefaultEntryHolder.defaultEntry, - 4); + 3); unknownFields.writeTo(output); } @@ -537,12 +452,8 @@ public int getSerializedSize() { if (!getStoreNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); } - if (!getKeyBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, key_); - } - if (options_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, getOptions()); + if (!getNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_); } for (java.util.Map.Entry entry : internalGetMetadata().getMap().entrySet()) { @@ -552,7 +463,7 @@ public int getSerializedSize() { .setValue(entry.getValue()) .build(); size += com.google.protobuf.CodedOutputStream - .computeMessageSize(4, metadata__); + .computeMessageSize(3, metadata__); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -564,20 +475,15 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.GetFileRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest other = (spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest) obj; + spec.proto.runtime.v1.RuntimeProto.GetFileRequest other = (spec.proto.runtime.v1.RuntimeProto.GetFileRequest) obj; if (!getStoreName() .equals(other.getStoreName())) return false; - if (!getKey() - .equals(other.getKey())) return false; - if (hasOptions() != other.hasOptions()) return false; - if (hasOptions()) { - if (!getOptions() - .equals(other.getOptions())) return false; - } + if (!getName() + .equals(other.getName())) return false; if (!internalGetMetadata().equals( other.internalGetMetadata())) return false; if (!unknownFields.equals(other.unknownFields)) return false; @@ -593,12 +499,8 @@ public int hashCode() { hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + STORE_NAME_FIELD_NUMBER; hash = (53 * hash) + getStoreName().hashCode(); - hash = (37 * hash) + KEY_FIELD_NUMBER; - hash = (53 * hash) + getKey().hashCode(); - if (hasOptions()) { - hash = (37 * hash) + OPTIONS_FIELD_NUMBER; - hash = (53 * hash) + getOptions().hashCode(); - } + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); if (!internalGetMetadata().getMap().isEmpty()) { hash = (37 * hash) + METADATA_FIELD_NUMBER; hash = (53 * hash) + internalGetMetadata().hashCode(); @@ -608,69 +510,69 @@ public int hashCode() { return hash; } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetFileRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetFileRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetFileRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetFileRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.GetFileRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetFileRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.GetFileRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetFileRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.GetFileRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetFileRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetFileRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetFileRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -683,7 +585,7 @@ public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.GetFileRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -699,22 +601,22 @@ protected Builder newBuilderForType( return builder; } /** - * Protobuf type {@code spec.proto.runtime.v1.GetNextIdRequest} + * Protobuf type {@code spec.proto.runtime.v1.GetFileRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.GetNextIdRequest) - spec.proto.runtime.v1.RuntimeProto.GetNextIdRequestOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.GetFileRequest) + spec.proto.runtime.v1.RuntimeProto.GetFileRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetFileRequest_descriptor; } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { - case 4: + case 3: return internalGetMetadata(); default: throw new RuntimeException( @@ -725,7 +627,7 @@ protected com.google.protobuf.MapField internalGetMapField( protected com.google.protobuf.MapField internalGetMutableMapField( int number) { switch (number) { - case 4: + case 3: return internalGetMutableMetadata(); default: throw new RuntimeException( @@ -735,12 +637,12 @@ protected com.google.protobuf.MapField internalGetMutableMapField( @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetFileRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest.class, spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.GetFileRequest.class, spec.proto.runtime.v1.RuntimeProto.GetFileRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.GetFileRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -760,14 +662,8 @@ public Builder clear() { super.clear(); storeName_ = ""; - key_ = ""; + name_ = ""; - if (optionsBuilder_ == null) { - options_ = null; - } else { - options_ = null; - optionsBuilder_ = null; - } internalGetMutableMetadata().clear(); return this; } @@ -775,17 +671,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetFileRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.GetFileRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.GetFileRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest build() { - spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.GetFileRequest build() { + spec.proto.runtime.v1.RuntimeProto.GetFileRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -793,16 +689,11 @@ public spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest buildPartial() { - spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest result = new spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest(this); + public spec.proto.runtime.v1.RuntimeProto.GetFileRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.GetFileRequest result = new spec.proto.runtime.v1.RuntimeProto.GetFileRequest(this); int from_bitField0_ = bitField0_; result.storeName_ = storeName_; - result.key_ = key_; - if (optionsBuilder_ == null) { - result.options_ = options_; - } else { - result.options_ = optionsBuilder_.build(); - } + result.name_ = name_; result.metadata_ = internalGetMetadata(); result.metadata_.makeImmutable(); onBuilt(); @@ -843,27 +734,24 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.GetFileRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.GetFileRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest other) { - if (other == spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest.getDefaultInstance()) return this; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetFileRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.GetFileRequest.getDefaultInstance()) return this; if (!other.getStoreName().isEmpty()) { storeName_ = other.storeName_; onChanged(); } - if (!other.getKey().isEmpty()) { - key_ = other.key_; + if (!other.getName().isEmpty()) { + name_ = other.name_; onChanged(); } - if (other.hasOptions()) { - mergeOptions(other.getOptions()); - } internalGetMutableMetadata().mergeFrom( other.internalGetMetadata()); this.mergeUnknownFields(other.unknownFields); @@ -881,11 +769,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.GetFileRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.GetFileRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -899,7 +787,6 @@ public Builder mergeFrom( private java.lang.Object storeName_ = ""; /** *
-       * Required. Name of sequencer storage
        * 
* * string store_name = 1; @@ -919,7 +806,6 @@ public java.lang.String getStoreName() { } /** *
-       * Required. Name of sequencer storage
        * 
* * string store_name = 1; @@ -940,7 +826,6 @@ public java.lang.String getStoreName() { } /** *
-       * Required. Name of sequencer storage
        * 
* * string store_name = 1; @@ -959,7 +844,6 @@ public Builder setStoreName( } /** *
-       * Required. Name of sequencer storage
        * 
* * string store_name = 1; @@ -973,7 +857,6 @@ public Builder clearStoreName() { } /** *
-       * Required. Name of sequencer storage
        * 
* * string store_name = 1; @@ -992,22 +875,22 @@ public Builder setStoreNameBytes( return this; } - private java.lang.Object key_ = ""; + private java.lang.Object name_ = ""; /** *
-       * Required. key is the identifier of a sequencer namespace,e.g. "order_table".
+       * The name of the file or object want to get.
        * 
* - * string key = 2; - * @return The key. + * string name = 2; + * @return The name. */ - public java.lang.String getKey() { - java.lang.Object ref = key_; + public java.lang.String getName() { + java.lang.Object ref = name_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - key_ = s; + name_ = s; return s; } else { return (java.lang.String) ref; @@ -1015,20 +898,20 @@ public java.lang.String getKey() { } /** *
-       * Required. key is the identifier of a sequencer namespace,e.g. "order_table".
+       * The name of the file or object want to get.
        * 
* - * string key = 2; - * @return The bytes for key. + * string name = 2; + * @return The bytes for name. */ public com.google.protobuf.ByteString - getKeyBytes() { - java.lang.Object ref = key_; + getNameBytes() { + java.lang.Object ref = name_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - key_ = b; + name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; @@ -1036,213 +919,58 @@ public java.lang.String getKey() { } /** *
-       * Required. key is the identifier of a sequencer namespace,e.g. "order_table".
+       * The name of the file or object want to get.
        * 
* - * string key = 2; - * @param value The key to set. + * string name = 2; + * @param value The name to set. * @return This builder for chaining. */ - public Builder setKey( + public Builder setName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - key_ = value; + name_ = value; onChanged(); return this; } /** *
-       * Required. key is the identifier of a sequencer namespace,e.g. "order_table".
+       * The name of the file or object want to get.
        * 
* - * string key = 2; + * string name = 2; * @return This builder for chaining. */ - public Builder clearKey() { + public Builder clearName() { - key_ = getDefaultInstance().getKey(); + name_ = getDefaultInstance().getName(); onChanged(); return this; } /** *
-       * Required. key is the identifier of a sequencer namespace,e.g. "order_table".
+       * The name of the file or object want to get.
        * 
* - * string key = 2; - * @param value The bytes for key to set. + * string name = 2; + * @param value The bytes for name to set. * @return This builder for chaining. */ - public Builder setKeyBytes( + public Builder setNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); - key_ = value; + name_ = value; onChanged(); return this; } - private spec.proto.runtime.v1.RuntimeProto.SequencerOptions options_; - private com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.SequencerOptions, spec.proto.runtime.v1.RuntimeProto.SequencerOptions.Builder, spec.proto.runtime.v1.RuntimeProto.SequencerOptionsOrBuilder> optionsBuilder_; - /** - *
-       * (optional) SequencerOptions configures requirements for auto-increment guarantee
-       * 
- * - * .spec.proto.runtime.v1.SequencerOptions options = 3; - * @return Whether the options field is set. - */ - public boolean hasOptions() { - return optionsBuilder_ != null || options_ != null; - } - /** - *
-       * (optional) SequencerOptions configures requirements for auto-increment guarantee
-       * 
- * - * .spec.proto.runtime.v1.SequencerOptions options = 3; - * @return The options. - */ - public spec.proto.runtime.v1.RuntimeProto.SequencerOptions getOptions() { - if (optionsBuilder_ == null) { - return options_ == null ? spec.proto.runtime.v1.RuntimeProto.SequencerOptions.getDefaultInstance() : options_; - } else { - return optionsBuilder_.getMessage(); - } - } - /** - *
-       * (optional) SequencerOptions configures requirements for auto-increment guarantee
-       * 
- * - * .spec.proto.runtime.v1.SequencerOptions options = 3; - */ - public Builder setOptions(spec.proto.runtime.v1.RuntimeProto.SequencerOptions value) { - if (optionsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - options_ = value; - onChanged(); - } else { - optionsBuilder_.setMessage(value); - } - - return this; - } - /** - *
-       * (optional) SequencerOptions configures requirements for auto-increment guarantee
-       * 
- * - * .spec.proto.runtime.v1.SequencerOptions options = 3; - */ - public Builder setOptions( - spec.proto.runtime.v1.RuntimeProto.SequencerOptions.Builder builderForValue) { - if (optionsBuilder_ == null) { - options_ = builderForValue.build(); - onChanged(); - } else { - optionsBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - *
-       * (optional) SequencerOptions configures requirements for auto-increment guarantee
-       * 
- * - * .spec.proto.runtime.v1.SequencerOptions options = 3; - */ - public Builder mergeOptions(spec.proto.runtime.v1.RuntimeProto.SequencerOptions value) { - if (optionsBuilder_ == null) { - if (options_ != null) { - options_ = - spec.proto.runtime.v1.RuntimeProto.SequencerOptions.newBuilder(options_).mergeFrom(value).buildPartial(); - } else { - options_ = value; - } - onChanged(); - } else { - optionsBuilder_.mergeFrom(value); - } - - return this; - } - /** - *
-       * (optional) SequencerOptions configures requirements for auto-increment guarantee
-       * 
- * - * .spec.proto.runtime.v1.SequencerOptions options = 3; - */ - public Builder clearOptions() { - if (optionsBuilder_ == null) { - options_ = null; - onChanged(); - } else { - options_ = null; - optionsBuilder_ = null; - } - - return this; - } - /** - *
-       * (optional) SequencerOptions configures requirements for auto-increment guarantee
-       * 
- * - * .spec.proto.runtime.v1.SequencerOptions options = 3; - */ - public spec.proto.runtime.v1.RuntimeProto.SequencerOptions.Builder getOptionsBuilder() { - - onChanged(); - return getOptionsFieldBuilder().getBuilder(); - } - /** - *
-       * (optional) SequencerOptions configures requirements for auto-increment guarantee
-       * 
- * - * .spec.proto.runtime.v1.SequencerOptions options = 3; - */ - public spec.proto.runtime.v1.RuntimeProto.SequencerOptionsOrBuilder getOptionsOrBuilder() { - if (optionsBuilder_ != null) { - return optionsBuilder_.getMessageOrBuilder(); - } else { - return options_ == null ? - spec.proto.runtime.v1.RuntimeProto.SequencerOptions.getDefaultInstance() : options_; - } - } - /** - *
-       * (optional) SequencerOptions configures requirements for auto-increment guarantee
-       * 
- * - * .spec.proto.runtime.v1.SequencerOptions options = 3; - */ - private com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.SequencerOptions, spec.proto.runtime.v1.RuntimeProto.SequencerOptions.Builder, spec.proto.runtime.v1.RuntimeProto.SequencerOptionsOrBuilder> - getOptionsFieldBuilder() { - if (optionsBuilder_ == null) { - optionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.SequencerOptions, spec.proto.runtime.v1.RuntimeProto.SequencerOptions.Builder, spec.proto.runtime.v1.RuntimeProto.SequencerOptionsOrBuilder>( - getOptions(), - getParentForChildren(), - isClean()); - options_ = null; - } - return optionsBuilder_; - } - private com.google.protobuf.MapField< java.lang.String, java.lang.String> metadata_; private com.google.protobuf.MapField @@ -1271,10 +999,10 @@ public int getMetadataCount() { } /** *
-       * (optional) The metadata which will be sent to the component.
+       * The metadata for user extension.
        * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 3; */ @java.lang.Override @@ -1293,10 +1021,10 @@ public java.util.Map getMetadata() { } /** *
-       * (optional) The metadata which will be sent to the component.
+       * The metadata for user extension.
        * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 3; */ @java.lang.Override @@ -1305,10 +1033,10 @@ public java.util.Map getMetadataMap() { } /** *
-       * (optional) The metadata which will be sent to the component.
+       * The metadata for user extension.
        * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 3; */ @java.lang.Override @@ -1322,10 +1050,10 @@ public java.lang.String getMetadataOrDefault( } /** *
-       * (optional) The metadata which will be sent to the component.
+       * The metadata for user extension.
        * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 3; */ @java.lang.Override @@ -1347,10 +1075,10 @@ public Builder clearMetadata() { } /** *
-       * (optional) The metadata which will be sent to the component.
+       * The metadata for user extension.
        * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 3; */ public Builder removeMetadata( @@ -1370,10 +1098,10 @@ public Builder removeMetadata( } /** *
-       * (optional) The metadata which will be sent to the component.
+       * The metadata for user extension.
        * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 3; */ public Builder putMetadata( java.lang.String key, @@ -1386,10 +1114,10 @@ public Builder putMetadata( } /** *
-       * (optional) The metadata which will be sent to the component.
+       * The metadata for user extension.
        * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 3; */ public Builder putAllMetadata( @@ -1411,86 +1139,77 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.GetNextIdRequest) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.GetFileRequest) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.GetNextIdRequest) - private static final spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.GetFileRequest) + private static final spec.proto.runtime.v1.RuntimeProto.GetFileRequest DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.GetFileRequest(); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.GetFileRequest getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public GetNextIdRequest parsePartialFrom( + public GetFileRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new GetNextIdRequest(input, extensionRegistry); + return new GetFileRequest(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.GetFileRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface SequencerOptionsOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.SequencerOptions) + public interface GetFileResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.GetFileResponse) com.google.protobuf.MessageOrBuilder { /** - * .spec.proto.runtime.v1.SequencerOptions.AutoIncrement increment = 1; - * @return The enum numeric value on the wire for increment. - */ - int getIncrementValue(); - /** - * .spec.proto.runtime.v1.SequencerOptions.AutoIncrement increment = 1; - * @return The increment. + * bytes data = 1; + * @return The data. */ - spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement getIncrement(); + com.google.protobuf.ByteString getData(); } /** - *
-   * SequencerOptions configures requirements for auto-increment guarantee
-   * 
- * - * Protobuf type {@code spec.proto.runtime.v1.SequencerOptions} + * Protobuf type {@code spec.proto.runtime.v1.GetFileResponse} */ - public static final class SequencerOptions extends + public static final class GetFileResponse extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.SequencerOptions) - SequencerOptionsOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.GetFileResponse) + GetFileResponseOrBuilder { private static final long serialVersionUID = 0L; - // Use SequencerOptions.newBuilder() to construct. - private SequencerOptions(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use GetFileResponse.newBuilder() to construct. + private GetFileResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private SequencerOptions() { - increment_ = 0; + private GetFileResponse() { + data_ = com.google.protobuf.ByteString.EMPTY; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new SequencerOptions(); + return new GetFileResponse(); } @java.lang.Override @@ -1498,7 +1217,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private SequencerOptions( + private GetFileResponse( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -1516,10 +1235,9 @@ private SequencerOptions( case 0: done = true; break; - case 8: { - int rawValue = input.readEnum(); + case 10: { - increment_ = rawValue; + data_ = input.readBytes(); break; } default: { @@ -1543,166 +1261,26 @@ private SequencerOptions( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SequencerOptions_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetFileResponse_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SequencerOptions_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetFileResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.SequencerOptions.class, spec.proto.runtime.v1.RuntimeProto.SequencerOptions.Builder.class); - } - - /** - *
-     * requirements for auto-increment guarantee
-     * 
- * - * Protobuf enum {@code spec.proto.runtime.v1.SequencerOptions.AutoIncrement} - */ - public enum AutoIncrement - implements com.google.protobuf.ProtocolMessageEnum { - /** - *
-       * (default) WEAK means a "best effort" incrementing service.But there is no strict guarantee of global monotonically increasing.
-       *The next id is "probably" greater than current id.
-       * 
- * - * WEAK = 0; - */ - WEAK(0), - /** - *
-       * STRONG means a strict guarantee of global monotonically increasing.
-       *The next id "must" be greater than current id.
-       * 
- * - * STRONG = 1; - */ - STRONG(1), - UNRECOGNIZED(-1), - ; - - /** - *
-       * (default) WEAK means a "best effort" incrementing service.But there is no strict guarantee of global monotonically increasing.
-       *The next id is "probably" greater than current id.
-       * 
- * - * WEAK = 0; - */ - public static final int WEAK_VALUE = 0; - /** - *
-       * STRONG means a strict guarantee of global monotonically increasing.
-       *The next id "must" be greater than current id.
-       * 
- * - * STRONG = 1; - */ - public static final int STRONG_VALUE = 1; - - - public final int getNumber() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalArgumentException( - "Can't get the number of an unknown enum value."); - } - return value; - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static AutoIncrement valueOf(int value) { - return forNumber(value); - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - */ - public static AutoIncrement forNumber(int value) { - switch (value) { - case 0: return WEAK; - case 1: return STRONG; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - AutoIncrement> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public AutoIncrement findValueByNumber(int number) { - return AutoIncrement.forNumber(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(ordinal()); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.SequencerOptions.getDescriptor().getEnumTypes().get(0); - } - - private static final AutoIncrement[] VALUES = values(); - - public static AutoIncrement valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { - if (desc.getType() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); - } - if (desc.getIndex() == -1) { - return UNRECOGNIZED; - } - return VALUES[desc.getIndex()]; - } - - private final int value; - - private AutoIncrement(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:spec.proto.runtime.v1.SequencerOptions.AutoIncrement) + spec.proto.runtime.v1.RuntimeProto.GetFileResponse.class, spec.proto.runtime.v1.RuntimeProto.GetFileResponse.Builder.class); } - public static final int INCREMENT_FIELD_NUMBER = 1; - private int increment_; - /** - * .spec.proto.runtime.v1.SequencerOptions.AutoIncrement increment = 1; - * @return The enum numeric value on the wire for increment. - */ - @java.lang.Override public int getIncrementValue() { - return increment_; - } + public static final int DATA_FIELD_NUMBER = 1; + private com.google.protobuf.ByteString data_; /** - * .spec.proto.runtime.v1.SequencerOptions.AutoIncrement increment = 1; - * @return The increment. + * bytes data = 1; + * @return The data. */ - @java.lang.Override public spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement getIncrement() { - @SuppressWarnings("deprecation") - spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement result = spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement.valueOf(increment_); - return result == null ? spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement.UNRECOGNIZED : result; + @java.lang.Override + public com.google.protobuf.ByteString getData() { + return data_; } private byte memoizedIsInitialized = -1; @@ -1719,8 +1297,8 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (increment_ != spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement.WEAK.getNumber()) { - output.writeEnum(1, increment_); + if (!data_.isEmpty()) { + output.writeBytes(1, data_); } unknownFields.writeTo(output); } @@ -1731,9 +1309,9 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (increment_ != spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement.WEAK.getNumber()) { + if (!data_.isEmpty()) { size += com.google.protobuf.CodedOutputStream - .computeEnumSize(1, increment_); + .computeBytesSize(1, data_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -1745,12 +1323,13 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.SequencerOptions)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.GetFileResponse)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.SequencerOptions other = (spec.proto.runtime.v1.RuntimeProto.SequencerOptions) obj; + spec.proto.runtime.v1.RuntimeProto.GetFileResponse other = (spec.proto.runtime.v1.RuntimeProto.GetFileResponse) obj; - if (increment_ != other.increment_) return false; + if (!getData() + .equals(other.getData())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -1762,76 +1341,76 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + INCREMENT_FIELD_NUMBER; - hash = (53 * hash) + increment_; + hash = (37 * hash) + DATA_FIELD_NUMBER; + hash = (53 * hash) + getData().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetFileResponse parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetFileResponse parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetFileResponse parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetFileResponse parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.GetFileResponse parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetFileResponse parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.GetFileResponse parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetFileResponse parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.GetFileResponse parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetFileResponse parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetFileResponse parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetFileResponse parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -1844,7 +1423,7 @@ public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.SequencerOptions prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.GetFileResponse prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -1860,30 +1439,26 @@ protected Builder newBuilderForType( return builder; } /** - *
-     * SequencerOptions configures requirements for auto-increment guarantee
-     * 
- * - * Protobuf type {@code spec.proto.runtime.v1.SequencerOptions} + * Protobuf type {@code spec.proto.runtime.v1.GetFileResponse} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.SequencerOptions) - spec.proto.runtime.v1.RuntimeProto.SequencerOptionsOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.GetFileResponse) + spec.proto.runtime.v1.RuntimeProto.GetFileResponseOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SequencerOptions_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetFileResponse_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SequencerOptions_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetFileResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.SequencerOptions.class, spec.proto.runtime.v1.RuntimeProto.SequencerOptions.Builder.class); + spec.proto.runtime.v1.RuntimeProto.GetFileResponse.class, spec.proto.runtime.v1.RuntimeProto.GetFileResponse.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.SequencerOptions.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.GetFileResponse.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -1901,7 +1476,7 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - increment_ = 0; + data_ = com.google.protobuf.ByteString.EMPTY; return this; } @@ -1909,17 +1484,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SequencerOptions_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetFileResponse_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SequencerOptions getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.SequencerOptions.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.GetFileResponse getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.GetFileResponse.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SequencerOptions build() { - spec.proto.runtime.v1.RuntimeProto.SequencerOptions result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.GetFileResponse build() { + spec.proto.runtime.v1.RuntimeProto.GetFileResponse result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -1927,9 +1502,9 @@ public spec.proto.runtime.v1.RuntimeProto.SequencerOptions build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SequencerOptions buildPartial() { - spec.proto.runtime.v1.RuntimeProto.SequencerOptions result = new spec.proto.runtime.v1.RuntimeProto.SequencerOptions(this); - result.increment_ = increment_; + public spec.proto.runtime.v1.RuntimeProto.GetFileResponse buildPartial() { + spec.proto.runtime.v1.RuntimeProto.GetFileResponse result = new spec.proto.runtime.v1.RuntimeProto.GetFileResponse(this); + result.data_ = data_; onBuilt(); return result; } @@ -1968,18 +1543,18 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.SequencerOptions) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.SequencerOptions)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.GetFileResponse) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.GetFileResponse)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.SequencerOptions other) { - if (other == spec.proto.runtime.v1.RuntimeProto.SequencerOptions.getDefaultInstance()) return this; - if (other.increment_ != 0) { - setIncrementValue(other.getIncrementValue()); + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetFileResponse other) { + if (other == spec.proto.runtime.v1.RuntimeProto.GetFileResponse.getDefaultInstance()) return this; + if (other.getData() != com.google.protobuf.ByteString.EMPTY) { + setData(other.getData()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -1996,11 +1571,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.SequencerOptions parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.GetFileResponse parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.SequencerOptions) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.GetFileResponse) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -2010,56 +1585,36 @@ public Builder mergeFrom( return this; } - private int increment_ = 0; - /** - * .spec.proto.runtime.v1.SequencerOptions.AutoIncrement increment = 1; - * @return The enum numeric value on the wire for increment. - */ - @java.lang.Override public int getIncrementValue() { - return increment_; - } - /** - * .spec.proto.runtime.v1.SequencerOptions.AutoIncrement increment = 1; - * @param value The enum numeric value on the wire for increment to set. - * @return This builder for chaining. - */ - public Builder setIncrementValue(int value) { - - increment_ = value; - onChanged(); - return this; - } + private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; /** - * .spec.proto.runtime.v1.SequencerOptions.AutoIncrement increment = 1; - * @return The increment. + * bytes data = 1; + * @return The data. */ @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement getIncrement() { - @SuppressWarnings("deprecation") - spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement result = spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement.valueOf(increment_); - return result == null ? spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement.UNRECOGNIZED : result; + public com.google.protobuf.ByteString getData() { + return data_; } /** - * .spec.proto.runtime.v1.SequencerOptions.AutoIncrement increment = 1; - * @param value The increment to set. + * bytes data = 1; + * @param value The data to set. * @return This builder for chaining. */ - public Builder setIncrement(spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement value) { + public Builder setData(com.google.protobuf.ByteString value) { if (value == null) { - throw new NullPointerException(); - } - - increment_ = value.getNumber(); + throw new NullPointerException(); + } + + data_ = value; onChanged(); return this; } /** - * .spec.proto.runtime.v1.SequencerOptions.AutoIncrement increment = 1; + * bytes data = 1; * @return This builder for chaining. */ - public Builder clearIncrement() { + public Builder clearData() { - increment_ = 0; + data_ = getDefaultInstance().getData(); onChanged(); return this; } @@ -2076,80 +1631,169 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.SequencerOptions) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.GetFileResponse) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.SequencerOptions) - private static final spec.proto.runtime.v1.RuntimeProto.SequencerOptions DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.GetFileResponse) + private static final spec.proto.runtime.v1.RuntimeProto.GetFileResponse DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.SequencerOptions(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.GetFileResponse(); } - public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.GetFileResponse getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public SequencerOptions parsePartialFrom( + public GetFileResponse parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new SequencerOptions(input, extensionRegistry); + return new GetFileResponse(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SequencerOptions getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.GetFileResponse getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface GetNextIdResponseOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.GetNextIdResponse) + public interface PutFileRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.PutFileRequest) com.google.protobuf.MessageOrBuilder { + /** + * string store_name = 1; + * @return The storeName. + */ + java.lang.String getStoreName(); + /** + * string store_name = 1; + * @return The bytes for storeName. + */ + com.google.protobuf.ByteString + getStoreNameBytes(); + /** *
-     * The next unique id
+     * The name of the file or object want to put.
      * 
* - * int64 next_id = 1; - * @return The nextId. + * string name = 2; + * @return The name. */ - long getNextId(); + java.lang.String getName(); + /** + *
+     * The name of the file or object want to put.
+     * 
+ * + * string name = 2; + * @return The bytes for name. + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + *
+     * The data will be store.
+     * 
+ * + * bytes data = 3; + * @return The data. + */ + com.google.protobuf.ByteString getData(); + + /** + *
+     * The metadata for user extension.
+     * 
+ * + * map<string, string> metadata = 4; + */ + int getMetadataCount(); + /** + *
+     * The metadata for user extension.
+     * 
+ * + * map<string, string> metadata = 4; + */ + boolean containsMetadata( + java.lang.String key); + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getMetadata(); + /** + *
+     * The metadata for user extension.
+     * 
+ * + * map<string, string> metadata = 4; + */ + java.util.Map + getMetadataMap(); + /** + *
+     * The metadata for user extension.
+     * 
+ * + * map<string, string> metadata = 4; + */ + + java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue); + /** + *
+     * The metadata for user extension.
+     * 
+ * + * map<string, string> metadata = 4; + */ + + java.lang.String getMetadataOrThrow( + java.lang.String key); } /** - * Protobuf type {@code spec.proto.runtime.v1.GetNextIdResponse} + * Protobuf type {@code spec.proto.runtime.v1.PutFileRequest} */ - public static final class GetNextIdResponse extends + public static final class PutFileRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.GetNextIdResponse) - GetNextIdResponseOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.PutFileRequest) + PutFileRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use GetNextIdResponse.newBuilder() to construct. - private GetNextIdResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use PutFileRequest.newBuilder() to construct. + private PutFileRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private GetNextIdResponse() { + private PutFileRequest() { + storeName_ = ""; + name_ = ""; + data_ = com.google.protobuf.ByteString.EMPTY; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new GetNextIdResponse(); + return new PutFileRequest(); } @java.lang.Override @@ -2157,7 +1801,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private GetNextIdResponse( + private PutFileRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -2165,6 +1809,7 @@ private GetNextIdResponse( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -2175,9 +1820,34 @@ private GetNextIdResponse( case 0: done = true; break; - case 8: { + case 10: { + java.lang.String s = input.readStringRequireUtf8(); - nextId_ = input.readInt64(); + storeName_ = s; + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + name_ = s; + break; + } + case 26: { + + data_ = input.readBytes(); + break; + } + case 34: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); + mutable_bitField0_ |= 0x00000001; + } + com.google.protobuf.MapEntry + metadata__ = input.readMessage( + MetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + metadata_.getMutableMap().put( + metadata__.getKey(), metadata__.getValue()); break; } default: { @@ -2201,35 +1871,228 @@ private GetNextIdResponse( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_PutFileRequest_descriptor; } + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 4: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdResponse_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_PutFileRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse.class, spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse.Builder.class); + spec.proto.runtime.v1.RuntimeProto.PutFileRequest.class, spec.proto.runtime.v1.RuntimeProto.PutFileRequest.Builder.class); } - public static final int NEXT_ID_FIELD_NUMBER = 1; - private long nextId_; + public static final int STORE_NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object storeName_; /** - *
-     * The next unique id
-     * 
- * - * int64 next_id = 1; - * @return The nextId. + * string store_name = 1; + * @return The storeName. */ @java.lang.Override - public long getNextId() { - return nextId_; + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + storeName_ = s; + return s; + } } - - private byte memoizedIsInitialized = -1; + /** + * string store_name = 1; + * @return The bytes for storeName. + */ @java.lang.Override - public final boolean isInitialized() { + public com.google.protobuf.ByteString + getStoreNameBytes() { + java.lang.Object ref = storeName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + storeName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int NAME_FIELD_NUMBER = 2; + private volatile java.lang.Object name_; + /** + *
+     * The name of the file or object want to put.
+     * 
+ * + * string name = 2; + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + /** + *
+     * The name of the file or object want to put.
+     * 
+ * + * string name = 2; + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DATA_FIELD_NUMBER = 3; + private com.google.protobuf.ByteString data_; + /** + *
+     * The data will be store.
+     * 
+ * + * bytes data = 3; + * @return The data. + */ + @java.lang.Override + public com.google.protobuf.ByteString getData() { + return data_; + } + + public static final int METADATA_FIELD_NUMBER = 4; + private static final class MetadataDefaultEntryHolder { + static final com.google.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_PutFileRequest_MetadataEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + return metadata_; + } + + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); + } + /** + *
+     * The metadata for user extension.
+     * 
+ * + * map<string, string> metadata = 4; + */ + + @java.lang.Override + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); + } + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); + } + /** + *
+     * The metadata for user extension.
+     * 
+ * + * map<string, string> metadata = 4; + */ + @java.lang.Override + + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); + } + /** + *
+     * The metadata for user extension.
+     * 
+ * + * map<string, string> metadata = 4; + */ + @java.lang.Override + + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+     * The metadata for user extension.
+     * 
+ * + * map<string, string> metadata = 4; + */ + @java.lang.Override + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; @@ -2241,9 +2104,21 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (nextId_ != 0L) { - output.writeInt64(1, nextId_); + if (!getStoreNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); + } + if (!getNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_); + } + if (!data_.isEmpty()) { + output.writeBytes(3, data_); } + com.google.protobuf.GeneratedMessageV3 + .serializeStringMapTo( + output, + internalGetMetadata(), + MetadataDefaultEntryHolder.defaultEntry, + 4); unknownFields.writeTo(output); } @@ -2253,9 +2128,25 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (nextId_ != 0L) { + if (!getStoreNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); + } + if (!getNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_); + } + if (!data_.isEmpty()) { size += com.google.protobuf.CodedOutputStream - .computeInt64Size(1, nextId_); + .computeBytesSize(3, data_); + } + for (java.util.Map.Entry entry + : internalGetMetadata().getMap().entrySet()) { + com.google.protobuf.MapEntry + metadata__ = MetadataDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, metadata__); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -2267,13 +2158,19 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.PutFileRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse other = (spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse) obj; + spec.proto.runtime.v1.RuntimeProto.PutFileRequest other = (spec.proto.runtime.v1.RuntimeProto.PutFileRequest) obj; - if (getNextId() - != other.getNextId()) return false; + if (!getStoreName() + .equals(other.getStoreName())) return false; + if (!getName() + .equals(other.getName())) return false; + if (!getData() + .equals(other.getData())) return false; + if (!internalGetMetadata().equals( + other.internalGetMetadata())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -2285,77 +2182,84 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + NEXT_ID_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getNextId()); + hash = (37 * hash) + STORE_NAME_FIELD_NUMBER; + hash = (53 * hash) + getStoreName().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + DATA_FIELD_NUMBER; + hash = (53 * hash) + getData().hashCode(); + if (!internalGetMetadata().getMap().isEmpty()) { + hash = (37 * hash) + METADATA_FIELD_NUMBER; + hash = (53 * hash) + internalGetMetadata().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.PutFileRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.PutFileRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.PutFileRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.PutFileRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.PutFileRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.PutFileRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.PutFileRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.PutFileRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.PutFileRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.PutFileRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.PutFileRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.PutFileRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -2368,7 +2272,7 @@ public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.PutFileRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -2384,26 +2288,48 @@ protected Builder newBuilderForType( return builder; } /** - * Protobuf type {@code spec.proto.runtime.v1.GetNextIdResponse} + * Protobuf type {@code spec.proto.runtime.v1.PutFileRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.GetNextIdResponse) - spec.proto.runtime.v1.RuntimeProto.GetNextIdResponseOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.PutFileRequest) + spec.proto.runtime.v1.RuntimeProto.PutFileRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_PutFileRequest_descriptor; } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 4: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMutableMapField( + int number) { + switch (number) { + case 4: + return internalGetMutableMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdResponse_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_PutFileRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse.class, spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse.Builder.class); + spec.proto.runtime.v1.RuntimeProto.PutFileRequest.class, spec.proto.runtime.v1.RuntimeProto.PutFileRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.PutFileRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -2421,25 +2347,30 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - nextId_ = 0L; + storeName_ = ""; + name_ = ""; + + data_ = com.google.protobuf.ByteString.EMPTY; + + internalGetMutableMetadata().clear(); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_PutFileRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.PutFileRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.PutFileRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse build() { - spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.PutFileRequest build() { + spec.proto.runtime.v1.RuntimeProto.PutFileRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -2447,9 +2378,14 @@ public spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse buildPartial() { - spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse result = new spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse(this); - result.nextId_ = nextId_; + public spec.proto.runtime.v1.RuntimeProto.PutFileRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.PutFileRequest result = new spec.proto.runtime.v1.RuntimeProto.PutFileRequest(this); + int from_bitField0_ = bitField0_; + result.storeName_ = storeName_; + result.name_ = name_; + result.data_ = data_; + result.metadata_ = internalGetMetadata(); + result.metadata_.makeImmutable(); onBuilt(); return result; } @@ -2488,19 +2424,29 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.PutFileRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.PutFileRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse other) { - if (other == spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse.getDefaultInstance()) return this; - if (other.getNextId() != 0L) { - setNextId(other.getNextId()); + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.PutFileRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.PutFileRequest.getDefaultInstance()) return this; + if (!other.getStoreName().isEmpty()) { + storeName_ = other.storeName_; + onChanged(); + } + if (!other.getName().isEmpty()) { + name_ = other.name_; + onChanged(); } + if (other.getData() != com.google.protobuf.ByteString.EMPTY) { + setData(other.getData()); + } + internalGetMutableMetadata().mergeFrom( + other.internalGetMetadata()); this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -2516,11 +2462,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.PutFileRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.PutFileRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -2529,104 +2475,436 @@ public Builder mergeFrom( } return this; } + private int bitField0_; - private long nextId_ ; + private java.lang.Object storeName_ = ""; + /** + * string store_name = 1; + * @return The storeName. + */ + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + storeName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string store_name = 1; + * @return The bytes for storeName. + */ + public com.google.protobuf.ByteString + getStoreNameBytes() { + java.lang.Object ref = storeName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + storeName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string store_name = 1; + * @param value The storeName to set. + * @return This builder for chaining. + */ + public Builder setStoreName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + storeName_ = value; + onChanged(); + return this; + } + /** + * string store_name = 1; + * @return This builder for chaining. + */ + public Builder clearStoreName() { + + storeName_ = getDefaultInstance().getStoreName(); + onChanged(); + return this; + } + /** + * string store_name = 1; + * @param value The bytes for storeName to set. + * @return This builder for chaining. + */ + public Builder setStoreNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + storeName_ = value; + onChanged(); + return this; + } + + private java.lang.Object name_ = ""; /** *
-       * The next unique id
+       * The name of the file or object want to put.
        * 
* - * int64 next_id = 1; - * @return The nextId. + * string name = 2; + * @return The name. */ - @java.lang.Override - public long getNextId() { - return nextId_; + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } } /** *
-       * The next unique id
+       * The name of the file or object want to put.
        * 
* - * int64 next_id = 1; - * @param value The nextId to set. + * string name = 2; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The name of the file or object want to put.
+       * 
+ * + * string name = 2; + * @param value The name to set. * @return This builder for chaining. */ - public Builder setNextId(long value) { - - nextId_ = value; + public Builder setName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + name_ = value; onChanged(); return this; } /** *
-       * The next unique id
+       * The name of the file or object want to put.
        * 
* - * int64 next_id = 1; + * string name = 2; * @return This builder for chaining. */ - public Builder clearNextId() { + public Builder clearName() { - nextId_ = 0L; + name_ = getDefaultInstance().getName(); onChanged(); return this; } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); + /** + *
+       * The name of the file or object want to put.
+       * 
+ * + * string name = 2; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + name_ = value; + onChanged(); + return this; } - - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.GetNextIdResponse) - } - - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.GetNextIdResponse) - private static final spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse(); - } - - public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; + /** + *
+       * The data will be store.
+       * 
+ * + * bytes data = 3; + * @return The data. + */ @java.lang.Override - public GetNextIdResponse parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new GetNextIdResponse(input, extensionRegistry); + public com.google.protobuf.ByteString getData() { + return data_; } - }; - - public static com.google.protobuf.Parser parser() { + /** + *
+       * The data will be store.
+       * 
+ * + * bytes data = 3; + * @param value The data to set. + * @return This builder for chaining. + */ + public Builder setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + + data_ = value; + onChanged(); + return this; + } + /** + *
+       * The data will be store.
+       * 
+ * + * bytes data = 3; + * @return This builder for chaining. + */ + public Builder clearData() { + + data_ = getDefaultInstance().getData(); + onChanged(); + return this; + } + + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + return metadata_; + } + private com.google.protobuf.MapField + internalGetMutableMetadata() { + onChanged();; + if (metadata_ == null) { + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + if (!metadata_.isMutable()) { + metadata_ = metadata_.copy(); + } + return metadata_; + } + + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); + } + /** + *
+       * The metadata for user extension.
+       * 
+ * + * map<string, string> metadata = 4; + */ + + @java.lang.Override + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); + } + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); + } + /** + *
+       * The metadata for user extension.
+       * 
+ * + * map<string, string> metadata = 4; + */ + @java.lang.Override + + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); + } + /** + *
+       * The metadata for user extension.
+       * 
+ * + * map<string, string> metadata = 4; + */ + @java.lang.Override + + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+       * The metadata for user extension.
+       * 
+ * + * map<string, string> metadata = 4; + */ + @java.lang.Override + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public Builder clearMetadata() { + internalGetMutableMetadata().getMutableMap() + .clear(); + return this; + } + /** + *
+       * The metadata for user extension.
+       * 
+ * + * map<string, string> metadata = 4; + */ + + public Builder removeMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .remove(key); + return this; + } + /** + * Use alternate mutation accessors instead. + */ + @java.lang.Deprecated + public java.util.Map + getMutableMetadata() { + return internalGetMutableMetadata().getMutableMap(); + } + /** + *
+       * The metadata for user extension.
+       * 
+ * + * map<string, string> metadata = 4; + */ + public Builder putMetadata( + java.lang.String key, + java.lang.String value) { + if (key == null) { throw new java.lang.NullPointerException(); } + if (value == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .put(key, value); + return this; + } + /** + *
+       * The metadata for user extension.
+       * 
+ * + * map<string, string> metadata = 4; + */ + + public Builder putAllMetadata( + java.util.Map values) { + internalGetMutableMetadata().getMutableMap() + .putAll(values); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.PutFileRequest) + } + + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.PutFileRequest) + private static final spec.proto.runtime.v1.RuntimeProto.PutFileRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.PutFileRequest(); + } + + public static spec.proto.runtime.v1.RuntimeProto.PutFileRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public PutFileRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new PutFileRequest(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.PutFileRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface TryLockRequestOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.TryLockRequest) + public interface FileRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.FileRequest) com.google.protobuf.MessageOrBuilder { /** @@ -2643,99 +2921,100 @@ public interface TryLockRequestOrBuilder extends /** *
-     * resource_id is the lock key.
+     * The name of the directory
      * 
* - * string resource_id = 2; - * @return The resourceId. + * string name = 2; + * @return The name. */ - java.lang.String getResourceId(); + java.lang.String getName(); /** *
-     * resource_id is the lock key.
+     * The name of the directory
      * 
* - * string resource_id = 2; - * @return The bytes for resourceId. + * string name = 2; + * @return The bytes for name. */ com.google.protobuf.ByteString - getResourceIdBytes(); + getNameBytes(); /** *
-     * lock_owner indicate the identifier of lock owner.
-     * This field is required.You can generate a uuid as lock_owner.For example,in golang:
-     * req.LockOwner = uuid.New().String()
-     * This field is per request,not per process,so it is different for each request,
-     * which aims to prevent multi-thread in the same process trying the same lock concurrently.
-     * The reason why we don't make it automatically generated is:
-     * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
-     * This name is so weird that we think it is inappropriate to put it into the api spec
-     * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
-     * we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
-     * 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
-     * So this field in the request shouldn't be removed.
+     * The metadata for user extension.
      * 
* - * string lock_owner = 3; - * @return The lockOwner. + * map<string, string> metadata = 3; */ - java.lang.String getLockOwner(); + int getMetadataCount(); /** *
-     * lock_owner indicate the identifier of lock owner.
-     * This field is required.You can generate a uuid as lock_owner.For example,in golang:
-     * req.LockOwner = uuid.New().String()
-     * This field is per request,not per process,so it is different for each request,
-     * which aims to prevent multi-thread in the same process trying the same lock concurrently.
-     * The reason why we don't make it automatically generated is:
-     * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
-     * This name is so weird that we think it is inappropriate to put it into the api spec
-     * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
-     * we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
-     * 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
-     * So this field in the request shouldn't be removed.
+     * The metadata for user extension.
      * 
* - * string lock_owner = 3; - * @return The bytes for lockOwner. + * map<string, string> metadata = 3; + */ + boolean containsMetadata( + java.lang.String key); + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getMetadata(); + /** + *
+     * The metadata for user extension.
+     * 
+ * + * map<string, string> metadata = 3; + */ + java.util.Map + getMetadataMap(); + /** + *
+     * The metadata for user extension.
+     * 
+ * + * map<string, string> metadata = 3; */ - com.google.protobuf.ByteString - getLockOwnerBytes(); + java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue); /** *
-     * expire is the time before expire.The time unit is second.
+     * The metadata for user extension.
      * 
* - * int32 expire = 4; - * @return The expire. + * map<string, string> metadata = 3; */ - int getExpire(); + + java.lang.String getMetadataOrThrow( + java.lang.String key); } /** - * Protobuf type {@code spec.proto.runtime.v1.TryLockRequest} + * Protobuf type {@code spec.proto.runtime.v1.FileRequest} */ - public static final class TryLockRequest extends + public static final class FileRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.TryLockRequest) - TryLockRequestOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.FileRequest) + FileRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use TryLockRequest.newBuilder() to construct. - private TryLockRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use FileRequest.newBuilder() to construct. + private FileRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private TryLockRequest() { + private FileRequest() { storeName_ = ""; - resourceId_ = ""; - lockOwner_ = ""; + name_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new TryLockRequest(); + return new FileRequest(); } @java.lang.Override @@ -2743,7 +3022,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private TryLockRequest( + private FileRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -2751,6 +3030,7 @@ private TryLockRequest( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -2770,18 +3050,20 @@ private TryLockRequest( case 18: { java.lang.String s = input.readStringRequireUtf8(); - resourceId_ = s; + name_ = s; break; } case 26: { - java.lang.String s = input.readStringRequireUtf8(); - - lockOwner_ = s; - break; - } - case 32: { - - expire_ = input.readInt32(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); + mutable_bitField0_ |= 0x00000001; + } + com.google.protobuf.MapEntry + metadata__ = input.readMessage( + MetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + metadata_.getMutableMap().put( + metadata__.getKey(), metadata__.getValue()); break; } default: { @@ -2805,15 +3087,27 @@ private TryLockRequest( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_FileRequest_descriptor; } + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 3: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_FileRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.TryLockRequest.class, spec.proto.runtime.v1.RuntimeProto.TryLockRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.FileRequest.class, spec.proto.runtime.v1.RuntimeProto.FileRequest.Builder.class); } public static final int STORE_NAME_FIELD_NUMBER = 1; @@ -2854,133 +3148,147 @@ public java.lang.String getStoreName() { } } - public static final int RESOURCE_ID_FIELD_NUMBER = 2; - private volatile java.lang.Object resourceId_; + public static final int NAME_FIELD_NUMBER = 2; + private volatile java.lang.Object name_; /** *
-     * resource_id is the lock key.
+     * The name of the directory
      * 
* - * string resource_id = 2; - * @return The resourceId. + * string name = 2; + * @return The name. */ @java.lang.Override - public java.lang.String getResourceId() { - java.lang.Object ref = resourceId_; + public java.lang.String getName() { + java.lang.Object ref = name_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - resourceId_ = s; + name_ = s; return s; } } /** *
-     * resource_id is the lock key.
+     * The name of the directory
      * 
* - * string resource_id = 2; - * @return The bytes for resourceId. + * string name = 2; + * @return The bytes for name. */ @java.lang.Override public com.google.protobuf.ByteString - getResourceIdBytes() { - java.lang.Object ref = resourceId_; + getNameBytes() { + java.lang.Object ref = name_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - resourceId_ = b; + name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } - public static final int LOCK_OWNER_FIELD_NUMBER = 3; - private volatile java.lang.Object lockOwner_; + public static final int METADATA_FIELD_NUMBER = 3; + private static final class MetadataDefaultEntryHolder { + static final com.google.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_FileRequest_MetadataEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + return metadata_; + } + + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); + } /** *
-     * lock_owner indicate the identifier of lock owner.
-     * This field is required.You can generate a uuid as lock_owner.For example,in golang:
-     * req.LockOwner = uuid.New().String()
-     * This field is per request,not per process,so it is different for each request,
-     * which aims to prevent multi-thread in the same process trying the same lock concurrently.
-     * The reason why we don't make it automatically generated is:
-     * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
-     * This name is so weird that we think it is inappropriate to put it into the api spec
-     * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
-     * we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
-     * 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
-     * So this field in the request shouldn't be removed.
+     * The metadata for user extension.
      * 
* - * string lock_owner = 3; - * @return The lockOwner. + * map<string, string> metadata = 3; */ + @java.lang.Override - public java.lang.String getLockOwner() { - java.lang.Object ref = lockOwner_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - lockOwner_ = s; - return s; - } + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); + } + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); } /** *
-     * lock_owner indicate the identifier of lock owner.
-     * This field is required.You can generate a uuid as lock_owner.For example,in golang:
-     * req.LockOwner = uuid.New().String()
-     * This field is per request,not per process,so it is different for each request,
-     * which aims to prevent multi-thread in the same process trying the same lock concurrently.
-     * The reason why we don't make it automatically generated is:
-     * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
-     * This name is so weird that we think it is inappropriate to put it into the api spec
-     * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
-     * we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
-     * 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
-     * So this field in the request shouldn't be removed.
+     * The metadata for user extension.
      * 
* - * string lock_owner = 3; - * @return The bytes for lockOwner. + * map<string, string> metadata = 3; */ @java.lang.Override - public com.google.protobuf.ByteString - getLockOwnerBytes() { - java.lang.Object ref = lockOwner_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - lockOwner_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); } + /** + *
+     * The metadata for user extension.
+     * 
+ * + * map<string, string> metadata = 3; + */ + @java.lang.Override - public static final int EXPIRE_FIELD_NUMBER = 4; - private int expire_; + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } /** *
-     * expire is the time before expire.The time unit is second.
+     * The metadata for user extension.
      * 
* - * int32 expire = 4; - * @return The expire. + * map<string, string> metadata = 3; */ @java.lang.Override - public int getExpire() { - return expire_; + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); } private byte memoizedIsInitialized = -1; @@ -3000,15 +3308,15 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getStoreNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); } - if (!getResourceIdBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, resourceId_); - } - if (!getLockOwnerBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 3, lockOwner_); - } - if (expire_ != 0) { - output.writeInt32(4, expire_); + if (!getNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_); } + com.google.protobuf.GeneratedMessageV3 + .serializeStringMapTo( + output, + internalGetMetadata(), + MetadataDefaultEntryHolder.defaultEntry, + 3); unknownFields.writeTo(output); } @@ -3021,15 +3329,18 @@ public int getSerializedSize() { if (!getStoreNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); } - if (!getResourceIdBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, resourceId_); - } - if (!getLockOwnerBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, lockOwner_); + if (!getNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_); } - if (expire_ != 0) { - size += com.google.protobuf.CodedOutputStream - .computeInt32Size(4, expire_); + for (java.util.Map.Entry entry + : internalGetMetadata().getMap().entrySet()) { + com.google.protobuf.MapEntry + metadata__ = MetadataDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, metadata__); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -3041,19 +3352,17 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.TryLockRequest)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.FileRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.TryLockRequest other = (spec.proto.runtime.v1.RuntimeProto.TryLockRequest) obj; + spec.proto.runtime.v1.RuntimeProto.FileRequest other = (spec.proto.runtime.v1.RuntimeProto.FileRequest) obj; if (!getStoreName() .equals(other.getStoreName())) return false; - if (!getResourceId() - .equals(other.getResourceId())) return false; - if (!getLockOwner() - .equals(other.getLockOwner())) return false; - if (getExpire() - != other.getExpire()) return false; + if (!getName() + .equals(other.getName())) return false; + if (!internalGetMetadata().equals( + other.internalGetMetadata())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -3067,80 +3376,80 @@ public int hashCode() { hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + STORE_NAME_FIELD_NUMBER; hash = (53 * hash) + getStoreName().hashCode(); - hash = (37 * hash) + RESOURCE_ID_FIELD_NUMBER; - hash = (53 * hash) + getResourceId().hashCode(); - hash = (37 * hash) + LOCK_OWNER_FIELD_NUMBER; - hash = (53 * hash) + getLockOwner().hashCode(); - hash = (37 * hash) + EXPIRE_FIELD_NUMBER; - hash = (53 * hash) + getExpire(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + if (!internalGetMetadata().getMap().isEmpty()) { + hash = (37 * hash) + METADATA_FIELD_NUMBER; + hash = (53 * hash) + internalGetMetadata().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.FileRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.FileRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.FileRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.FileRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.FileRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.FileRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.FileRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.FileRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.FileRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.FileRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.FileRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.FileRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -3153,7 +3462,7 @@ public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.TryLockRequest prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.FileRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -3169,26 +3478,48 @@ protected Builder newBuilderForType( return builder; } /** - * Protobuf type {@code spec.proto.runtime.v1.TryLockRequest} + * Protobuf type {@code spec.proto.runtime.v1.FileRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.TryLockRequest) - spec.proto.runtime.v1.RuntimeProto.TryLockRequestOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.FileRequest) + spec.proto.runtime.v1.RuntimeProto.FileRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_FileRequest_descriptor; } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 3: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMutableMapField( + int number) { + switch (number) { + case 3: + return internalGetMutableMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_FileRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.TryLockRequest.class, spec.proto.runtime.v1.RuntimeProto.TryLockRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.FileRequest.class, spec.proto.runtime.v1.RuntimeProto.FileRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.TryLockRequest.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.FileRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -3208,29 +3539,26 @@ public Builder clear() { super.clear(); storeName_ = ""; - resourceId_ = ""; - - lockOwner_ = ""; - - expire_ = 0; + name_ = ""; + internalGetMutableMetadata().clear(); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_FileRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.TryLockRequest getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.TryLockRequest.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.FileRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.FileRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.TryLockRequest build() { - spec.proto.runtime.v1.RuntimeProto.TryLockRequest result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.FileRequest build() { + spec.proto.runtime.v1.RuntimeProto.FileRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -3238,12 +3566,13 @@ public spec.proto.runtime.v1.RuntimeProto.TryLockRequest build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.TryLockRequest buildPartial() { - spec.proto.runtime.v1.RuntimeProto.TryLockRequest result = new spec.proto.runtime.v1.RuntimeProto.TryLockRequest(this); + public spec.proto.runtime.v1.RuntimeProto.FileRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.FileRequest result = new spec.proto.runtime.v1.RuntimeProto.FileRequest(this); + int from_bitField0_ = bitField0_; result.storeName_ = storeName_; - result.resourceId_ = resourceId_; - result.lockOwner_ = lockOwner_; - result.expire_ = expire_; + result.name_ = name_; + result.metadata_ = internalGetMetadata(); + result.metadata_.makeImmutable(); onBuilt(); return result; } @@ -3282,31 +3611,26 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.TryLockRequest) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.TryLockRequest)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.FileRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.FileRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.TryLockRequest other) { - if (other == spec.proto.runtime.v1.RuntimeProto.TryLockRequest.getDefaultInstance()) return this; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.FileRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.FileRequest.getDefaultInstance()) return this; if (!other.getStoreName().isEmpty()) { storeName_ = other.storeName_; onChanged(); } - if (!other.getResourceId().isEmpty()) { - resourceId_ = other.resourceId_; - onChanged(); - } - if (!other.getLockOwner().isEmpty()) { - lockOwner_ = other.lockOwner_; + if (!other.getName().isEmpty()) { + name_ = other.name_; onChanged(); } - if (other.getExpire() != 0) { - setExpire(other.getExpire()); - } + internalGetMutableMetadata().mergeFrom( + other.internalGetMetadata()); this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -3322,11 +3646,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.TryLockRequest parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.FileRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.TryLockRequest) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.FileRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -3335,6 +3659,7 @@ public Builder mergeFrom( } return this; } + private int bitField0_; private java.lang.Object storeName_ = ""; /** @@ -3412,22 +3737,22 @@ public Builder setStoreNameBytes( return this; } - private java.lang.Object resourceId_ = ""; + private java.lang.Object name_ = ""; /** *
-       * resource_id is the lock key.
+       * The name of the directory
        * 
* - * string resource_id = 2; - * @return The resourceId. + * string name = 2; + * @return The name. */ - public java.lang.String getResourceId() { - java.lang.Object ref = resourceId_; + public java.lang.String getName() { + java.lang.Object ref = name_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - resourceId_ = s; + name_ = s; return s; } else { return (java.lang.String) ref; @@ -3435,20 +3760,20 @@ public java.lang.String getResourceId() { } /** *
-       * resource_id is the lock key.
+       * The name of the directory
        * 
* - * string resource_id = 2; - * @return The bytes for resourceId. + * string name = 2; + * @return The bytes for name. */ public com.google.protobuf.ByteString - getResourceIdBytes() { - java.lang.Object ref = resourceId_; + getNameBytes() { + java.lang.Object ref = name_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - resourceId_ = b; + name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; @@ -3456,249 +3781,211 @@ public java.lang.String getResourceId() { } /** *
-       * resource_id is the lock key.
+       * The name of the directory
        * 
* - * string resource_id = 2; - * @param value The resourceId to set. + * string name = 2; + * @param value The name to set. * @return This builder for chaining. */ - public Builder setResourceId( + public Builder setName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - resourceId_ = value; + name_ = value; onChanged(); return this; } /** *
-       * resource_id is the lock key.
+       * The name of the directory
        * 
* - * string resource_id = 2; + * string name = 2; * @return This builder for chaining. */ - public Builder clearResourceId() { + public Builder clearName() { - resourceId_ = getDefaultInstance().getResourceId(); + name_ = getDefaultInstance().getName(); onChanged(); return this; } /** *
-       * resource_id is the lock key.
+       * The name of the directory
        * 
* - * string resource_id = 2; - * @param value The bytes for resourceId to set. + * string name = 2; + * @param value The bytes for name to set. * @return This builder for chaining. */ - public Builder setResourceIdBytes( + public Builder setNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); - resourceId_ = value; + name_ = value; onChanged(); return this; } - private java.lang.Object lockOwner_ = ""; + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + return metadata_; + } + private com.google.protobuf.MapField + internalGetMutableMetadata() { + onChanged();; + if (metadata_ == null) { + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + if (!metadata_.isMutable()) { + metadata_ = metadata_.copy(); + } + return metadata_; + } + + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); + } /** *
-       * lock_owner indicate the identifier of lock owner.
-       * This field is required.You can generate a uuid as lock_owner.For example,in golang:
-       * req.LockOwner = uuid.New().String()
-       * This field is per request,not per process,so it is different for each request,
-       * which aims to prevent multi-thread in the same process trying the same lock concurrently.
-       * The reason why we don't make it automatically generated is:
-       * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
-       * This name is so weird that we think it is inappropriate to put it into the api spec
-       * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
-       * we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
-       * 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
-       * So this field in the request shouldn't be removed.
+       * The metadata for user extension.
        * 
* - * string lock_owner = 3; - * @return The lockOwner. + * map<string, string> metadata = 3; */ - public java.lang.String getLockOwner() { - java.lang.Object ref = lockOwner_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - lockOwner_ = s; - return s; - } else { - return (java.lang.String) ref; - } + + @java.lang.Override + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); + } + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); } /** *
-       * lock_owner indicate the identifier of lock owner.
-       * This field is required.You can generate a uuid as lock_owner.For example,in golang:
-       * req.LockOwner = uuid.New().String()
-       * This field is per request,not per process,so it is different for each request,
-       * which aims to prevent multi-thread in the same process trying the same lock concurrently.
-       * The reason why we don't make it automatically generated is:
-       * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
-       * This name is so weird that we think it is inappropriate to put it into the api spec
-       * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
-       * we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
-       * 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
-       * So this field in the request shouldn't be removed.
+       * The metadata for user extension.
        * 
* - * string lock_owner = 3; - * @return The bytes for lockOwner. + * map<string, string> metadata = 3; */ - public com.google.protobuf.ByteString - getLockOwnerBytes() { - java.lang.Object ref = lockOwner_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - lockOwner_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + @java.lang.Override + + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); } /** *
-       * lock_owner indicate the identifier of lock owner.
-       * This field is required.You can generate a uuid as lock_owner.For example,in golang:
-       * req.LockOwner = uuid.New().String()
-       * This field is per request,not per process,so it is different for each request,
-       * which aims to prevent multi-thread in the same process trying the same lock concurrently.
-       * The reason why we don't make it automatically generated is:
-       * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
-       * This name is so weird that we think it is inappropriate to put it into the api spec
-       * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
-       * we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
-       * 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
-       * So this field in the request shouldn't be removed.
+       * The metadata for user extension.
        * 
* - * string lock_owner = 3; - * @param value The lockOwner to set. - * @return This builder for chaining. + * map<string, string> metadata = 3; */ - public Builder setLockOwner( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - lockOwner_ = value; - onChanged(); - return this; + @java.lang.Override + + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
-       * lock_owner indicate the identifier of lock owner.
-       * This field is required.You can generate a uuid as lock_owner.For example,in golang:
-       * req.LockOwner = uuid.New().String()
-       * This field is per request,not per process,so it is different for each request,
-       * which aims to prevent multi-thread in the same process trying the same lock concurrently.
-       * The reason why we don't make it automatically generated is:
-       * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
-       * This name is so weird that we think it is inappropriate to put it into the api spec
-       * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
-       * we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
-       * 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
-       * So this field in the request shouldn't be removed.
+       * The metadata for user extension.
        * 
* - * string lock_owner = 3; - * @return This builder for chaining. + * map<string, string> metadata = 3; */ - public Builder clearLockOwner() { - - lockOwner_ = getDefaultInstance().getLockOwner(); - onChanged(); + @java.lang.Override + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public Builder clearMetadata() { + internalGetMutableMetadata().getMutableMap() + .clear(); return this; } /** *
-       * lock_owner indicate the identifier of lock owner.
-       * This field is required.You can generate a uuid as lock_owner.For example,in golang:
-       * req.LockOwner = uuid.New().String()
-       * This field is per request,not per process,so it is different for each request,
-       * which aims to prevent multi-thread in the same process trying the same lock concurrently.
-       * The reason why we don't make it automatically generated is:
-       * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
-       * This name is so weird that we think it is inappropriate to put it into the api spec
-       * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
-       * we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
-       * 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
-       * So this field in the request shouldn't be removed.
+       * The metadata for user extension.
        * 
* - * string lock_owner = 3; - * @param value The bytes for lockOwner to set. - * @return This builder for chaining. + * map<string, string> metadata = 3; */ - public Builder setLockOwnerBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - lockOwner_ = value; - onChanged(); + + public Builder removeMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .remove(key); return this; } - - private int expire_ ; /** - *
-       * expire is the time before expire.The time unit is second.
-       * 
- * - * int32 expire = 4; - * @return The expire. + * Use alternate mutation accessors instead. */ - @java.lang.Override - public int getExpire() { - return expire_; + @java.lang.Deprecated + public java.util.Map + getMutableMetadata() { + return internalGetMutableMetadata().getMutableMap(); } /** *
-       * expire is the time before expire.The time unit is second.
+       * The metadata for user extension.
        * 
* - * int32 expire = 4; - * @param value The expire to set. - * @return This builder for chaining. + * map<string, string> metadata = 3; */ - public Builder setExpire(int value) { - - expire_ = value; - onChanged(); + public Builder putMetadata( + java.lang.String key, + java.lang.String value) { + if (key == null) { throw new java.lang.NullPointerException(); } + if (value == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .put(key, value); return this; } /** *
-       * expire is the time before expire.The time unit is second.
+       * The metadata for user extension.
        * 
* - * int32 expire = 4; - * @return This builder for chaining. + * map<string, string> metadata = 3; */ - public Builder clearExpire() { - - expire_ = 0; - onChanged(); + + public Builder putAllMetadata( + java.util.Map values) { + internalGetMutableMetadata().getMutableMap() + .putAll(values); return this; } @java.lang.Override @@ -3714,76 +4001,85 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.TryLockRequest) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.FileRequest) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.TryLockRequest) - private static final spec.proto.runtime.v1.RuntimeProto.TryLockRequest DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.FileRequest) + private static final spec.proto.runtime.v1.RuntimeProto.FileRequest DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.TryLockRequest(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.FileRequest(); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.FileRequest getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public TryLockRequest parsePartialFrom( + public FileRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new TryLockRequest(input, extensionRegistry); + return new FileRequest(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.TryLockRequest getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.FileRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface TryLockResponseOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.TryLockResponse) + public interface ListFileRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.ListFileRequest) com.google.protobuf.MessageOrBuilder { /** - * bool success = 1; - * @return The success. + * .spec.proto.runtime.v1.FileRequest request = 1; + * @return Whether the request field is set. */ - boolean getSuccess(); + boolean hasRequest(); + /** + * .spec.proto.runtime.v1.FileRequest request = 1; + * @return The request. + */ + spec.proto.runtime.v1.RuntimeProto.FileRequest getRequest(); + /** + * .spec.proto.runtime.v1.FileRequest request = 1; + */ + spec.proto.runtime.v1.RuntimeProto.FileRequestOrBuilder getRequestOrBuilder(); } /** - * Protobuf type {@code spec.proto.runtime.v1.TryLockResponse} + * Protobuf type {@code spec.proto.runtime.v1.ListFileRequest} */ - public static final class TryLockResponse extends + public static final class ListFileRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.TryLockResponse) - TryLockResponseOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.ListFileRequest) + ListFileRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use TryLockResponse.newBuilder() to construct. - private TryLockResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use ListFileRequest.newBuilder() to construct. + private ListFileRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private TryLockResponse() { + private ListFileRequest() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new TryLockResponse(); + return new ListFileRequest(); } @java.lang.Override @@ -3791,7 +4087,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private TryLockResponse( + private ListFileRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -3809,9 +4105,17 @@ private TryLockResponse( case 0: done = true; break; - case 8: { + case 10: { + spec.proto.runtime.v1.RuntimeProto.FileRequest.Builder subBuilder = null; + if (request_ != null) { + subBuilder = request_.toBuilder(); + } + request_ = input.readMessage(spec.proto.runtime.v1.RuntimeProto.FileRequest.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(request_); + request_ = subBuilder.buildPartial(); + } - success_ = input.readBool(); break; } default: { @@ -3835,26 +4139,41 @@ private TryLockResponse( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ListFileRequest_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockResponse_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ListFileRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.TryLockResponse.class, spec.proto.runtime.v1.RuntimeProto.TryLockResponse.Builder.class); + spec.proto.runtime.v1.RuntimeProto.ListFileRequest.class, spec.proto.runtime.v1.RuntimeProto.ListFileRequest.Builder.class); } - public static final int SUCCESS_FIELD_NUMBER = 1; - private boolean success_; + public static final int REQUEST_FIELD_NUMBER = 1; + private spec.proto.runtime.v1.RuntimeProto.FileRequest request_; /** - * bool success = 1; - * @return The success. + * .spec.proto.runtime.v1.FileRequest request = 1; + * @return Whether the request field is set. */ @java.lang.Override - public boolean getSuccess() { - return success_; + public boolean hasRequest() { + return request_ != null; + } + /** + * .spec.proto.runtime.v1.FileRequest request = 1; + * @return The request. + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.FileRequest getRequest() { + return request_ == null ? spec.proto.runtime.v1.RuntimeProto.FileRequest.getDefaultInstance() : request_; + } + /** + * .spec.proto.runtime.v1.FileRequest request = 1; + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.FileRequestOrBuilder getRequestOrBuilder() { + return getRequest(); } private byte memoizedIsInitialized = -1; @@ -3871,8 +4190,8 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (success_ != false) { - output.writeBool(1, success_); + if (request_ != null) { + output.writeMessage(1, getRequest()); } unknownFields.writeTo(output); } @@ -3883,9 +4202,9 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (success_ != false) { + if (request_ != null) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize(1, success_); + .computeMessageSize(1, getRequest()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -3897,13 +4216,16 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.TryLockResponse)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.ListFileRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.TryLockResponse other = (spec.proto.runtime.v1.RuntimeProto.TryLockResponse) obj; + spec.proto.runtime.v1.RuntimeProto.ListFileRequest other = (spec.proto.runtime.v1.RuntimeProto.ListFileRequest) obj; - if (getSuccess() - != other.getSuccess()) return false; + if (hasRequest() != other.hasRequest()) return false; + if (hasRequest()) { + if (!getRequest() + .equals(other.getRequest())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -3915,77 +4237,78 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + SUCCESS_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getSuccess()); + if (hasRequest()) { + hash = (37 * hash) + REQUEST_FIELD_NUMBER; + hash = (53 * hash) + getRequest().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ListFileRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ListFileRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ListFileRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ListFileRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.ListFileRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ListFileRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.ListFileRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ListFileRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.ListFileRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.ListFileRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ListFileRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ListFileRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -3998,7 +4321,7 @@ public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.TryLockResponse prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.ListFileRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -4014,26 +4337,26 @@ protected Builder newBuilderForType( return builder; } /** - * Protobuf type {@code spec.proto.runtime.v1.TryLockResponse} + * Protobuf type {@code spec.proto.runtime.v1.ListFileRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.TryLockResponse) - spec.proto.runtime.v1.RuntimeProto.TryLockResponseOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.ListFileRequest) + spec.proto.runtime.v1.RuntimeProto.ListFileRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ListFileRequest_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockResponse_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ListFileRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.TryLockResponse.class, spec.proto.runtime.v1.RuntimeProto.TryLockResponse.Builder.class); + spec.proto.runtime.v1.RuntimeProto.ListFileRequest.class, spec.proto.runtime.v1.RuntimeProto.ListFileRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.TryLockResponse.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.ListFileRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -4051,25 +4374,29 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - success_ = false; - + if (requestBuilder_ == null) { + request_ = null; + } else { + request_ = null; + requestBuilder_ = null; + } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ListFileRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.TryLockResponse getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.TryLockResponse.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.ListFileRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.ListFileRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.TryLockResponse build() { - spec.proto.runtime.v1.RuntimeProto.TryLockResponse result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.ListFileRequest build() { + spec.proto.runtime.v1.RuntimeProto.ListFileRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -4077,9 +4404,13 @@ public spec.proto.runtime.v1.RuntimeProto.TryLockResponse build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.TryLockResponse buildPartial() { - spec.proto.runtime.v1.RuntimeProto.TryLockResponse result = new spec.proto.runtime.v1.RuntimeProto.TryLockResponse(this); - result.success_ = success_; + public spec.proto.runtime.v1.RuntimeProto.ListFileRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.ListFileRequest result = new spec.proto.runtime.v1.RuntimeProto.ListFileRequest(this); + if (requestBuilder_ == null) { + result.request_ = request_; + } else { + result.request_ = requestBuilder_.build(); + } onBuilt(); return result; } @@ -4118,18 +4449,18 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.TryLockResponse) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.TryLockResponse)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.ListFileRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.ListFileRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.TryLockResponse other) { - if (other == spec.proto.runtime.v1.RuntimeProto.TryLockResponse.getDefaultInstance()) return this; - if (other.getSuccess() != false) { - setSuccess(other.getSuccess()); + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.ListFileRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.ListFileRequest.getDefaultInstance()) return this; + if (other.hasRequest()) { + mergeRequest(other.getRequest()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -4146,11 +4477,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.TryLockResponse parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.ListFileRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.TryLockResponse) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.ListFileRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -4160,35 +4491,123 @@ public Builder mergeFrom( return this; } - private boolean success_ ; + private spec.proto.runtime.v1.RuntimeProto.FileRequest request_; + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.FileRequest, spec.proto.runtime.v1.RuntimeProto.FileRequest.Builder, spec.proto.runtime.v1.RuntimeProto.FileRequestOrBuilder> requestBuilder_; /** - * bool success = 1; - * @return The success. + * .spec.proto.runtime.v1.FileRequest request = 1; + * @return Whether the request field is set. */ - @java.lang.Override - public boolean getSuccess() { - return success_; + public boolean hasRequest() { + return requestBuilder_ != null || request_ != null; } /** - * bool success = 1; - * @param value The success to set. - * @return This builder for chaining. + * .spec.proto.runtime.v1.FileRequest request = 1; + * @return The request. */ - public Builder setSuccess(boolean value) { - - success_ = value; - onChanged(); + public spec.proto.runtime.v1.RuntimeProto.FileRequest getRequest() { + if (requestBuilder_ == null) { + return request_ == null ? spec.proto.runtime.v1.RuntimeProto.FileRequest.getDefaultInstance() : request_; + } else { + return requestBuilder_.getMessage(); + } + } + /** + * .spec.proto.runtime.v1.FileRequest request = 1; + */ + public Builder setRequest(spec.proto.runtime.v1.RuntimeProto.FileRequest value) { + if (requestBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + request_ = value; + onChanged(); + } else { + requestBuilder_.setMessage(value); + } + return this; } /** - * bool success = 1; - * @return This builder for chaining. + * .spec.proto.runtime.v1.FileRequest request = 1; */ - public Builder clearSuccess() { + public Builder setRequest( + spec.proto.runtime.v1.RuntimeProto.FileRequest.Builder builderForValue) { + if (requestBuilder_ == null) { + request_ = builderForValue.build(); + onChanged(); + } else { + requestBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .spec.proto.runtime.v1.FileRequest request = 1; + */ + public Builder mergeRequest(spec.proto.runtime.v1.RuntimeProto.FileRequest value) { + if (requestBuilder_ == null) { + if (request_ != null) { + request_ = + spec.proto.runtime.v1.RuntimeProto.FileRequest.newBuilder(request_).mergeFrom(value).buildPartial(); + } else { + request_ = value; + } + onChanged(); + } else { + requestBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .spec.proto.runtime.v1.FileRequest request = 1; + */ + public Builder clearRequest() { + if (requestBuilder_ == null) { + request_ = null; + onChanged(); + } else { + request_ = null; + requestBuilder_ = null; + } + + return this; + } + /** + * .spec.proto.runtime.v1.FileRequest request = 1; + */ + public spec.proto.runtime.v1.RuntimeProto.FileRequest.Builder getRequestBuilder() { - success_ = false; onChanged(); - return this; + return getRequestFieldBuilder().getBuilder(); + } + /** + * .spec.proto.runtime.v1.FileRequest request = 1; + */ + public spec.proto.runtime.v1.RuntimeProto.FileRequestOrBuilder getRequestOrBuilder() { + if (requestBuilder_ != null) { + return requestBuilder_.getMessageOrBuilder(); + } else { + return request_ == null ? + spec.proto.runtime.v1.RuntimeProto.FileRequest.getDefaultInstance() : request_; + } + } + /** + * .spec.proto.runtime.v1.FileRequest request = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.FileRequest, spec.proto.runtime.v1.RuntimeProto.FileRequest.Builder, spec.proto.runtime.v1.RuntimeProto.FileRequestOrBuilder> + getRequestFieldBuilder() { + if (requestBuilder_ == null) { + requestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.FileRequest, spec.proto.runtime.v1.RuntimeProto.FileRequest.Builder, spec.proto.runtime.v1.RuntimeProto.FileRequestOrBuilder>( + getRequest(), + getParentForChildren(), + isClean()); + request_ = null; + } + return requestBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -4203,117 +4622,96 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.TryLockResponse) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.ListFileRequest) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.TryLockResponse) - private static final spec.proto.runtime.v1.RuntimeProto.TryLockResponse DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.ListFileRequest) + private static final spec.proto.runtime.v1.RuntimeProto.ListFileRequest DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.TryLockResponse(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.ListFileRequest(); } - public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.ListFileRequest getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public TryLockResponse parsePartialFrom( + public ListFileRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new TryLockResponse(input, extensionRegistry); + return new ListFileRequest(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.TryLockResponse getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.ListFileRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface UnlockRequestOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.UnlockRequest) + public interface ListFileRespOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.ListFileResp) com.google.protobuf.MessageOrBuilder { /** - * string store_name = 1; - * @return The storeName. - */ - java.lang.String getStoreName(); - /** - * string store_name = 1; - * @return The bytes for storeName. - */ - com.google.protobuf.ByteString - getStoreNameBytes(); - - /** - *
-     * resource_id is the lock key.
-     * 
- * - * string resource_id = 2; - * @return The resourceId. + * repeated string file_name = 1; + * @return A list containing the fileName. */ - java.lang.String getResourceId(); + java.util.List + getFileNameList(); /** - *
-     * resource_id is the lock key.
-     * 
- * - * string resource_id = 2; - * @return The bytes for resourceId. + * repeated string file_name = 1; + * @return The count of fileName. */ - com.google.protobuf.ByteString - getResourceIdBytes(); - + int getFileNameCount(); /** - * string lock_owner = 3; - * @return The lockOwner. + * repeated string file_name = 1; + * @param index The index of the element to return. + * @return The fileName at the given index. */ - java.lang.String getLockOwner(); + java.lang.String getFileName(int index); /** - * string lock_owner = 3; - * @return The bytes for lockOwner. + * repeated string file_name = 1; + * @param index The index of the value to return. + * @return The bytes of the fileName at the given index. */ com.google.protobuf.ByteString - getLockOwnerBytes(); + getFileNameBytes(int index); } /** - * Protobuf type {@code spec.proto.runtime.v1.UnlockRequest} + * Protobuf type {@code spec.proto.runtime.v1.ListFileResp} */ - public static final class UnlockRequest extends + public static final class ListFileResp extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.UnlockRequest) - UnlockRequestOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.ListFileResp) + ListFileRespOrBuilder { private static final long serialVersionUID = 0L; - // Use UnlockRequest.newBuilder() to construct. - private UnlockRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use ListFileResp.newBuilder() to construct. + private ListFileResp(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private UnlockRequest() { - storeName_ = ""; - resourceId_ = ""; - lockOwner_ = ""; + private ListFileResp() { + fileName_ = com.google.protobuf.LazyStringArrayList.EMPTY; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new UnlockRequest(); + return new ListFileResp(); } @java.lang.Override @@ -4321,7 +4719,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private UnlockRequest( + private ListFileResp( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -4329,6 +4727,7 @@ private UnlockRequest( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -4341,20 +4740,11 @@ private UnlockRequest( break; case 10: { java.lang.String s = input.readStringRequireUtf8(); - - storeName_ = s; - break; - } - case 18: { - java.lang.String s = input.readStringRequireUtf8(); - - resourceId_ = s; - break; - } - case 26: { - java.lang.String s = input.readStringRequireUtf8(); - - lockOwner_ = s; + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + fileName_ = new com.google.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000001; + } + fileName_.add(s); break; } default: { @@ -4372,143 +4762,59 @@ private UnlockRequest( throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + fileName_ = fileName_.getUnmodifiableView(); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ListFileResp_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ListFileResp_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.UnlockRequest.class, spec.proto.runtime.v1.RuntimeProto.UnlockRequest.Builder.class); - } - - public static final int STORE_NAME_FIELD_NUMBER = 1; - private volatile java.lang.Object storeName_; - /** - * string store_name = 1; - * @return The storeName. - */ - @java.lang.Override - public java.lang.String getStoreName() { - java.lang.Object ref = storeName_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - storeName_ = s; - return s; - } - } - /** - * string store_name = 1; - * @return The bytes for storeName. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getStoreNameBytes() { - java.lang.Object ref = storeName_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - storeName_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + spec.proto.runtime.v1.RuntimeProto.ListFileResp.class, spec.proto.runtime.v1.RuntimeProto.ListFileResp.Builder.class); } - public static final int RESOURCE_ID_FIELD_NUMBER = 2; - private volatile java.lang.Object resourceId_; + public static final int FILE_NAME_FIELD_NUMBER = 1; + private com.google.protobuf.LazyStringList fileName_; /** - *
-     * resource_id is the lock key.
-     * 
- * - * string resource_id = 2; - * @return The resourceId. + * repeated string file_name = 1; + * @return A list containing the fileName. */ - @java.lang.Override - public java.lang.String getResourceId() { - java.lang.Object ref = resourceId_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - resourceId_ = s; - return s; - } + public com.google.protobuf.ProtocolStringList + getFileNameList() { + return fileName_; } /** - *
-     * resource_id is the lock key.
-     * 
- * - * string resource_id = 2; - * @return The bytes for resourceId. + * repeated string file_name = 1; + * @return The count of fileName. */ - @java.lang.Override - public com.google.protobuf.ByteString - getResourceIdBytes() { - java.lang.Object ref = resourceId_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - resourceId_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + public int getFileNameCount() { + return fileName_.size(); } - - public static final int LOCK_OWNER_FIELD_NUMBER = 3; - private volatile java.lang.Object lockOwner_; /** - * string lock_owner = 3; - * @return The lockOwner. + * repeated string file_name = 1; + * @param index The index of the element to return. + * @return The fileName at the given index. */ - @java.lang.Override - public java.lang.String getLockOwner() { - java.lang.Object ref = lockOwner_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - lockOwner_ = s; - return s; - } + public java.lang.String getFileName(int index) { + return fileName_.get(index); } /** - * string lock_owner = 3; - * @return The bytes for lockOwner. + * repeated string file_name = 1; + * @param index The index of the value to return. + * @return The bytes of the fileName at the given index. */ - @java.lang.Override public com.google.protobuf.ByteString - getLockOwnerBytes() { - java.lang.Object ref = lockOwner_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - lockOwner_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + getFileNameBytes(int index) { + return fileName_.getByteString(index); } private byte memoizedIsInitialized = -1; @@ -4525,14 +4831,8 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!getStoreNameBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); - } - if (!getResourceIdBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, resourceId_); - } - if (!getLockOwnerBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 3, lockOwner_); + for (int i = 0; i < fileName_.size(); i++) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, fileName_.getRaw(i)); } unknownFields.writeTo(output); } @@ -4543,14 +4843,13 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!getStoreNameBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); - } - if (!getResourceIdBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, resourceId_); - } - if (!getLockOwnerBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, lockOwner_); + { + int dataSize = 0; + for (int i = 0; i < fileName_.size(); i++) { + dataSize += computeStringSizeNoTag(fileName_.getRaw(i)); + } + size += dataSize; + size += 1 * getFileNameList().size(); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -4562,17 +4861,13 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.UnlockRequest)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.ListFileResp)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.UnlockRequest other = (spec.proto.runtime.v1.RuntimeProto.UnlockRequest) obj; + spec.proto.runtime.v1.RuntimeProto.ListFileResp other = (spec.proto.runtime.v1.RuntimeProto.ListFileResp) obj; - if (!getStoreName() - .equals(other.getStoreName())) return false; - if (!getResourceId() - .equals(other.getResourceId())) return false; - if (!getLockOwner() - .equals(other.getLockOwner())) return false; + if (!getFileNameList() + .equals(other.getFileNameList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -4584,80 +4879,78 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + STORE_NAME_FIELD_NUMBER; - hash = (53 * hash) + getStoreName().hashCode(); - hash = (37 * hash) + RESOURCE_ID_FIELD_NUMBER; - hash = (53 * hash) + getResourceId().hashCode(); - hash = (37 * hash) + LOCK_OWNER_FIELD_NUMBER; - hash = (53 * hash) + getLockOwner().hashCode(); + if (getFileNameCount() > 0) { + hash = (37 * hash) + FILE_NAME_FIELD_NUMBER; + hash = (53 * hash) + getFileNameList().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ListFileResp parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ListFileResp parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ListFileResp parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ListFileResp parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.ListFileResp parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ListFileResp parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.ListFileResp parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ListFileResp parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.ListFileResp parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.ListFileResp parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ListFileResp parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ListFileResp parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -4670,7 +4963,7 @@ public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.UnlockRequest prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.ListFileResp prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -4686,26 +4979,26 @@ protected Builder newBuilderForType( return builder; } /** - * Protobuf type {@code spec.proto.runtime.v1.UnlockRequest} + * Protobuf type {@code spec.proto.runtime.v1.ListFileResp} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.UnlockRequest) - spec.proto.runtime.v1.RuntimeProto.UnlockRequestOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.ListFileResp) + spec.proto.runtime.v1.RuntimeProto.ListFileRespOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ListFileResp_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ListFileResp_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.UnlockRequest.class, spec.proto.runtime.v1.RuntimeProto.UnlockRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.ListFileResp.class, spec.proto.runtime.v1.RuntimeProto.ListFileResp.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.UnlockRequest.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.ListFileResp.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -4723,29 +5016,25 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - storeName_ = ""; - - resourceId_ = ""; - - lockOwner_ = ""; - + fileName_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ListFileResp_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.UnlockRequest getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.UnlockRequest.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.ListFileResp getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.ListFileResp.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.UnlockRequest build() { - spec.proto.runtime.v1.RuntimeProto.UnlockRequest result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.ListFileResp build() { + spec.proto.runtime.v1.RuntimeProto.ListFileResp result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -4753,11 +5042,14 @@ public spec.proto.runtime.v1.RuntimeProto.UnlockRequest build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.UnlockRequest buildPartial() { - spec.proto.runtime.v1.RuntimeProto.UnlockRequest result = new spec.proto.runtime.v1.RuntimeProto.UnlockRequest(this); - result.storeName_ = storeName_; - result.resourceId_ = resourceId_; - result.lockOwner_ = lockOwner_; + public spec.proto.runtime.v1.RuntimeProto.ListFileResp buildPartial() { + spec.proto.runtime.v1.RuntimeProto.ListFileResp result = new spec.proto.runtime.v1.RuntimeProto.ListFileResp(this); + int from_bitField0_ = bitField0_; + if (((bitField0_ & 0x00000001) != 0)) { + fileName_ = fileName_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.fileName_ = fileName_; onBuilt(); return result; } @@ -4796,26 +5088,24 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.UnlockRequest) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.UnlockRequest)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.ListFileResp) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.ListFileResp)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.UnlockRequest other) { - if (other == spec.proto.runtime.v1.RuntimeProto.UnlockRequest.getDefaultInstance()) return this; - if (!other.getStoreName().isEmpty()) { - storeName_ = other.storeName_; - onChanged(); - } - if (!other.getResourceId().isEmpty()) { - resourceId_ = other.resourceId_; - onChanged(); - } - if (!other.getLockOwner().isEmpty()) { - lockOwner_ = other.lockOwner_; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.ListFileResp other) { + if (other == spec.proto.runtime.v1.RuntimeProto.ListFileResp.getDefaultInstance()) return this; + if (!other.fileName_.isEmpty()) { + if (fileName_.isEmpty()) { + fileName_ = other.fileName_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureFileNameIsMutable(); + fileName_.addAll(other.fileName_); + } onChanged(); } this.mergeUnknownFields(other.unknownFields); @@ -4833,11 +5123,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.UnlockRequest parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.ListFileResp parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.UnlockRequest) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.ListFileResp) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -4846,258 +5136,121 @@ public Builder mergeFrom( } return this; } + private int bitField0_; - private java.lang.Object storeName_ = ""; + private com.google.protobuf.LazyStringList fileName_ = com.google.protobuf.LazyStringArrayList.EMPTY; + private void ensureFileNameIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + fileName_ = new com.google.protobuf.LazyStringArrayList(fileName_); + bitField0_ |= 0x00000001; + } + } /** - * string store_name = 1; - * @return The storeName. + * repeated string file_name = 1; + * @return A list containing the fileName. */ - public java.lang.String getStoreName() { - java.lang.Object ref = storeName_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - storeName_ = s; - return s; - } else { - return (java.lang.String) ref; - } + public com.google.protobuf.ProtocolStringList + getFileNameList() { + return fileName_.getUnmodifiableView(); } /** - * string store_name = 1; - * @return The bytes for storeName. + * repeated string file_name = 1; + * @return The count of fileName. + */ + public int getFileNameCount() { + return fileName_.size(); + } + /** + * repeated string file_name = 1; + * @param index The index of the element to return. + * @return The fileName at the given index. + */ + public java.lang.String getFileName(int index) { + return fileName_.get(index); + } + /** + * repeated string file_name = 1; + * @param index The index of the value to return. + * @return The bytes of the fileName at the given index. */ public com.google.protobuf.ByteString - getStoreNameBytes() { - java.lang.Object ref = storeName_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - storeName_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + getFileNameBytes(int index) { + return fileName_.getByteString(index); } /** - * string store_name = 1; - * @param value The storeName to set. + * repeated string file_name = 1; + * @param index The index to set the value at. + * @param value The fileName to set. * @return This builder for chaining. */ - public Builder setStoreName( + public Builder setFileName( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureFileNameIsMutable(); + fileName_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string file_name = 1; + * @param value The fileName to add. + * @return This builder for chaining. + */ + public Builder addFileName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - - storeName_ = value; + ensureFileNameIsMutable(); + fileName_.add(value); onChanged(); return this; } /** - * string store_name = 1; + * repeated string file_name = 1; + * @param values The fileName to add. * @return This builder for chaining. */ - public Builder clearStoreName() { - - storeName_ = getDefaultInstance().getStoreName(); + public Builder addAllFileName( + java.lang.Iterable values) { + ensureFileNameIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, fileName_); onChanged(); return this; } /** - * string store_name = 1; - * @param value The bytes for storeName to set. + * repeated string file_name = 1; * @return This builder for chaining. */ - public Builder setStoreNameBytes( + public Builder clearFileName() { + fileName_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * repeated string file_name = 1; + * @param value The bytes of the fileName to add. + * @return This builder for chaining. + */ + public Builder addFileNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); - - storeName_ = value; + ensureFileNameIsMutable(); + fileName_.add(value); onChanged(); return this; - } - - private java.lang.Object resourceId_ = ""; - /** - *
-       * resource_id is the lock key.
-       * 
- * - * string resource_id = 2; - * @return The resourceId. - */ - public java.lang.String getResourceId() { - java.lang.Object ref = resourceId_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - resourceId_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * resource_id is the lock key.
-       * 
- * - * string resource_id = 2; - * @return The bytes for resourceId. - */ - public com.google.protobuf.ByteString - getResourceIdBytes() { - java.lang.Object ref = resourceId_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - resourceId_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * resource_id is the lock key.
-       * 
- * - * string resource_id = 2; - * @param value The resourceId to set. - * @return This builder for chaining. - */ - public Builder setResourceId( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - resourceId_ = value; - onChanged(); - return this; - } - /** - *
-       * resource_id is the lock key.
-       * 
- * - * string resource_id = 2; - * @return This builder for chaining. - */ - public Builder clearResourceId() { - - resourceId_ = getDefaultInstance().getResourceId(); - onChanged(); - return this; - } - /** - *
-       * resource_id is the lock key.
-       * 
- * - * string resource_id = 2; - * @param value The bytes for resourceId to set. - * @return This builder for chaining. - */ - public Builder setResourceIdBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - resourceId_ = value; - onChanged(); - return this; - } - - private java.lang.Object lockOwner_ = ""; - /** - * string lock_owner = 3; - * @return The lockOwner. - */ - public java.lang.String getLockOwner() { - java.lang.Object ref = lockOwner_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - lockOwner_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string lock_owner = 3; - * @return The bytes for lockOwner. - */ - public com.google.protobuf.ByteString - getLockOwnerBytes() { - java.lang.Object ref = lockOwner_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - lockOwner_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string lock_owner = 3; - * @param value The lockOwner to set. - * @return This builder for chaining. - */ - public Builder setLockOwner( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - lockOwner_ = value; - onChanged(); - return this; - } - /** - * string lock_owner = 3; - * @return This builder for chaining. - */ - public Builder clearLockOwner() { - - lockOwner_ = getDefaultInstance().getLockOwner(); - onChanged(); - return this; - } - /** - * string lock_owner = 3; - * @param value The bytes for lockOwner to set. - * @return This builder for chaining. - */ - public Builder setLockOwnerBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - lockOwner_ = value; - onChanged(); - return this; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); } @java.lang.Override @@ -5107,82 +5260,85 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.UnlockRequest) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.ListFileResp) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.UnlockRequest) - private static final spec.proto.runtime.v1.RuntimeProto.UnlockRequest DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.ListFileResp) + private static final spec.proto.runtime.v1.RuntimeProto.ListFileResp DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.UnlockRequest(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.ListFileResp(); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.ListFileResp getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public UnlockRequest parsePartialFrom( + public ListFileResp parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new UnlockRequest(input, extensionRegistry); + return new ListFileResp(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.UnlockRequest getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.ListFileResp getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface UnlockResponseOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.UnlockResponse) + public interface DelFileRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.DelFileRequest) com.google.protobuf.MessageOrBuilder { /** - * .spec.proto.runtime.v1.UnlockResponse.Status status = 1; - * @return The enum numeric value on the wire for status. + * .spec.proto.runtime.v1.FileRequest request = 1; + * @return Whether the request field is set. */ - int getStatusValue(); + boolean hasRequest(); /** - * .spec.proto.runtime.v1.UnlockResponse.Status status = 1; - * @return The status. + * .spec.proto.runtime.v1.FileRequest request = 1; + * @return The request. */ - spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status getStatus(); + spec.proto.runtime.v1.RuntimeProto.FileRequest getRequest(); + /** + * .spec.proto.runtime.v1.FileRequest request = 1; + */ + spec.proto.runtime.v1.RuntimeProto.FileRequestOrBuilder getRequestOrBuilder(); } /** - * Protobuf type {@code spec.proto.runtime.v1.UnlockResponse} + * Protobuf type {@code spec.proto.runtime.v1.DelFileRequest} */ - public static final class UnlockResponse extends + public static final class DelFileRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.UnlockResponse) - UnlockResponseOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.DelFileRequest) + DelFileRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use UnlockResponse.newBuilder() to construct. - private UnlockResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use DelFileRequest.newBuilder() to construct. + private DelFileRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private UnlockResponse() { - status_ = 0; + private DelFileRequest() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new UnlockResponse(); + return new DelFileRequest(); } @java.lang.Override @@ -5190,7 +5346,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private UnlockResponse( + private DelFileRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -5208,10 +5364,17 @@ private UnlockResponse( case 0: done = true; break; - case 8: { - int rawValue = input.readEnum(); + case 10: { + spec.proto.runtime.v1.RuntimeProto.FileRequest.Builder subBuilder = null; + if (request_ != null) { + subBuilder = request_.toBuilder(); + } + request_ = input.readMessage(spec.proto.runtime.v1.RuntimeProto.FileRequest.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(request_); + request_ = subBuilder.buildPartial(); + } - status_ = rawValue; break; } default: { @@ -5235,160 +5398,41 @@ private UnlockResponse( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DelFileRequest_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockResponse_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DelFileRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.UnlockResponse.class, spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Builder.class); + spec.proto.runtime.v1.RuntimeProto.DelFileRequest.class, spec.proto.runtime.v1.RuntimeProto.DelFileRequest.Builder.class); } + public static final int REQUEST_FIELD_NUMBER = 1; + private spec.proto.runtime.v1.RuntimeProto.FileRequest request_; /** - * Protobuf enum {@code spec.proto.runtime.v1.UnlockResponse.Status} + * .spec.proto.runtime.v1.FileRequest request = 1; + * @return Whether the request field is set. */ - public enum Status - implements com.google.protobuf.ProtocolMessageEnum { - /** - * SUCCESS = 0; - */ - SUCCESS(0), - /** - * LOCK_UNEXIST = 1; - */ - LOCK_UNEXIST(1), - /** - * LOCK_BELONG_TO_OTHERS = 2; - */ - LOCK_BELONG_TO_OTHERS(2), - /** - * INTERNAL_ERROR = 3; - */ - INTERNAL_ERROR(3), - UNRECOGNIZED(-1), - ; - - /** - * SUCCESS = 0; - */ - public static final int SUCCESS_VALUE = 0; - /** - * LOCK_UNEXIST = 1; - */ - public static final int LOCK_UNEXIST_VALUE = 1; - /** - * LOCK_BELONG_TO_OTHERS = 2; - */ - public static final int LOCK_BELONG_TO_OTHERS_VALUE = 2; - /** - * INTERNAL_ERROR = 3; - */ - public static final int INTERNAL_ERROR_VALUE = 3; - - - public final int getNumber() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalArgumentException( - "Can't get the number of an unknown enum value."); - } - return value; - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static Status valueOf(int value) { - return forNumber(value); - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - */ - public static Status forNumber(int value) { - switch (value) { - case 0: return SUCCESS; - case 1: return LOCK_UNEXIST; - case 2: return LOCK_BELONG_TO_OTHERS; - case 3: return INTERNAL_ERROR; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - Status> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public Status findValueByNumber(int number) { - return Status.forNumber(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(ordinal()); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.UnlockResponse.getDescriptor().getEnumTypes().get(0); - } - - private static final Status[] VALUES = values(); - - public static Status valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { - if (desc.getType() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); - } - if (desc.getIndex() == -1) { - return UNRECOGNIZED; - } - return VALUES[desc.getIndex()]; - } - - private final int value; - - private Status(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:spec.proto.runtime.v1.UnlockResponse.Status) + @java.lang.Override + public boolean hasRequest() { + return request_ != null; } - - public static final int STATUS_FIELD_NUMBER = 1; - private int status_; /** - * .spec.proto.runtime.v1.UnlockResponse.Status status = 1; - * @return The enum numeric value on the wire for status. + * .spec.proto.runtime.v1.FileRequest request = 1; + * @return The request. */ - @java.lang.Override public int getStatusValue() { - return status_; + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.FileRequest getRequest() { + return request_ == null ? spec.proto.runtime.v1.RuntimeProto.FileRequest.getDefaultInstance() : request_; } /** - * .spec.proto.runtime.v1.UnlockResponse.Status status = 1; - * @return The status. + * .spec.proto.runtime.v1.FileRequest request = 1; */ - @java.lang.Override public spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status getStatus() { - @SuppressWarnings("deprecation") - spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status result = spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status.valueOf(status_); - return result == null ? spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status.UNRECOGNIZED : result; + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.FileRequestOrBuilder getRequestOrBuilder() { + return getRequest(); } private byte memoizedIsInitialized = -1; @@ -5405,8 +5449,8 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (status_ != spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status.SUCCESS.getNumber()) { - output.writeEnum(1, status_); + if (request_ != null) { + output.writeMessage(1, getRequest()); } unknownFields.writeTo(output); } @@ -5417,9 +5461,9 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (status_ != spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status.SUCCESS.getNumber()) { + if (request_ != null) { size += com.google.protobuf.CodedOutputStream - .computeEnumSize(1, status_); + .computeMessageSize(1, getRequest()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -5431,12 +5475,16 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.UnlockResponse)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.DelFileRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.UnlockResponse other = (spec.proto.runtime.v1.RuntimeProto.UnlockResponse) obj; + spec.proto.runtime.v1.RuntimeProto.DelFileRequest other = (spec.proto.runtime.v1.RuntimeProto.DelFileRequest) obj; - if (status_ != other.status_) return false; + if (hasRequest() != other.hasRequest()) return false; + if (hasRequest()) { + if (!getRequest() + .equals(other.getRequest())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -5448,76 +5496,78 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + STATUS_FIELD_NUMBER; - hash = (53 * hash) + status_; + if (hasRequest()) { + hash = (37 * hash) + REQUEST_FIELD_NUMBER; + hash = (53 * hash) + getRequest().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DelFileRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DelFileRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DelFileRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DelFileRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.DelFileRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DelFileRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.DelFileRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DelFileRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.DelFileRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.DelFileRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DelFileRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DelFileRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -5530,7 +5580,7 @@ public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.UnlockResponse prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.DelFileRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -5546,26 +5596,26 @@ protected Builder newBuilderForType( return builder; } /** - * Protobuf type {@code spec.proto.runtime.v1.UnlockResponse} + * Protobuf type {@code spec.proto.runtime.v1.DelFileRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.UnlockResponse) - spec.proto.runtime.v1.RuntimeProto.UnlockResponseOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.DelFileRequest) + spec.proto.runtime.v1.RuntimeProto.DelFileRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DelFileRequest_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockResponse_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DelFileRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.UnlockResponse.class, spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Builder.class); + spec.proto.runtime.v1.RuntimeProto.DelFileRequest.class, spec.proto.runtime.v1.RuntimeProto.DelFileRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.UnlockResponse.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.DelFileRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -5583,25 +5633,29 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - status_ = 0; - + if (requestBuilder_ == null) { + request_ = null; + } else { + request_ = null; + requestBuilder_ = null; + } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DelFileRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.UnlockResponse getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.UnlockResponse.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.DelFileRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.DelFileRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.UnlockResponse build() { - spec.proto.runtime.v1.RuntimeProto.UnlockResponse result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.DelFileRequest build() { + spec.proto.runtime.v1.RuntimeProto.DelFileRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -5609,9 +5663,13 @@ public spec.proto.runtime.v1.RuntimeProto.UnlockResponse build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.UnlockResponse buildPartial() { - spec.proto.runtime.v1.RuntimeProto.UnlockResponse result = new spec.proto.runtime.v1.RuntimeProto.UnlockResponse(this); - result.status_ = status_; + public spec.proto.runtime.v1.RuntimeProto.DelFileRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.DelFileRequest result = new spec.proto.runtime.v1.RuntimeProto.DelFileRequest(this); + if (requestBuilder_ == null) { + result.request_ = request_; + } else { + result.request_ = requestBuilder_.build(); + } onBuilt(); return result; } @@ -5650,18 +5708,18 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.UnlockResponse) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.UnlockResponse)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.DelFileRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.DelFileRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.UnlockResponse other) { - if (other == spec.proto.runtime.v1.RuntimeProto.UnlockResponse.getDefaultInstance()) return this; - if (other.status_ != 0) { - setStatusValue(other.getStatusValue()); + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.DelFileRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.DelFileRequest.getDefaultInstance()) return this; + if (other.hasRequest()) { + mergeRequest(other.getRequest()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -5678,11 +5736,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.UnlockResponse parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.DelFileRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.UnlockResponse) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.DelFileRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -5692,60 +5750,125 @@ public Builder mergeFrom( return this; } - private int status_ = 0; + private spec.proto.runtime.v1.RuntimeProto.FileRequest request_; + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.FileRequest, spec.proto.runtime.v1.RuntimeProto.FileRequest.Builder, spec.proto.runtime.v1.RuntimeProto.FileRequestOrBuilder> requestBuilder_; /** - * .spec.proto.runtime.v1.UnlockResponse.Status status = 1; - * @return The enum numeric value on the wire for status. + * .spec.proto.runtime.v1.FileRequest request = 1; + * @return Whether the request field is set. */ - @java.lang.Override public int getStatusValue() { - return status_; + public boolean hasRequest() { + return requestBuilder_ != null || request_ != null; } /** - * .spec.proto.runtime.v1.UnlockResponse.Status status = 1; - * @param value The enum numeric value on the wire for status to set. - * @return This builder for chaining. + * .spec.proto.runtime.v1.FileRequest request = 1; + * @return The request. */ - public Builder setStatusValue(int value) { - - status_ = value; - onChanged(); + public spec.proto.runtime.v1.RuntimeProto.FileRequest getRequest() { + if (requestBuilder_ == null) { + return request_ == null ? spec.proto.runtime.v1.RuntimeProto.FileRequest.getDefaultInstance() : request_; + } else { + return requestBuilder_.getMessage(); + } + } + /** + * .spec.proto.runtime.v1.FileRequest request = 1; + */ + public Builder setRequest(spec.proto.runtime.v1.RuntimeProto.FileRequest value) { + if (requestBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + request_ = value; + onChanged(); + } else { + requestBuilder_.setMessage(value); + } + return this; } /** - * .spec.proto.runtime.v1.UnlockResponse.Status status = 1; - * @return The status. + * .spec.proto.runtime.v1.FileRequest request = 1; */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status getStatus() { - @SuppressWarnings("deprecation") - spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status result = spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status.valueOf(status_); - return result == null ? spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status.UNRECOGNIZED : result; + public Builder setRequest( + spec.proto.runtime.v1.RuntimeProto.FileRequest.Builder builderForValue) { + if (requestBuilder_ == null) { + request_ = builderForValue.build(); + onChanged(); + } else { + requestBuilder_.setMessage(builderForValue.build()); + } + + return this; } /** - * .spec.proto.runtime.v1.UnlockResponse.Status status = 1; - * @param value The status to set. - * @return This builder for chaining. + * .spec.proto.runtime.v1.FileRequest request = 1; */ - public Builder setStatus(spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status value) { - if (value == null) { - throw new NullPointerException(); + public Builder mergeRequest(spec.proto.runtime.v1.RuntimeProto.FileRequest value) { + if (requestBuilder_ == null) { + if (request_ != null) { + request_ = + spec.proto.runtime.v1.RuntimeProto.FileRequest.newBuilder(request_).mergeFrom(value).buildPartial(); + } else { + request_ = value; + } + onChanged(); + } else { + requestBuilder_.mergeFrom(value); } - - status_ = value.getNumber(); - onChanged(); + return this; } /** - * .spec.proto.runtime.v1.UnlockResponse.Status status = 1; - * @return This builder for chaining. + * .spec.proto.runtime.v1.FileRequest request = 1; */ - public Builder clearStatus() { + public Builder clearRequest() { + if (requestBuilder_ == null) { + request_ = null; + onChanged(); + } else { + request_ = null; + requestBuilder_ = null; + } + + return this; + } + /** + * .spec.proto.runtime.v1.FileRequest request = 1; + */ + public spec.proto.runtime.v1.RuntimeProto.FileRequest.Builder getRequestBuilder() { - status_ = 0; onChanged(); - return this; + return getRequestFieldBuilder().getBuilder(); } - @java.lang.Override + /** + * .spec.proto.runtime.v1.FileRequest request = 1; + */ + public spec.proto.runtime.v1.RuntimeProto.FileRequestOrBuilder getRequestOrBuilder() { + if (requestBuilder_ != null) { + return requestBuilder_.getMessageOrBuilder(); + } else { + return request_ == null ? + spec.proto.runtime.v1.RuntimeProto.FileRequest.getDefaultInstance() : request_; + } + } + /** + * .spec.proto.runtime.v1.FileRequest request = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.FileRequest, spec.proto.runtime.v1.RuntimeProto.FileRequest.Builder, spec.proto.runtime.v1.RuntimeProto.FileRequestOrBuilder> + getRequestFieldBuilder() { + if (requestBuilder_ == null) { + requestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.FileRequest, spec.proto.runtime.v1.RuntimeProto.FileRequest.Builder, spec.proto.runtime.v1.RuntimeProto.FileRequestOrBuilder>( + getRequest(), + getParentForChildren(), + isClean()); + request_ = null; + } + return requestBuilder_; + } + @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); @@ -5758,96 +5881,193 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.UnlockResponse) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.DelFileRequest) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.UnlockResponse) - private static final spec.proto.runtime.v1.RuntimeProto.UnlockResponse DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.DelFileRequest) + private static final spec.proto.runtime.v1.RuntimeProto.DelFileRequest DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.UnlockResponse(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.DelFileRequest(); } - public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.DelFileRequest getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public UnlockResponse parsePartialFrom( + public DelFileRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new UnlockResponse(input, extensionRegistry); + return new DelFileRequest(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.UnlockResponse getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.DelFileRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface SayHelloRequestOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.SayHelloRequest) + public interface GetNextIdRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.GetNextIdRequest) com.google.protobuf.MessageOrBuilder { /** - * string service_name = 1; - * @return The serviceName. + *
+     * Required. Name of sequencer storage
+     * 
+ * + * string store_name = 1; + * @return The storeName. */ - java.lang.String getServiceName(); + java.lang.String getStoreName(); /** - * string service_name = 1; - * @return The bytes for serviceName. + *
+     * Required. Name of sequencer storage
+     * 
+ * + * string store_name = 1; + * @return The bytes for storeName. */ com.google.protobuf.ByteString - getServiceNameBytes(); + getStoreNameBytes(); /** - * string name = 2; - * @return The name. + *
+     * Required. key is the identifier of a sequencer namespace,e.g. "order_table".
+     * 
+ * + * string key = 2; + * @return The key. */ - java.lang.String getName(); + java.lang.String getKey(); /** - * string name = 2; - * @return The bytes for name. + *
+     * Required. key is the identifier of a sequencer namespace,e.g. "order_table".
+     * 
+ * + * string key = 2; + * @return The bytes for key. */ com.google.protobuf.ByteString - getNameBytes(); + getKeyBytes(); + + /** + *
+     * (optional) SequencerOptions configures requirements for auto-increment guarantee
+     * 
+ * + * .spec.proto.runtime.v1.SequencerOptions options = 3; + * @return Whether the options field is set. + */ + boolean hasOptions(); + /** + *
+     * (optional) SequencerOptions configures requirements for auto-increment guarantee
+     * 
+ * + * .spec.proto.runtime.v1.SequencerOptions options = 3; + * @return The options. + */ + spec.proto.runtime.v1.RuntimeProto.SequencerOptions getOptions(); + /** + *
+     * (optional) SequencerOptions configures requirements for auto-increment guarantee
+     * 
+ * + * .spec.proto.runtime.v1.SequencerOptions options = 3; + */ + spec.proto.runtime.v1.RuntimeProto.SequencerOptionsOrBuilder getOptionsOrBuilder(); + + /** + *
+     * (optional) The metadata which will be sent to the component.
+     * 
+ * + * map<string, string> metadata = 4; + */ + int getMetadataCount(); + /** + *
+     * (optional) The metadata which will be sent to the component.
+     * 
+ * + * map<string, string> metadata = 4; + */ + boolean containsMetadata( + java.lang.String key); + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getMetadata(); + /** + *
+     * (optional) The metadata which will be sent to the component.
+     * 
+ * + * map<string, string> metadata = 4; + */ + java.util.Map + getMetadataMap(); + /** + *
+     * (optional) The metadata which will be sent to the component.
+     * 
+ * + * map<string, string> metadata = 4; + */ + + java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue); + /** + *
+     * (optional) The metadata which will be sent to the component.
+     * 
+ * + * map<string, string> metadata = 4; + */ + + java.lang.String getMetadataOrThrow( + java.lang.String key); } /** - * Protobuf type {@code spec.proto.runtime.v1.SayHelloRequest} + * Protobuf type {@code spec.proto.runtime.v1.GetNextIdRequest} */ - public static final class SayHelloRequest extends + public static final class GetNextIdRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.SayHelloRequest) - SayHelloRequestOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.GetNextIdRequest) + GetNextIdRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use SayHelloRequest.newBuilder() to construct. - private SayHelloRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use GetNextIdRequest.newBuilder() to construct. + private GetNextIdRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private SayHelloRequest() { - serviceName_ = ""; - name_ = ""; + private GetNextIdRequest() { + storeName_ = ""; + key_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new SayHelloRequest(); + return new GetNextIdRequest(); } @java.lang.Override @@ -5855,7 +6075,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private SayHelloRequest( + private GetNextIdRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -5863,6 +6083,7 @@ private SayHelloRequest( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -5876,13 +6097,39 @@ private SayHelloRequest( case 10: { java.lang.String s = input.readStringRequireUtf8(); - serviceName_ = s; + storeName_ = s; break; } case 18: { java.lang.String s = input.readStringRequireUtf8(); - name_ = s; + key_ = s; + break; + } + case 26: { + spec.proto.runtime.v1.RuntimeProto.SequencerOptions.Builder subBuilder = null; + if (options_ != null) { + subBuilder = options_.toBuilder(); + } + options_ = input.readMessage(spec.proto.runtime.v1.RuntimeProto.SequencerOptions.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(options_); + options_ = subBuilder.buildPartial(); + } + + break; + } + case 34: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); + mutable_bitField0_ |= 0x00000001; + } + com.google.protobuf.MapEntry + metadata__ = input.readMessage( + MetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + metadata_.getMutableMap().put( + metadata__.getKey(), metadata__.getValue()); break; } default: { @@ -5906,93 +6153,256 @@ private SayHelloRequest( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdRequest_descriptor; } + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 4: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.SayHelloRequest.class, spec.proto.runtime.v1.RuntimeProto.SayHelloRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest.class, spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest.Builder.class); } - public static final int SERVICE_NAME_FIELD_NUMBER = 1; - private volatile java.lang.Object serviceName_; + public static final int STORE_NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object storeName_; /** - * string service_name = 1; - * @return The serviceName. + *
+     * Required. Name of sequencer storage
+     * 
+ * + * string store_name = 1; + * @return The storeName. */ @java.lang.Override - public java.lang.String getServiceName() { - java.lang.Object ref = serviceName_; + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - serviceName_ = s; + storeName_ = s; return s; } } /** - * string service_name = 1; - * @return The bytes for serviceName. + *
+     * Required. Name of sequencer storage
+     * 
+ * + * string store_name = 1; + * @return The bytes for storeName. */ @java.lang.Override public com.google.protobuf.ByteString - getServiceNameBytes() { - java.lang.Object ref = serviceName_; + getStoreNameBytes() { + java.lang.Object ref = storeName_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - serviceName_ = b; + storeName_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } - public static final int NAME_FIELD_NUMBER = 2; - private volatile java.lang.Object name_; + public static final int KEY_FIELD_NUMBER = 2; + private volatile java.lang.Object key_; /** - * string name = 2; - * @return The name. + *
+     * Required. key is the identifier of a sequencer namespace,e.g. "order_table".
+     * 
+ * + * string key = 2; + * @return The key. */ @java.lang.Override - public java.lang.String getName() { - java.lang.Object ref = name_; + public java.lang.String getKey() { + java.lang.Object ref = key_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - name_ = s; + key_ = s; return s; } } /** - * string name = 2; - * @return The bytes for name. + *
+     * Required. key is the identifier of a sequencer namespace,e.g. "order_table".
+     * 
+ * + * string key = 2; + * @return The bytes for key. */ @java.lang.Override public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; + getKeyBytes() { + java.lang.Object ref = key_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - name_ = b; + key_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } + public static final int OPTIONS_FIELD_NUMBER = 3; + private spec.proto.runtime.v1.RuntimeProto.SequencerOptions options_; + /** + *
+     * (optional) SequencerOptions configures requirements for auto-increment guarantee
+     * 
+ * + * .spec.proto.runtime.v1.SequencerOptions options = 3; + * @return Whether the options field is set. + */ + @java.lang.Override + public boolean hasOptions() { + return options_ != null; + } + /** + *
+     * (optional) SequencerOptions configures requirements for auto-increment guarantee
+     * 
+ * + * .spec.proto.runtime.v1.SequencerOptions options = 3; + * @return The options. + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.SequencerOptions getOptions() { + return options_ == null ? spec.proto.runtime.v1.RuntimeProto.SequencerOptions.getDefaultInstance() : options_; + } + /** + *
+     * (optional) SequencerOptions configures requirements for auto-increment guarantee
+     * 
+ * + * .spec.proto.runtime.v1.SequencerOptions options = 3; + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.SequencerOptionsOrBuilder getOptionsOrBuilder() { + return getOptions(); + } + + public static final int METADATA_FIELD_NUMBER = 4; + private static final class MetadataDefaultEntryHolder { + static final com.google.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdRequest_MetadataEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + return metadata_; + } + + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); + } + /** + *
+     * (optional) The metadata which will be sent to the component.
+     * 
+ * + * map<string, string> metadata = 4; + */ + + @java.lang.Override + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); + } + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); + } + /** + *
+     * (optional) The metadata which will be sent to the component.
+     * 
+ * + * map<string, string> metadata = 4; + */ + @java.lang.Override + + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); + } + /** + *
+     * (optional) The metadata which will be sent to the component.
+     * 
+ * + * map<string, string> metadata = 4; + */ + @java.lang.Override + + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+     * (optional) The metadata which will be sent to the component.
+     * 
+ * + * map<string, string> metadata = 4; + */ + @java.lang.Override + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -6007,12 +6417,21 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!getServiceNameBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, serviceName_); + if (!getStoreNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); } - if (!getNameBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_); + if (!getKeyBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, key_); + } + if (options_ != null) { + output.writeMessage(3, getOptions()); } + com.google.protobuf.GeneratedMessageV3 + .serializeStringMapTo( + output, + internalGetMetadata(), + MetadataDefaultEntryHolder.defaultEntry, + 4); unknownFields.writeTo(output); } @@ -6022,11 +6441,25 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!getServiceNameBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, serviceName_); + if (!getStoreNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); } - if (!getNameBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_); + if (!getKeyBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, key_); + } + if (options_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getOptions()); + } + for (java.util.Map.Entry entry + : internalGetMetadata().getMap().entrySet()) { + com.google.protobuf.MapEntry + metadata__ = MetadataDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, metadata__); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -6038,15 +6471,22 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.SayHelloRequest)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.SayHelloRequest other = (spec.proto.runtime.v1.RuntimeProto.SayHelloRequest) obj; + spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest other = (spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest) obj; - if (!getServiceName() - .equals(other.getServiceName())) return false; - if (!getName() - .equals(other.getName())) return false; + if (!getStoreName() + .equals(other.getStoreName())) return false; + if (!getKey() + .equals(other.getKey())) return false; + if (hasOptions() != other.hasOptions()) return false; + if (hasOptions()) { + if (!getOptions() + .equals(other.getOptions())) return false; + } + if (!internalGetMetadata().equals( + other.internalGetMetadata())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -6058,78 +6498,86 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + SERVICE_NAME_FIELD_NUMBER; - hash = (53 * hash) + getServiceName().hashCode(); - hash = (37 * hash) + NAME_FIELD_NUMBER; - hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + STORE_NAME_FIELD_NUMBER; + hash = (53 * hash) + getStoreName().hashCode(); + hash = (37 * hash) + KEY_FIELD_NUMBER; + hash = (53 * hash) + getKey().hashCode(); + if (hasOptions()) { + hash = (37 * hash) + OPTIONS_FIELD_NUMBER; + hash = (53 * hash) + getOptions().hashCode(); + } + if (!internalGetMetadata().getMap().isEmpty()) { + hash = (37 * hash) + METADATA_FIELD_NUMBER; + hash = (53 * hash) + internalGetMetadata().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -6142,7 +6590,7 @@ public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.SayHelloRequest prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -6158,26 +6606,48 @@ protected Builder newBuilderForType( return builder; } /** - * Protobuf type {@code spec.proto.runtime.v1.SayHelloRequest} + * Protobuf type {@code spec.proto.runtime.v1.GetNextIdRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.SayHelloRequest) - spec.proto.runtime.v1.RuntimeProto.SayHelloRequestOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.GetNextIdRequest) + spec.proto.runtime.v1.RuntimeProto.GetNextIdRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdRequest_descriptor; } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 4: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMutableMapField( + int number) { + switch (number) { + case 4: + return internalGetMutableMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.SayHelloRequest.class, spec.proto.runtime.v1.RuntimeProto.SayHelloRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest.class, spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.SayHelloRequest.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -6195,27 +6665,34 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - serviceName_ = ""; + storeName_ = ""; - name_ = ""; + key_ = ""; + if (optionsBuilder_ == null) { + options_ = null; + } else { + options_ = null; + optionsBuilder_ = null; + } + internalGetMutableMetadata().clear(); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SayHelloRequest getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.SayHelloRequest.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SayHelloRequest build() { - spec.proto.runtime.v1.RuntimeProto.SayHelloRequest result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest build() { + spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -6223,10 +6700,18 @@ public spec.proto.runtime.v1.RuntimeProto.SayHelloRequest build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SayHelloRequest buildPartial() { - spec.proto.runtime.v1.RuntimeProto.SayHelloRequest result = new spec.proto.runtime.v1.RuntimeProto.SayHelloRequest(this); - result.serviceName_ = serviceName_; - result.name_ = name_; + public spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest result = new spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest(this); + int from_bitField0_ = bitField0_; + result.storeName_ = storeName_; + result.key_ = key_; + if (optionsBuilder_ == null) { + result.options_ = options_; + } else { + result.options_ = optionsBuilder_.build(); + } + result.metadata_ = internalGetMetadata(); + result.metadata_.makeImmutable(); onBuilt(); return result; } @@ -6265,24 +6750,29 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.SayHelloRequest) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.SayHelloRequest)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.SayHelloRequest other) { - if (other == spec.proto.runtime.v1.RuntimeProto.SayHelloRequest.getDefaultInstance()) return this; - if (!other.getServiceName().isEmpty()) { - serviceName_ = other.serviceName_; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest.getDefaultInstance()) return this; + if (!other.getStoreName().isEmpty()) { + storeName_ = other.storeName_; onChanged(); } - if (!other.getName().isEmpty()) { - name_ = other.name_; + if (!other.getKey().isEmpty()) { + key_ = other.key_; onChanged(); } + if (other.hasOptions()) { + mergeOptions(other.getOptions()); + } + internalGetMutableMetadata().mergeFrom( + other.internalGetMetadata()); this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -6298,11 +6788,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.SayHelloRequest) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -6311,248 +6801,603 @@ public Builder mergeFrom( } return this; } + private int bitField0_; - private java.lang.Object serviceName_ = ""; + private java.lang.Object storeName_ = ""; /** - * string service_name = 1; - * @return The serviceName. + *
+       * Required. Name of sequencer storage
+       * 
+ * + * string store_name = 1; + * @return The storeName. */ - public java.lang.String getServiceName() { - java.lang.Object ref = serviceName_; + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - serviceName_ = s; + storeName_ = s; return s; } else { return (java.lang.String) ref; } } /** - * string service_name = 1; - * @return The bytes for serviceName. + *
+       * Required. Name of sequencer storage
+       * 
+ * + * string store_name = 1; + * @return The bytes for storeName. */ public com.google.protobuf.ByteString - getServiceNameBytes() { - java.lang.Object ref = serviceName_; + getStoreNameBytes() { + java.lang.Object ref = storeName_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - serviceName_ = b; + storeName_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** - * string service_name = 1; - * @param value The serviceName to set. + *
+       * Required. Name of sequencer storage
+       * 
+ * + * string store_name = 1; + * @param value The storeName to set. * @return This builder for chaining. */ - public Builder setServiceName( + public Builder setStoreName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - serviceName_ = value; + storeName_ = value; onChanged(); return this; } /** - * string service_name = 1; + *
+       * Required. Name of sequencer storage
+       * 
+ * + * string store_name = 1; * @return This builder for chaining. */ - public Builder clearServiceName() { + public Builder clearStoreName() { - serviceName_ = getDefaultInstance().getServiceName(); + storeName_ = getDefaultInstance().getStoreName(); onChanged(); return this; } /** - * string service_name = 1; - * @param value The bytes for serviceName to set. + *
+       * Required. Name of sequencer storage
+       * 
+ * + * string store_name = 1; + * @param value The bytes for storeName to set. * @return This builder for chaining. */ - public Builder setServiceNameBytes( + public Builder setStoreNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); - serviceName_ = value; + storeName_ = value; onChanged(); return this; } - private java.lang.Object name_ = ""; + private java.lang.Object key_ = ""; /** - * string name = 2; - * @return The name. + *
+       * Required. key is the identifier of a sequencer namespace,e.g. "order_table".
+       * 
+ * + * string key = 2; + * @return The key. */ - public java.lang.String getName() { - java.lang.Object ref = name_; + public java.lang.String getKey() { + java.lang.Object ref = key_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - name_ = s; + key_ = s; return s; } else { return (java.lang.String) ref; } } /** - * string name = 2; - * @return The bytes for name. + *
+       * Required. key is the identifier of a sequencer namespace,e.g. "order_table".
+       * 
+ * + * string key = 2; + * @return The bytes for key. */ public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; + getKeyBytes() { + java.lang.Object ref = key_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - name_ = b; + key_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** - * string name = 2; - * @param value The name to set. + *
+       * Required. key is the identifier of a sequencer namespace,e.g. "order_table".
+       * 
+ * + * string key = 2; + * @param value The key to set. * @return This builder for chaining. */ - public Builder setName( + public Builder setKey( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - name_ = value; + key_ = value; onChanged(); return this; } /** - * string name = 2; + *
+       * Required. key is the identifier of a sequencer namespace,e.g. "order_table".
+       * 
+ * + * string key = 2; * @return This builder for chaining. */ - public Builder clearName() { + public Builder clearKey() { - name_ = getDefaultInstance().getName(); + key_ = getDefaultInstance().getKey(); onChanged(); return this; } /** - * string name = 2; - * @param value The bytes for name to set. + *
+       * Required. key is the identifier of a sequencer namespace,e.g. "order_table".
+       * 
+ * + * string key = 2; + * @param value The bytes for key to set. * @return This builder for chaining. */ - public Builder setNameBytes( + public Builder setKeyBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); - name_ = value; + key_ = value; onChanged(); return this; } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + + private spec.proto.runtime.v1.RuntimeProto.SequencerOptions options_; + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.SequencerOptions, spec.proto.runtime.v1.RuntimeProto.SequencerOptions.Builder, spec.proto.runtime.v1.RuntimeProto.SequencerOptionsOrBuilder> optionsBuilder_; + /** + *
+       * (optional) SequencerOptions configures requirements for auto-increment guarantee
+       * 
+ * + * .spec.proto.runtime.v1.SequencerOptions options = 3; + * @return Whether the options field is set. + */ + public boolean hasOptions() { + return optionsBuilder_ != null || options_ != null; + } + /** + *
+       * (optional) SequencerOptions configures requirements for auto-increment guarantee
+       * 
+ * + * .spec.proto.runtime.v1.SequencerOptions options = 3; + * @return The options. + */ + public spec.proto.runtime.v1.RuntimeProto.SequencerOptions getOptions() { + if (optionsBuilder_ == null) { + return options_ == null ? spec.proto.runtime.v1.RuntimeProto.SequencerOptions.getDefaultInstance() : options_; + } else { + return optionsBuilder_.getMessage(); + } } + /** + *
+       * (optional) SequencerOptions configures requirements for auto-increment guarantee
+       * 
+ * + * .spec.proto.runtime.v1.SequencerOptions options = 3; + */ + public Builder setOptions(spec.proto.runtime.v1.RuntimeProto.SequencerOptions value) { + if (optionsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + options_ = value; + onChanged(); + } else { + optionsBuilder_.setMessage(value); + } - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); + return this; } + /** + *
+       * (optional) SequencerOptions configures requirements for auto-increment guarantee
+       * 
+ * + * .spec.proto.runtime.v1.SequencerOptions options = 3; + */ + public Builder setOptions( + spec.proto.runtime.v1.RuntimeProto.SequencerOptions.Builder builderForValue) { + if (optionsBuilder_ == null) { + options_ = builderForValue.build(); + onChanged(); + } else { + optionsBuilder_.setMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * (optional) SequencerOptions configures requirements for auto-increment guarantee
+       * 
+ * + * .spec.proto.runtime.v1.SequencerOptions options = 3; + */ + public Builder mergeOptions(spec.proto.runtime.v1.RuntimeProto.SequencerOptions value) { + if (optionsBuilder_ == null) { + if (options_ != null) { + options_ = + spec.proto.runtime.v1.RuntimeProto.SequencerOptions.newBuilder(options_).mergeFrom(value).buildPartial(); + } else { + options_ = value; + } + onChanged(); + } else { + optionsBuilder_.mergeFrom(value); + } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.SayHelloRequest) - } + return this; + } + /** + *
+       * (optional) SequencerOptions configures requirements for auto-increment guarantee
+       * 
+ * + * .spec.proto.runtime.v1.SequencerOptions options = 3; + */ + public Builder clearOptions() { + if (optionsBuilder_ == null) { + options_ = null; + onChanged(); + } else { + options_ = null; + optionsBuilder_ = null; + } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.SayHelloRequest) - private static final spec.proto.runtime.v1.RuntimeProto.SayHelloRequest DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.SayHelloRequest(); - } + return this; + } + /** + *
+       * (optional) SequencerOptions configures requirements for auto-increment guarantee
+       * 
+ * + * .spec.proto.runtime.v1.SequencerOptions options = 3; + */ + public spec.proto.runtime.v1.RuntimeProto.SequencerOptions.Builder getOptionsBuilder() { + + onChanged(); + return getOptionsFieldBuilder().getBuilder(); + } + /** + *
+       * (optional) SequencerOptions configures requirements for auto-increment guarantee
+       * 
+ * + * .spec.proto.runtime.v1.SequencerOptions options = 3; + */ + public spec.proto.runtime.v1.RuntimeProto.SequencerOptionsOrBuilder getOptionsOrBuilder() { + if (optionsBuilder_ != null) { + return optionsBuilder_.getMessageOrBuilder(); + } else { + return options_ == null ? + spec.proto.runtime.v1.RuntimeProto.SequencerOptions.getDefaultInstance() : options_; + } + } + /** + *
+       * (optional) SequencerOptions configures requirements for auto-increment guarantee
+       * 
+ * + * .spec.proto.runtime.v1.SequencerOptions options = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.SequencerOptions, spec.proto.runtime.v1.RuntimeProto.SequencerOptions.Builder, spec.proto.runtime.v1.RuntimeProto.SequencerOptionsOrBuilder> + getOptionsFieldBuilder() { + if (optionsBuilder_ == null) { + optionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.SequencerOptions, spec.proto.runtime.v1.RuntimeProto.SequencerOptions.Builder, spec.proto.runtime.v1.RuntimeProto.SequencerOptionsOrBuilder>( + getOptions(), + getParentForChildren(), + isClean()); + options_ = null; + } + return optionsBuilder_; + } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest getDefaultInstance() { - return DEFAULT_INSTANCE; - } + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + return metadata_; + } + private com.google.protobuf.MapField + internalGetMutableMetadata() { + onChanged();; + if (metadata_ == null) { + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + if (!metadata_.isMutable()) { + metadata_ = metadata_.copy(); + } + return metadata_; + } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public SayHelloRequest parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new SayHelloRequest(input, extensionRegistry); + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); } - }; + /** + *
+       * (optional) The metadata which will be sent to the component.
+       * 
+ * + * map<string, string> metadata = 4; + */ - public static com.google.protobuf.Parser parser() { - return PARSER; - } + @java.lang.Override + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); + } + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); + } + /** + *
+       * (optional) The metadata which will be sent to the component.
+       * 
+ * + * map<string, string> metadata = 4; + */ + @java.lang.Override - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); + } + /** + *
+       * (optional) The metadata which will be sent to the component.
+       * 
+ * + * map<string, string> metadata = 4; + */ + @java.lang.Override - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SayHelloRequest getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+       * (optional) The metadata which will be sent to the component.
+       * 
+ * + * map<string, string> metadata = 4; + */ + @java.lang.Override - } + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } - public interface SayHelloResponseOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.SayHelloResponse) + public Builder clearMetadata() { + internalGetMutableMetadata().getMutableMap() + .clear(); + return this; + } + /** + *
+       * (optional) The metadata which will be sent to the component.
+       * 
+ * + * map<string, string> metadata = 4; + */ + + public Builder removeMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .remove(key); + return this; + } + /** + * Use alternate mutation accessors instead. + */ + @java.lang.Deprecated + public java.util.Map + getMutableMetadata() { + return internalGetMutableMetadata().getMutableMap(); + } + /** + *
+       * (optional) The metadata which will be sent to the component.
+       * 
+ * + * map<string, string> metadata = 4; + */ + public Builder putMetadata( + java.lang.String key, + java.lang.String value) { + if (key == null) { throw new java.lang.NullPointerException(); } + if (value == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .put(key, value); + return this; + } + /** + *
+       * (optional) The metadata which will be sent to the component.
+       * 
+ * + * map<string, string> metadata = 4; + */ + + public Builder putAllMetadata( + java.util.Map values) { + internalGetMutableMetadata().getMutableMap() + .putAll(values); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.GetNextIdRequest) + } + + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.GetNextIdRequest) + private static final spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest(); + } + + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GetNextIdRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new GetNextIdRequest(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.GetNextIdRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SequencerOptionsOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.SequencerOptions) com.google.protobuf.MessageOrBuilder { /** - * string hello = 1; - * @return The hello. + * .spec.proto.runtime.v1.SequencerOptions.AutoIncrement increment = 1; + * @return The enum numeric value on the wire for increment. */ - java.lang.String getHello(); + int getIncrementValue(); /** - * string hello = 1; - * @return The bytes for hello. + * .spec.proto.runtime.v1.SequencerOptions.AutoIncrement increment = 1; + * @return The increment. */ - com.google.protobuf.ByteString - getHelloBytes(); + spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement getIncrement(); } /** - * Protobuf type {@code spec.proto.runtime.v1.SayHelloResponse} + *
+   * SequencerOptions configures requirements for auto-increment guarantee
+   * 
+ * + * Protobuf type {@code spec.proto.runtime.v1.SequencerOptions} */ - public static final class SayHelloResponse extends + public static final class SequencerOptions extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.SayHelloResponse) - SayHelloResponseOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.SequencerOptions) + SequencerOptionsOrBuilder { private static final long serialVersionUID = 0L; - // Use SayHelloResponse.newBuilder() to construct. - private SayHelloResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use SequencerOptions.newBuilder() to construct. + private SequencerOptions(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private SayHelloResponse() { - hello_ = ""; + private SequencerOptions() { + increment_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new SayHelloResponse(); + return new SequencerOptions(); } @java.lang.Override @@ -6560,7 +7405,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private SayHelloResponse( + private SequencerOptions( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -6578,10 +7423,10 @@ private SayHelloResponse( case 0: done = true; break; - case 10: { - java.lang.String s = input.readStringRequireUtf8(); + case 8: { + int rawValue = input.readEnum(); - hello_ = s; + increment_ = rawValue; break; } default: { @@ -6605,53 +7450,166 @@ private SayHelloResponse( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SequencerOptions_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloResponse_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SequencerOptions_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.SayHelloResponse.class, spec.proto.runtime.v1.RuntimeProto.SayHelloResponse.Builder.class); + spec.proto.runtime.v1.RuntimeProto.SequencerOptions.class, spec.proto.runtime.v1.RuntimeProto.SequencerOptions.Builder.class); } - public static final int HELLO_FIELD_NUMBER = 1; - private volatile java.lang.Object hello_; /** - * string hello = 1; - * @return The hello. + *
+     * requirements for auto-increment guarantee
+     * 
+ * + * Protobuf enum {@code spec.proto.runtime.v1.SequencerOptions.AutoIncrement} */ - @java.lang.Override - public java.lang.String getHello() { - java.lang.Object ref = hello_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - hello_ = s; - return s; + public enum AutoIncrement + implements com.google.protobuf.ProtocolMessageEnum { + /** + *
+       * (default) WEAK means a "best effort" incrementing service.But there is no strict guarantee of global monotonically increasing.
+       *The next id is "probably" greater than current id.
+       * 
+ * + * WEAK = 0; + */ + WEAK(0), + /** + *
+       * STRONG means a strict guarantee of global monotonically increasing.
+       *The next id "must" be greater than current id.
+       * 
+ * + * STRONG = 1; + */ + STRONG(1), + UNRECOGNIZED(-1), + ; + + /** + *
+       * (default) WEAK means a "best effort" incrementing service.But there is no strict guarantee of global monotonically increasing.
+       *The next id is "probably" greater than current id.
+       * 
+ * + * WEAK = 0; + */ + public static final int WEAK_VALUE = 0; + /** + *
+       * STRONG means a strict guarantee of global monotonically increasing.
+       *The next id "must" be greater than current id.
+       * 
+ * + * STRONG = 1; + */ + public static final int STRONG_VALUE = 1; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static AutoIncrement valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static AutoIncrement forNumber(int value) { + switch (value) { + case 0: return WEAK; + case 1: return STRONG; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + AutoIncrement> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public AutoIncrement findValueByNumber(int number) { + return AutoIncrement.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.SequencerOptions.getDescriptor().getEnumTypes().get(0); + } + + private static final AutoIncrement[] VALUES = values(); + + public static AutoIncrement valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private AutoIncrement(int value) { + this.value = value; } + + // @@protoc_insertion_point(enum_scope:spec.proto.runtime.v1.SequencerOptions.AutoIncrement) } + + public static final int INCREMENT_FIELD_NUMBER = 1; + private int increment_; /** - * string hello = 1; - * @return The bytes for hello. + * .spec.proto.runtime.v1.SequencerOptions.AutoIncrement increment = 1; + * @return The enum numeric value on the wire for increment. */ - @java.lang.Override - public com.google.protobuf.ByteString - getHelloBytes() { - java.lang.Object ref = hello_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - hello_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + @java.lang.Override public int getIncrementValue() { + return increment_; + } + /** + * .spec.proto.runtime.v1.SequencerOptions.AutoIncrement increment = 1; + * @return The increment. + */ + @java.lang.Override public spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement getIncrement() { + @SuppressWarnings("deprecation") + spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement result = spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement.valueOf(increment_); + return result == null ? spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement.UNRECOGNIZED : result; } private byte memoizedIsInitialized = -1; @@ -6668,8 +7626,8 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!getHelloBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, hello_); + if (increment_ != spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement.WEAK.getNumber()) { + output.writeEnum(1, increment_); } unknownFields.writeTo(output); } @@ -6680,8 +7638,9 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!getHelloBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, hello_); + if (increment_ != spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement.WEAK.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, increment_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -6693,13 +7652,12 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.SayHelloResponse)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.SequencerOptions)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.SayHelloResponse other = (spec.proto.runtime.v1.RuntimeProto.SayHelloResponse) obj; + spec.proto.runtime.v1.RuntimeProto.SequencerOptions other = (spec.proto.runtime.v1.RuntimeProto.SequencerOptions) obj; - if (!getHello() - .equals(other.getHello())) return false; + if (increment_ != other.increment_) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -6711,76 +7669,76 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + HELLO_FIELD_NUMBER; - hash = (53 * hash) + getHello().hashCode(); + hash = (37 * hash) + INCREMENT_FIELD_NUMBER; + hash = (53 * hash) + increment_; hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -6793,7 +7751,7 @@ public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.SayHelloResponse prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.SequencerOptions prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -6809,26 +7767,30 @@ protected Builder newBuilderForType( return builder; } /** - * Protobuf type {@code spec.proto.runtime.v1.SayHelloResponse} + *
+     * SequencerOptions configures requirements for auto-increment guarantee
+     * 
+ * + * Protobuf type {@code spec.proto.runtime.v1.SequencerOptions} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.SayHelloResponse) - spec.proto.runtime.v1.RuntimeProto.SayHelloResponseOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.SequencerOptions) + spec.proto.runtime.v1.RuntimeProto.SequencerOptionsOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SequencerOptions_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloResponse_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SequencerOptions_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.SayHelloResponse.class, spec.proto.runtime.v1.RuntimeProto.SayHelloResponse.Builder.class); + spec.proto.runtime.v1.RuntimeProto.SequencerOptions.class, spec.proto.runtime.v1.RuntimeProto.SequencerOptions.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.SayHelloResponse.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.SequencerOptions.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -6846,7 +7808,7 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - hello_ = ""; + increment_ = 0; return this; } @@ -6854,17 +7816,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SequencerOptions_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SayHelloResponse getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.SayHelloResponse.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.SequencerOptions getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.SequencerOptions.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SayHelloResponse build() { - spec.proto.runtime.v1.RuntimeProto.SayHelloResponse result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.SequencerOptions build() { + spec.proto.runtime.v1.RuntimeProto.SequencerOptions result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -6872,9 +7834,9 @@ public spec.proto.runtime.v1.RuntimeProto.SayHelloResponse build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SayHelloResponse buildPartial() { - spec.proto.runtime.v1.RuntimeProto.SayHelloResponse result = new spec.proto.runtime.v1.RuntimeProto.SayHelloResponse(this); - result.hello_ = hello_; + public spec.proto.runtime.v1.RuntimeProto.SequencerOptions buildPartial() { + spec.proto.runtime.v1.RuntimeProto.SequencerOptions result = new spec.proto.runtime.v1.RuntimeProto.SequencerOptions(this); + result.increment_ = increment_; onBuilt(); return result; } @@ -6913,19 +7875,18 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.SayHelloResponse) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.SayHelloResponse)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.SequencerOptions) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.SequencerOptions)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.SayHelloResponse other) { - if (other == spec.proto.runtime.v1.RuntimeProto.SayHelloResponse.getDefaultInstance()) return this; - if (!other.getHello().isEmpty()) { - hello_ = other.hello_; - onChanged(); + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.SequencerOptions other) { + if (other == spec.proto.runtime.v1.RuntimeProto.SequencerOptions.getDefaultInstance()) return this; + if (other.increment_ != 0) { + setIncrementValue(other.getIncrementValue()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -6942,11 +7903,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.SequencerOptions parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.SayHelloResponse) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.SequencerOptions) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -6956,78 +7917,56 @@ public Builder mergeFrom( return this; } - private java.lang.Object hello_ = ""; + private int increment_ = 0; /** - * string hello = 1; - * @return The hello. + * .spec.proto.runtime.v1.SequencerOptions.AutoIncrement increment = 1; + * @return The enum numeric value on the wire for increment. */ - public java.lang.String getHello() { - java.lang.Object ref = hello_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - hello_ = s; - return s; - } else { - return (java.lang.String) ref; - } + @java.lang.Override public int getIncrementValue() { + return increment_; } /** - * string hello = 1; - * @return The bytes for hello. + * .spec.proto.runtime.v1.SequencerOptions.AutoIncrement increment = 1; + * @param value The enum numeric value on the wire for increment to set. + * @return This builder for chaining. */ - public com.google.protobuf.ByteString - getHelloBytes() { - java.lang.Object ref = hello_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - hello_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + public Builder setIncrementValue(int value) { + + increment_ = value; + onChanged(); + return this; } /** - * string hello = 1; - * @param value The hello to set. + * .spec.proto.runtime.v1.SequencerOptions.AutoIncrement increment = 1; + * @return The increment. + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement getIncrement() { + @SuppressWarnings("deprecation") + spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement result = spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement.valueOf(increment_); + return result == null ? spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement.UNRECOGNIZED : result; + } + /** + * .spec.proto.runtime.v1.SequencerOptions.AutoIncrement increment = 1; + * @param value The increment to set. * @return This builder for chaining. */ - public Builder setHello( - java.lang.String value) { + public Builder setIncrement(spec.proto.runtime.v1.RuntimeProto.SequencerOptions.AutoIncrement value) { if (value == null) { - throw new NullPointerException(); - } - - hello_ = value; + throw new NullPointerException(); + } + + increment_ = value.getNumber(); onChanged(); return this; } /** - * string hello = 1; - * @return This builder for chaining. - */ - public Builder clearHello() { - - hello_ = getDefaultInstance().getHello(); - onChanged(); - return this; - } - /** - * string hello = 1; - * @param value The bytes for hello to set. + * .spec.proto.runtime.v1.SequencerOptions.AutoIncrement increment = 1; * @return This builder for chaining. */ - public Builder setHelloBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); + public Builder clearIncrement() { - hello_ = value; + increment_ = 0; onChanged(); return this; } @@ -7044,98 +7983,80 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.SayHelloResponse) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.SequencerOptions) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.SayHelloResponse) - private static final spec.proto.runtime.v1.RuntimeProto.SayHelloResponse DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.SequencerOptions) + private static final spec.proto.runtime.v1.RuntimeProto.SequencerOptions DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.SayHelloResponse(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.SequencerOptions(); } - public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.SequencerOptions getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public SayHelloResponse parsePartialFrom( + public SequencerOptions parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new SayHelloResponse(input, extensionRegistry); + return new SequencerOptions(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SayHelloResponse getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.SequencerOptions getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface InvokeServiceRequestOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.InvokeServiceRequest) + public interface GetNextIdResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.GetNextIdResponse) com.google.protobuf.MessageOrBuilder { /** - * string id = 1; - * @return The id. - */ - java.lang.String getId(); - /** - * string id = 1; - * @return The bytes for id. - */ - com.google.protobuf.ByteString - getIdBytes(); - - /** - * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; - * @return Whether the message field is set. - */ - boolean hasMessage(); - /** - * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; - * @return The message. - */ - spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest getMessage(); - /** - * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; + *
+     * The next unique id
+     * 
+ * + * int64 next_id = 1; + * @return The nextId. */ - spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequestOrBuilder getMessageOrBuilder(); + long getNextId(); } /** - * Protobuf type {@code spec.proto.runtime.v1.InvokeServiceRequest} + * Protobuf type {@code spec.proto.runtime.v1.GetNextIdResponse} */ - public static final class InvokeServiceRequest extends + public static final class GetNextIdResponse extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.InvokeServiceRequest) - InvokeServiceRequestOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.GetNextIdResponse) + GetNextIdResponseOrBuilder { private static final long serialVersionUID = 0L; - // Use InvokeServiceRequest.newBuilder() to construct. - private InvokeServiceRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use GetNextIdResponse.newBuilder() to construct. + private GetNextIdResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private InvokeServiceRequest() { - id_ = ""; + private GetNextIdResponse() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new InvokeServiceRequest(); + return new GetNextIdResponse(); } @java.lang.Override @@ -7143,7 +8064,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private InvokeServiceRequest( + private GetNextIdResponse( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -7161,23 +8082,9 @@ private InvokeServiceRequest( case 0: done = true; break; - case 10: { - java.lang.String s = input.readStringRequireUtf8(); - - id_ = s; - break; - } - case 26: { - spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.Builder subBuilder = null; - if (message_ != null) { - subBuilder = message_.toBuilder(); - } - message_ = input.readMessage(spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(message_); - message_ = subBuilder.buildPartial(); - } + case 8: { + nextId_ = input.readInt64(); break; } default: { @@ -7201,79 +8108,30 @@ private InvokeServiceRequest( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeServiceRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdResponse_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeServiceRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest.class, spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest.Builder.class); - } - - public static final int ID_FIELD_NUMBER = 1; - private volatile java.lang.Object id_; - /** - * string id = 1; - * @return The id. - */ - @java.lang.Override - public java.lang.String getId() { - java.lang.Object ref = id_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - id_ = s; - return s; - } - } - /** - * string id = 1; - * @return The bytes for id. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getIdBytes() { - java.lang.Object ref = id_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - id_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse.class, spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse.Builder.class); } - public static final int MESSAGE_FIELD_NUMBER = 3; - private spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest message_; - /** - * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; - * @return Whether the message field is set. - */ - @java.lang.Override - public boolean hasMessage() { - return message_ != null; - } - /** - * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; - * @return The message. - */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest getMessage() { - return message_ == null ? spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.getDefaultInstance() : message_; - } + public static final int NEXT_ID_FIELD_NUMBER = 1; + private long nextId_; /** - * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; + *
+     * The next unique id
+     * 
+ * + * int64 next_id = 1; + * @return The nextId. */ @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequestOrBuilder getMessageOrBuilder() { - return getMessage(); + public long getNextId() { + return nextId_; } private byte memoizedIsInitialized = -1; @@ -7290,11 +8148,8 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!getIdBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_); - } - if (message_ != null) { - output.writeMessage(3, getMessage()); + if (nextId_ != 0L) { + output.writeInt64(1, nextId_); } unknownFields.writeTo(output); } @@ -7305,12 +8160,9 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!getIdBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, id_); - } - if (message_ != null) { + if (nextId_ != 0L) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, getMessage()); + .computeInt64Size(1, nextId_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -7322,18 +8174,13 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest other = (spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest) obj; + spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse other = (spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse) obj; - if (!getId() - .equals(other.getId())) return false; - if (hasMessage() != other.hasMessage()) return false; - if (hasMessage()) { - if (!getMessage() - .equals(other.getMessage())) return false; - } + if (getNextId() + != other.getNextId()) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -7345,80 +8192,77 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + ID_FIELD_NUMBER; - hash = (53 * hash) + getId().hashCode(); - if (hasMessage()) { - hash = (37 * hash) + MESSAGE_FIELD_NUMBER; - hash = (53 * hash) + getMessage().hashCode(); - } + hash = (37 * hash) + NEXT_ID_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getNextId()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -7431,7 +8275,7 @@ public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -7447,26 +8291,26 @@ protected Builder newBuilderForType( return builder; } /** - * Protobuf type {@code spec.proto.runtime.v1.InvokeServiceRequest} + * Protobuf type {@code spec.proto.runtime.v1.GetNextIdResponse} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.InvokeServiceRequest) - spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequestOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.GetNextIdResponse) + spec.proto.runtime.v1.RuntimeProto.GetNextIdResponseOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeServiceRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdResponse_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeServiceRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest.class, spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse.class, spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -7484,31 +8328,25 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - id_ = ""; + nextId_ = 0L; - if (messageBuilder_ == null) { - message_ = null; - } else { - message_ = null; - messageBuilder_ = null; - } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeServiceRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetNextIdResponse_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest build() { - spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse build() { + spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -7516,14 +8354,9 @@ public spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest buildPartial() { - spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest result = new spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest(this); - result.id_ = id_; - if (messageBuilder_ == null) { - result.message_ = message_; - } else { - result.message_ = messageBuilder_.build(); - } + public spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse buildPartial() { + spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse result = new spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse(this); + result.nextId_ = nextId_; onBuilt(); return result; } @@ -7562,22 +8395,18 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest other) { - if (other == spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest.getDefaultInstance()) return this; - if (!other.getId().isEmpty()) { - id_ = other.id_; - onChanged(); - } - if (other.hasMessage()) { - mergeMessage(other.getMessage()); + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse other) { + if (other == spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse.getDefaultInstance()) return this; + if (other.getNextId() != 0L) { + setNextId(other.getNextId()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -7594,11 +8423,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -7608,333 +8437,222 @@ public Builder mergeFrom( return this; } - private java.lang.Object id_ = ""; - /** - * string id = 1; - * @return The id. - */ - public java.lang.String getId() { - java.lang.Object ref = id_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - id_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string id = 1; - * @return The bytes for id. - */ - public com.google.protobuf.ByteString - getIdBytes() { - java.lang.Object ref = id_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - id_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } + private long nextId_ ; /** - * string id = 1; - * @param value The id to set. - * @return This builder for chaining. + *
+       * The next unique id
+       * 
+ * + * int64 next_id = 1; + * @return The nextId. */ - public Builder setId( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - id_ = value; - onChanged(); - return this; + @java.lang.Override + public long getNextId() { + return nextId_; } /** - * string id = 1; + *
+       * The next unique id
+       * 
+ * + * int64 next_id = 1; + * @param value The nextId to set. * @return This builder for chaining. */ - public Builder clearId() { + public Builder setNextId(long value) { - id_ = getDefaultInstance().getId(); + nextId_ = value; onChanged(); return this; } /** - * string id = 1; - * @param value The bytes for id to set. + *
+       * The next unique id
+       * 
+ * + * int64 next_id = 1; * @return This builder for chaining. */ - public Builder setIdBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); + public Builder clearNextId() { - id_ = value; + nextId_ = 0L; onChanged(); return this; } - - private spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest message_; - private com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest, spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.Builder, spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequestOrBuilder> messageBuilder_; - /** - * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; - * @return Whether the message field is set. - */ - public boolean hasMessage() { - return messageBuilder_ != null || message_ != null; - } - /** - * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; - * @return The message. - */ - public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest getMessage() { - if (messageBuilder_ == null) { - return message_ == null ? spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.getDefaultInstance() : message_; - } else { - return messageBuilder_.getMessage(); - } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); } - /** - * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; - */ - public Builder setMessage(spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest value) { - if (messageBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - message_ = value; - onChanged(); - } else { - messageBuilder_.setMessage(value); - } - return this; + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); } - /** - * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; - */ - public Builder setMessage( - spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.Builder builderForValue) { - if (messageBuilder_ == null) { - message_ = builderForValue.build(); - onChanged(); - } else { - messageBuilder_.setMessage(builderForValue.build()); - } - return this; - } - /** - * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; - */ - public Builder mergeMessage(spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest value) { - if (messageBuilder_ == null) { - if (message_ != null) { - message_ = - spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.newBuilder(message_).mergeFrom(value).buildPartial(); - } else { - message_ = value; - } - onChanged(); - } else { - messageBuilder_.mergeFrom(value); - } - return this; - } - /** - * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; - */ - public Builder clearMessage() { - if (messageBuilder_ == null) { - message_ = null; - onChanged(); - } else { - message_ = null; - messageBuilder_ = null; - } + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.GetNextIdResponse) + } - return this; - } - /** - * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; - */ - public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.Builder getMessageBuilder() { - - onChanged(); - return getMessageFieldBuilder().getBuilder(); - } - /** - * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; - */ - public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequestOrBuilder getMessageOrBuilder() { - if (messageBuilder_ != null) { - return messageBuilder_.getMessageOrBuilder(); - } else { - return message_ == null ? - spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.getDefaultInstance() : message_; - } - } - /** - * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; - */ - private com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest, spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.Builder, spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequestOrBuilder> - getMessageFieldBuilder() { - if (messageBuilder_ == null) { - messageBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest, spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.Builder, spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequestOrBuilder>( - getMessage(), - getParentForChildren(), - isClean()); - message_ = null; - } - return messageBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.InvokeServiceRequest) - } - - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.InvokeServiceRequest) - private static final spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest(); - } - - public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public InvokeServiceRequest parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new InvokeServiceRequest(input, extensionRegistry); + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.GetNextIdResponse) + private static final spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse(); + } + + public static spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GetNextIdResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new GetNextIdResponse(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.GetNextIdResponse getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface CommonInvokeRequestOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.CommonInvokeRequest) + public interface TryLockRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.TryLockRequest) com.google.protobuf.MessageOrBuilder { /** - * string method = 1; - * @return The method. + *
+     * Required. The lock store name,e.g. `redis`.
+     * 
+ * + * string store_name = 1; + * @return The storeName. */ - java.lang.String getMethod(); + java.lang.String getStoreName(); /** - * string method = 1; - * @return The bytes for method. + *
+     * Required. The lock store name,e.g. `redis`.
+     * 
+ * + * string store_name = 1; + * @return The bytes for storeName. */ com.google.protobuf.ByteString - getMethodBytes(); + getStoreNameBytes(); /** - * .google.protobuf.Any data = 2; - * @return Whether the data field is set. - */ - boolean hasData(); - /** - * .google.protobuf.Any data = 2; - * @return The data. + *
+     * Required. resource_id is the lock key. e.g. `order_id_111`
+     * It stands for "which resource I want to protect"
+     * 
+ * + * string resource_id = 2; + * @return The resourceId. */ - com.google.protobuf.Any getData(); + java.lang.String getResourceId(); /** - * .google.protobuf.Any data = 2; + *
+     * Required. resource_id is the lock key. e.g. `order_id_111`
+     * It stands for "which resource I want to protect"
+     * 
+ * + * string resource_id = 2; + * @return The bytes for resourceId. */ - com.google.protobuf.AnyOrBuilder getDataOrBuilder(); + com.google.protobuf.ByteString + getResourceIdBytes(); /** - * string content_type = 3; - * @return The contentType. + *
+     * Required. lock_owner indicate the identifier of lock owner.
+     * You can generate a uuid as lock_owner.For example,in golang:
+     * req.LockOwner = uuid.New().String()
+     * This field is per request,not per process,so it is different for each request,
+     * which aims to prevent multi-thread in the same process trying the same lock concurrently.
+     * The reason why we don't make it automatically generated is:
+     * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
+     * This name is so weird that we think it is inappropriate to put it into the api spec
+     * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
+     * we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
+     * 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
+     * So this field in the request shouldn't be removed.
+     * 
+ * + * string lock_owner = 3; + * @return The lockOwner. */ - java.lang.String getContentType(); + java.lang.String getLockOwner(); /** - * string content_type = 3; - * @return The bytes for contentType. + *
+     * Required. lock_owner indicate the identifier of lock owner.
+     * You can generate a uuid as lock_owner.For example,in golang:
+     * req.LockOwner = uuid.New().String()
+     * This field is per request,not per process,so it is different for each request,
+     * which aims to prevent multi-thread in the same process trying the same lock concurrently.
+     * The reason why we don't make it automatically generated is:
+     * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
+     * This name is so weird that we think it is inappropriate to put it into the api spec
+     * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
+     * we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
+     * 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
+     * So this field in the request shouldn't be removed.
+     * 
+ * + * string lock_owner = 3; + * @return The bytes for lockOwner. */ com.google.protobuf.ByteString - getContentTypeBytes(); + getLockOwnerBytes(); /** - * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; - * @return Whether the httpExtension field is set. - */ - boolean hasHttpExtension(); - /** - * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; - * @return The httpExtension. - */ - spec.proto.runtime.v1.RuntimeProto.HTTPExtension getHttpExtension(); - /** - * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + *
+     * Required. expire is the time before expire.The time unit is second.
+     * 
+ * + * int32 expire = 4; + * @return The expire. */ - spec.proto.runtime.v1.RuntimeProto.HTTPExtensionOrBuilder getHttpExtensionOrBuilder(); + int getExpire(); } /** - * Protobuf type {@code spec.proto.runtime.v1.CommonInvokeRequest} + * Protobuf type {@code spec.proto.runtime.v1.TryLockRequest} */ - public static final class CommonInvokeRequest extends + public static final class TryLockRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.CommonInvokeRequest) - CommonInvokeRequestOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.TryLockRequest) + TryLockRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use CommonInvokeRequest.newBuilder() to construct. - private CommonInvokeRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use TryLockRequest.newBuilder() to construct. + private TryLockRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private CommonInvokeRequest() { - method_ = ""; - contentType_ = ""; + private TryLockRequest() { + storeName_ = ""; + resourceId_ = ""; + lockOwner_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new CommonInvokeRequest(); + return new TryLockRequest(); } @java.lang.Override @@ -7942,7 +8660,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private CommonInvokeRequest( + private TryLockRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -7963,39 +8681,24 @@ private CommonInvokeRequest( case 10: { java.lang.String s = input.readStringRequireUtf8(); - method_ = s; + storeName_ = s; break; } case 18: { - com.google.protobuf.Any.Builder subBuilder = null; - if (data_ != null) { - subBuilder = data_.toBuilder(); - } - data_ = input.readMessage(com.google.protobuf.Any.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(data_); - data_ = subBuilder.buildPartial(); - } + java.lang.String s = input.readStringRequireUtf8(); + resourceId_ = s; break; } case 26: { java.lang.String s = input.readStringRequireUtf8(); - contentType_ = s; + lockOwner_ = s; break; } - case 34: { - spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Builder subBuilder = null; - if (httpExtension_ != null) { - subBuilder = httpExtension_.toBuilder(); - } - httpExtension_ = input.readMessage(spec.proto.runtime.v1.RuntimeProto.HTTPExtension.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(httpExtension_); - httpExtension_ = subBuilder.buildPartial(); - } + case 32: { + expire_ = input.readInt32(); break; } default: { @@ -8019,143 +8722,192 @@ private CommonInvokeRequest( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_CommonInvokeRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockRequest_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_CommonInvokeRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.class, spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.TryLockRequest.class, spec.proto.runtime.v1.RuntimeProto.TryLockRequest.Builder.class); } - public static final int METHOD_FIELD_NUMBER = 1; - private volatile java.lang.Object method_; + public static final int STORE_NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object storeName_; /** - * string method = 1; - * @return The method. + *
+     * Required. The lock store name,e.g. `redis`.
+     * 
+ * + * string store_name = 1; + * @return The storeName. */ @java.lang.Override - public java.lang.String getMethod() { - java.lang.Object ref = method_; + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - method_ = s; + storeName_ = s; return s; } } /** - * string method = 1; - * @return The bytes for method. + *
+     * Required. The lock store name,e.g. `redis`.
+     * 
+ * + * string store_name = 1; + * @return The bytes for storeName. */ @java.lang.Override public com.google.protobuf.ByteString - getMethodBytes() { - java.lang.Object ref = method_; + getStoreNameBytes() { + java.lang.Object ref = storeName_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - method_ = b; + storeName_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } - public static final int DATA_FIELD_NUMBER = 2; - private com.google.protobuf.Any data_; - /** - * .google.protobuf.Any data = 2; - * @return Whether the data field is set. - */ - @java.lang.Override - public boolean hasData() { - return data_ != null; - } + public static final int RESOURCE_ID_FIELD_NUMBER = 2; + private volatile java.lang.Object resourceId_; /** - * .google.protobuf.Any data = 2; - * @return The data. + *
+     * Required. resource_id is the lock key. e.g. `order_id_111`
+     * It stands for "which resource I want to protect"
+     * 
+ * + * string resource_id = 2; + * @return The resourceId. */ @java.lang.Override - public com.google.protobuf.Any getData() { - return data_ == null ? com.google.protobuf.Any.getDefaultInstance() : data_; + public java.lang.String getResourceId() { + java.lang.Object ref = resourceId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + resourceId_ = s; + return s; + } } /** - * .google.protobuf.Any data = 2; + *
+     * Required. resource_id is the lock key. e.g. `order_id_111`
+     * It stands for "which resource I want to protect"
+     * 
+ * + * string resource_id = 2; + * @return The bytes for resourceId. */ @java.lang.Override - public com.google.protobuf.AnyOrBuilder getDataOrBuilder() { - return getData(); + public com.google.protobuf.ByteString + getResourceIdBytes() { + java.lang.Object ref = resourceId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + resourceId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } - public static final int CONTENT_TYPE_FIELD_NUMBER = 3; - private volatile java.lang.Object contentType_; + public static final int LOCK_OWNER_FIELD_NUMBER = 3; + private volatile java.lang.Object lockOwner_; /** - * string content_type = 3; - * @return The contentType. + *
+     * Required. lock_owner indicate the identifier of lock owner.
+     * You can generate a uuid as lock_owner.For example,in golang:
+     * req.LockOwner = uuid.New().String()
+     * This field is per request,not per process,so it is different for each request,
+     * which aims to prevent multi-thread in the same process trying the same lock concurrently.
+     * The reason why we don't make it automatically generated is:
+     * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
+     * This name is so weird that we think it is inappropriate to put it into the api spec
+     * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
+     * we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
+     * 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
+     * So this field in the request shouldn't be removed.
+     * 
+ * + * string lock_owner = 3; + * @return The lockOwner. */ @java.lang.Override - public java.lang.String getContentType() { - java.lang.Object ref = contentType_; + public java.lang.String getLockOwner() { + java.lang.Object ref = lockOwner_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - contentType_ = s; + lockOwner_ = s; return s; } } /** - * string content_type = 3; - * @return The bytes for contentType. + *
+     * Required. lock_owner indicate the identifier of lock owner.
+     * You can generate a uuid as lock_owner.For example,in golang:
+     * req.LockOwner = uuid.New().String()
+     * This field is per request,not per process,so it is different for each request,
+     * which aims to prevent multi-thread in the same process trying the same lock concurrently.
+     * The reason why we don't make it automatically generated is:
+     * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
+     * This name is so weird that we think it is inappropriate to put it into the api spec
+     * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
+     * we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
+     * 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
+     * So this field in the request shouldn't be removed.
+     * 
+ * + * string lock_owner = 3; + * @return The bytes for lockOwner. */ @java.lang.Override public com.google.protobuf.ByteString - getContentTypeBytes() { - java.lang.Object ref = contentType_; + getLockOwnerBytes() { + java.lang.Object ref = lockOwner_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - contentType_ = b; + lockOwner_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } - public static final int HTTP_EXTENSION_FIELD_NUMBER = 4; - private spec.proto.runtime.v1.RuntimeProto.HTTPExtension httpExtension_; - /** - * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; - * @return Whether the httpExtension field is set. - */ - @java.lang.Override - public boolean hasHttpExtension() { - return httpExtension_ != null; - } - /** - * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; - * @return The httpExtension. - */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.HTTPExtension getHttpExtension() { - return httpExtension_ == null ? spec.proto.runtime.v1.RuntimeProto.HTTPExtension.getDefaultInstance() : httpExtension_; - } + public static final int EXPIRE_FIELD_NUMBER = 4; + private int expire_; /** - * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + *
+     * Required. expire is the time before expire.The time unit is second.
+     * 
+ * + * int32 expire = 4; + * @return The expire. */ @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.HTTPExtensionOrBuilder getHttpExtensionOrBuilder() { - return getHttpExtension(); + public int getExpire() { + return expire_; } private byte memoizedIsInitialized = -1; @@ -8172,17 +8924,17 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!getMethodBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, method_); + if (!getStoreNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); } - if (data_ != null) { - output.writeMessage(2, getData()); + if (!getResourceIdBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, resourceId_); } - if (!getContentTypeBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 3, contentType_); + if (!getLockOwnerBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, lockOwner_); } - if (httpExtension_ != null) { - output.writeMessage(4, getHttpExtension()); + if (expire_ != 0) { + output.writeInt32(4, expire_); } unknownFields.writeTo(output); } @@ -8193,19 +8945,18 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!getMethodBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, method_); + if (!getStoreNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); } - if (data_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getData()); + if (!getResourceIdBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, resourceId_); } - if (!getContentTypeBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, contentType_); + if (!getLockOwnerBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, lockOwner_); } - if (httpExtension_ != null) { + if (expire_ != 0) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(4, getHttpExtension()); + .computeInt32Size(4, expire_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -8217,25 +8968,19 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.TryLockRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest other = (spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest) obj; + spec.proto.runtime.v1.RuntimeProto.TryLockRequest other = (spec.proto.runtime.v1.RuntimeProto.TryLockRequest) obj; - if (!getMethod() - .equals(other.getMethod())) return false; - if (hasData() != other.hasData()) return false; - if (hasData()) { - if (!getData() - .equals(other.getData())) return false; - } - if (!getContentType() - .equals(other.getContentType())) return false; - if (hasHttpExtension() != other.hasHttpExtension()) return false; - if (hasHttpExtension()) { - if (!getHttpExtension() - .equals(other.getHttpExtension())) return false; - } + if (!getStoreName() + .equals(other.getStoreName())) return false; + if (!getResourceId() + .equals(other.getResourceId())) return false; + if (!getLockOwner() + .equals(other.getLockOwner())) return false; + if (getExpire() + != other.getExpire()) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -8247,86 +8992,82 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + METHOD_FIELD_NUMBER; - hash = (53 * hash) + getMethod().hashCode(); - if (hasData()) { - hash = (37 * hash) + DATA_FIELD_NUMBER; - hash = (53 * hash) + getData().hashCode(); - } - hash = (37 * hash) + CONTENT_TYPE_FIELD_NUMBER; - hash = (53 * hash) + getContentType().hashCode(); - if (hasHttpExtension()) { - hash = (37 * hash) + HTTP_EXTENSION_FIELD_NUMBER; - hash = (53 * hash) + getHttpExtension().hashCode(); - } + hash = (37 * hash) + STORE_NAME_FIELD_NUMBER; + hash = (53 * hash) + getStoreName().hashCode(); + hash = (37 * hash) + RESOURCE_ID_FIELD_NUMBER; + hash = (53 * hash) + getResourceId().hashCode(); + hash = (37 * hash) + LOCK_OWNER_FIELD_NUMBER; + hash = (53 * hash) + getLockOwner().hashCode(); + hash = (37 * hash) + EXPIRE_FIELD_NUMBER; + hash = (53 * hash) + getExpire(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -8339,7 +9080,7 @@ public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.TryLockRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -8355,26 +9096,26 @@ protected Builder newBuilderForType( return builder; } /** - * Protobuf type {@code spec.proto.runtime.v1.CommonInvokeRequest} + * Protobuf type {@code spec.proto.runtime.v1.TryLockRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.CommonInvokeRequest) - spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequestOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.TryLockRequest) + spec.proto.runtime.v1.RuntimeProto.TryLockRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_CommonInvokeRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockRequest_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_CommonInvokeRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.class, spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.TryLockRequest.class, spec.proto.runtime.v1.RuntimeProto.TryLockRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.TryLockRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -8392,39 +9133,31 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - method_ = ""; + storeName_ = ""; - if (dataBuilder_ == null) { - data_ = null; - } else { - data_ = null; - dataBuilder_ = null; - } - contentType_ = ""; + resourceId_ = ""; + + lockOwner_ = ""; + + expire_ = 0; - if (httpExtensionBuilder_ == null) { - httpExtension_ = null; - } else { - httpExtension_ = null; - httpExtensionBuilder_ = null; - } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_CommonInvokeRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.TryLockRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.TryLockRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest build() { - spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.TryLockRequest build() { + spec.proto.runtime.v1.RuntimeProto.TryLockRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -8432,20 +9165,12 @@ public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest buildPartial() { - spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest result = new spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest(this); - result.method_ = method_; - if (dataBuilder_ == null) { - result.data_ = data_; - } else { - result.data_ = dataBuilder_.build(); - } - result.contentType_ = contentType_; - if (httpExtensionBuilder_ == null) { - result.httpExtension_ = httpExtension_; - } else { - result.httpExtension_ = httpExtensionBuilder_.build(); - } + public spec.proto.runtime.v1.RuntimeProto.TryLockRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.TryLockRequest result = new spec.proto.runtime.v1.RuntimeProto.TryLockRequest(this); + result.storeName_ = storeName_; + result.resourceId_ = resourceId_; + result.lockOwner_ = lockOwner_; + result.expire_ = expire_; onBuilt(); return result; } @@ -8484,29 +9209,30 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.TryLockRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.TryLockRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest other) { - if (other == spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.getDefaultInstance()) return this; - if (!other.getMethod().isEmpty()) { - method_ = other.method_; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.TryLockRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.TryLockRequest.getDefaultInstance()) return this; + if (!other.getStoreName().isEmpty()) { + storeName_ = other.storeName_; onChanged(); } - if (other.hasData()) { - mergeData(other.getData()); + if (!other.getResourceId().isEmpty()) { + resourceId_ = other.resourceId_; + onChanged(); } - if (!other.getContentType().isEmpty()) { - contentType_ = other.contentType_; + if (!other.getLockOwner().isEmpty()) { + lockOwner_ = other.lockOwner_; onChanged(); } - if (other.hasHttpExtension()) { - mergeHttpExtension(other.getHttpExtension()); + if (other.getExpire() != 0) { + setExpire(other.getExpire()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -8523,11 +9249,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.TryLockRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.TryLockRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -8537,497 +9263,479 @@ public Builder mergeFrom( return this; } - private java.lang.Object method_ = ""; + private java.lang.Object storeName_ = ""; /** - * string method = 1; - * @return The method. + *
+       * Required. The lock store name,e.g. `redis`.
+       * 
+ * + * string store_name = 1; + * @return The storeName. */ - public java.lang.String getMethod() { - java.lang.Object ref = method_; + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - method_ = s; + storeName_ = s; return s; } else { return (java.lang.String) ref; } } /** - * string method = 1; - * @return The bytes for method. + *
+       * Required. The lock store name,e.g. `redis`.
+       * 
+ * + * string store_name = 1; + * @return The bytes for storeName. */ public com.google.protobuf.ByteString - getMethodBytes() { - java.lang.Object ref = method_; + getStoreNameBytes() { + java.lang.Object ref = storeName_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - method_ = b; + storeName_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** - * string method = 1; - * @param value The method to set. + *
+       * Required. The lock store name,e.g. `redis`.
+       * 
+ * + * string store_name = 1; + * @param value The storeName to set. * @return This builder for chaining. */ - public Builder setMethod( + public Builder setStoreName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - method_ = value; + storeName_ = value; onChanged(); return this; } /** - * string method = 1; + *
+       * Required. The lock store name,e.g. `redis`.
+       * 
+ * + * string store_name = 1; * @return This builder for chaining. */ - public Builder clearMethod() { + public Builder clearStoreName() { - method_ = getDefaultInstance().getMethod(); + storeName_ = getDefaultInstance().getStoreName(); onChanged(); return this; } /** - * string method = 1; - * @param value The bytes for method to set. + *
+       * Required. The lock store name,e.g. `redis`.
+       * 
+ * + * string store_name = 1; + * @param value The bytes for storeName to set. * @return This builder for chaining. */ - public Builder setMethodBytes( + public Builder setStoreNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); - method_ = value; + storeName_ = value; onChanged(); return this; } - private com.google.protobuf.Any data_; - private com.google.protobuf.SingleFieldBuilderV3< - com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> dataBuilder_; - /** - * .google.protobuf.Any data = 2; - * @return Whether the data field is set. - */ - public boolean hasData() { - return dataBuilder_ != null || data_ != null; - } - /** - * .google.protobuf.Any data = 2; - * @return The data. - */ - public com.google.protobuf.Any getData() { - if (dataBuilder_ == null) { - return data_ == null ? com.google.protobuf.Any.getDefaultInstance() : data_; - } else { - return dataBuilder_.getMessage(); - } - } + private java.lang.Object resourceId_ = ""; /** - * .google.protobuf.Any data = 2; + *
+       * Required. resource_id is the lock key. e.g. `order_id_111`
+       * It stands for "which resource I want to protect"
+       * 
+ * + * string resource_id = 2; + * @return The resourceId. */ - public Builder setData(com.google.protobuf.Any value) { - if (dataBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - data_ = value; - onChanged(); + public java.lang.String getResourceId() { + java.lang.Object ref = resourceId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + resourceId_ = s; + return s; } else { - dataBuilder_.setMessage(value); + return (java.lang.String) ref; } - - return this; } /** - * .google.protobuf.Any data = 2; + *
+       * Required. resource_id is the lock key. e.g. `order_id_111`
+       * It stands for "which resource I want to protect"
+       * 
+ * + * string resource_id = 2; + * @return The bytes for resourceId. */ - public Builder setData( - com.google.protobuf.Any.Builder builderForValue) { - if (dataBuilder_ == null) { - data_ = builderForValue.build(); - onChanged(); + public com.google.protobuf.ByteString + getResourceIdBytes() { + java.lang.Object ref = resourceId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + resourceId_ = b; + return b; } else { - dataBuilder_.setMessage(builderForValue.build()); + return (com.google.protobuf.ByteString) ref; } - - return this; } /** - * .google.protobuf.Any data = 2; + *
+       * Required. resource_id is the lock key. e.g. `order_id_111`
+       * It stands for "which resource I want to protect"
+       * 
+ * + * string resource_id = 2; + * @param value The resourceId to set. + * @return This builder for chaining. */ - public Builder mergeData(com.google.protobuf.Any value) { - if (dataBuilder_ == null) { - if (data_ != null) { - data_ = - com.google.protobuf.Any.newBuilder(data_).mergeFrom(value).buildPartial(); - } else { - data_ = value; - } - onChanged(); - } else { - dataBuilder_.mergeFrom(value); - } - + public Builder setResourceId( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + resourceId_ = value; + onChanged(); return this; } /** - * .google.protobuf.Any data = 2; + *
+       * Required. resource_id is the lock key. e.g. `order_id_111`
+       * It stands for "which resource I want to protect"
+       * 
+ * + * string resource_id = 2; + * @return This builder for chaining. */ - public Builder clearData() { - if (dataBuilder_ == null) { - data_ = null; - onChanged(); - } else { - data_ = null; - dataBuilder_ = null; - } - + public Builder clearResourceId() { + + resourceId_ = getDefaultInstance().getResourceId(); + onChanged(); return this; } /** - * .google.protobuf.Any data = 2; + *
+       * Required. resource_id is the lock key. e.g. `order_id_111`
+       * It stands for "which resource I want to protect"
+       * 
+ * + * string resource_id = 2; + * @param value The bytes for resourceId to set. + * @return This builder for chaining. */ - public com.google.protobuf.Any.Builder getDataBuilder() { + public Builder setResourceIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + resourceId_ = value; onChanged(); - return getDataFieldBuilder().getBuilder(); - } - /** - * .google.protobuf.Any data = 2; - */ - public com.google.protobuf.AnyOrBuilder getDataOrBuilder() { - if (dataBuilder_ != null) { - return dataBuilder_.getMessageOrBuilder(); - } else { - return data_ == null ? - com.google.protobuf.Any.getDefaultInstance() : data_; - } - } - /** - * .google.protobuf.Any data = 2; - */ - private com.google.protobuf.SingleFieldBuilderV3< - com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> - getDataFieldBuilder() { - if (dataBuilder_ == null) { - dataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>( - getData(), - getParentForChildren(), - isClean()); - data_ = null; - } - return dataBuilder_; + return this; } - private java.lang.Object contentType_ = ""; + private java.lang.Object lockOwner_ = ""; /** - * string content_type = 3; - * @return The contentType. + *
+       * Required. lock_owner indicate the identifier of lock owner.
+       * You can generate a uuid as lock_owner.For example,in golang:
+       * req.LockOwner = uuid.New().String()
+       * This field is per request,not per process,so it is different for each request,
+       * which aims to prevent multi-thread in the same process trying the same lock concurrently.
+       * The reason why we don't make it automatically generated is:
+       * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
+       * This name is so weird that we think it is inappropriate to put it into the api spec
+       * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
+       * we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
+       * 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
+       * So this field in the request shouldn't be removed.
+       * 
+ * + * string lock_owner = 3; + * @return The lockOwner. */ - public java.lang.String getContentType() { - java.lang.Object ref = contentType_; + public java.lang.String getLockOwner() { + java.lang.Object ref = lockOwner_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - contentType_ = s; + lockOwner_ = s; return s; } else { return (java.lang.String) ref; } } /** - * string content_type = 3; - * @return The bytes for contentType. + *
+       * Required. lock_owner indicate the identifier of lock owner.
+       * You can generate a uuid as lock_owner.For example,in golang:
+       * req.LockOwner = uuid.New().String()
+       * This field is per request,not per process,so it is different for each request,
+       * which aims to prevent multi-thread in the same process trying the same lock concurrently.
+       * The reason why we don't make it automatically generated is:
+       * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
+       * This name is so weird that we think it is inappropriate to put it into the api spec
+       * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
+       * we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
+       * 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
+       * So this field in the request shouldn't be removed.
+       * 
+ * + * string lock_owner = 3; + * @return The bytes for lockOwner. */ public com.google.protobuf.ByteString - getContentTypeBytes() { - java.lang.Object ref = contentType_; + getLockOwnerBytes() { + java.lang.Object ref = lockOwner_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - contentType_ = b; + lockOwner_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** - * string content_type = 3; - * @param value The contentType to set. + *
+       * Required. lock_owner indicate the identifier of lock owner.
+       * You can generate a uuid as lock_owner.For example,in golang:
+       * req.LockOwner = uuid.New().String()
+       * This field is per request,not per process,so it is different for each request,
+       * which aims to prevent multi-thread in the same process trying the same lock concurrently.
+       * The reason why we don't make it automatically generated is:
+       * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
+       * This name is so weird that we think it is inappropriate to put it into the api spec
+       * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
+       * we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
+       * 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
+       * So this field in the request shouldn't be removed.
+       * 
+ * + * string lock_owner = 3; + * @param value The lockOwner to set. * @return This builder for chaining. */ - public Builder setContentType( + public Builder setLockOwner( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - contentType_ = value; + lockOwner_ = value; onChanged(); return this; } /** - * string content_type = 3; + *
+       * Required. lock_owner indicate the identifier of lock owner.
+       * You can generate a uuid as lock_owner.For example,in golang:
+       * req.LockOwner = uuid.New().String()
+       * This field is per request,not per process,so it is different for each request,
+       * which aims to prevent multi-thread in the same process trying the same lock concurrently.
+       * The reason why we don't make it automatically generated is:
+       * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
+       * This name is so weird that we think it is inappropriate to put it into the api spec
+       * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
+       * we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
+       * 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
+       * So this field in the request shouldn't be removed.
+       * 
+ * + * string lock_owner = 3; * @return This builder for chaining. */ - public Builder clearContentType() { + public Builder clearLockOwner() { - contentType_ = getDefaultInstance().getContentType(); + lockOwner_ = getDefaultInstance().getLockOwner(); onChanged(); return this; } /** - * string content_type = 3; - * @param value The bytes for contentType to set. + *
+       * Required. lock_owner indicate the identifier of lock owner.
+       * You can generate a uuid as lock_owner.For example,in golang:
+       * req.LockOwner = uuid.New().String()
+       * This field is per request,not per process,so it is different for each request,
+       * which aims to prevent multi-thread in the same process trying the same lock concurrently.
+       * The reason why we don't make it automatically generated is:
+       * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response.
+       * This name is so weird that we think it is inappropriate to put it into the api spec
+       * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner',which means the current lock owner of this lock,
+       * we find that in some lock services users can't get the current lock owner.Actually users don't need it at all.
+       * 3. When reentrant lock is needed,the existing lock_owner is required to identify client and check "whether this client can reenter this lock".
+       * So this field in the request shouldn't be removed.
+       * 
+ * + * string lock_owner = 3; + * @param value The bytes for lockOwner to set. * @return This builder for chaining. */ - public Builder setContentTypeBytes( + public Builder setLockOwnerBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); - contentType_ = value; + lockOwner_ = value; onChanged(); return this; } - private spec.proto.runtime.v1.RuntimeProto.HTTPExtension httpExtension_; - private com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.HTTPExtension, spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Builder, spec.proto.runtime.v1.RuntimeProto.HTTPExtensionOrBuilder> httpExtensionBuilder_; - /** - * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; - * @return Whether the httpExtension field is set. - */ - public boolean hasHttpExtension() { - return httpExtensionBuilder_ != null || httpExtension_ != null; - } + private int expire_ ; /** - * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; - * @return The httpExtension. + *
+       * Required. expire is the time before expire.The time unit is second.
+       * 
+ * + * int32 expire = 4; + * @return The expire. */ - public spec.proto.runtime.v1.RuntimeProto.HTTPExtension getHttpExtension() { - if (httpExtensionBuilder_ == null) { - return httpExtension_ == null ? spec.proto.runtime.v1.RuntimeProto.HTTPExtension.getDefaultInstance() : httpExtension_; - } else { - return httpExtensionBuilder_.getMessage(); - } + @java.lang.Override + public int getExpire() { + return expire_; } /** - * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + *
+       * Required. expire is the time before expire.The time unit is second.
+       * 
+ * + * int32 expire = 4; + * @param value The expire to set. + * @return This builder for chaining. */ - public Builder setHttpExtension(spec.proto.runtime.v1.RuntimeProto.HTTPExtension value) { - if (httpExtensionBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - httpExtension_ = value; - onChanged(); - } else { - httpExtensionBuilder_.setMessage(value); - } - + public Builder setExpire(int value) { + + expire_ = value; + onChanged(); return this; } /** - * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + *
+       * Required. expire is the time before expire.The time unit is second.
+       * 
+ * + * int32 expire = 4; + * @return This builder for chaining. */ - public Builder setHttpExtension( - spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Builder builderForValue) { - if (httpExtensionBuilder_ == null) { - httpExtension_ = builderForValue.build(); - onChanged(); - } else { - httpExtensionBuilder_.setMessage(builderForValue.build()); - } - + public Builder clearExpire() { + + expire_ = 0; + onChanged(); return this; } - /** - * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; - */ - public Builder mergeHttpExtension(spec.proto.runtime.v1.RuntimeProto.HTTPExtension value) { - if (httpExtensionBuilder_ == null) { - if (httpExtension_ != null) { - httpExtension_ = - spec.proto.runtime.v1.RuntimeProto.HTTPExtension.newBuilder(httpExtension_).mergeFrom(value).buildPartial(); - } else { - httpExtension_ = value; - } - onChanged(); - } else { - httpExtensionBuilder_.mergeFrom(value); - } - - return this; + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); } - /** - * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; - */ - public Builder clearHttpExtension() { - if (httpExtensionBuilder_ == null) { - httpExtension_ = null; - onChanged(); - } else { - httpExtension_ = null; - httpExtensionBuilder_ = null; - } - return this; - } - /** - * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; - */ - public spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Builder getHttpExtensionBuilder() { - - onChanged(); - return getHttpExtensionFieldBuilder().getBuilder(); - } - /** - * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; - */ - public spec.proto.runtime.v1.RuntimeProto.HTTPExtensionOrBuilder getHttpExtensionOrBuilder() { - if (httpExtensionBuilder_ != null) { - return httpExtensionBuilder_.getMessageOrBuilder(); - } else { - return httpExtension_ == null ? - spec.proto.runtime.v1.RuntimeProto.HTTPExtension.getDefaultInstance() : httpExtension_; - } - } - /** - * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; - */ - private com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.HTTPExtension, spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Builder, spec.proto.runtime.v1.RuntimeProto.HTTPExtensionOrBuilder> - getHttpExtensionFieldBuilder() { - if (httpExtensionBuilder_ == null) { - httpExtensionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.HTTPExtension, spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Builder, spec.proto.runtime.v1.RuntimeProto.HTTPExtensionOrBuilder>( - getHttpExtension(), - getParentForChildren(), - isClean()); - httpExtension_ = null; - } - return httpExtensionBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.CommonInvokeRequest) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.TryLockRequest) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.CommonInvokeRequest) - private static final spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.TryLockRequest) + private static final spec.proto.runtime.v1.RuntimeProto.TryLockRequest DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.TryLockRequest(); } - public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.TryLockRequest getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public CommonInvokeRequest parsePartialFrom( + public TryLockRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new CommonInvokeRequest(input, extensionRegistry); + return new TryLockRequest(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.TryLockRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface HTTPExtensionOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.HTTPExtension) + public interface TryLockResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.TryLockResponse) com.google.protobuf.MessageOrBuilder { /** - * .spec.proto.runtime.v1.HTTPExtension.Verb verb = 1; - * @return The enum numeric value on the wire for verb. - */ - int getVerbValue(); - /** - * .spec.proto.runtime.v1.HTTPExtension.Verb verb = 1; - * @return The verb. - */ - spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb getVerb(); - - /** - * string querystring = 2; - * @return The querystring. - */ - java.lang.String getQuerystring(); - /** - * string querystring = 2; - * @return The bytes for querystring. + * bool success = 1; + * @return The success. */ - com.google.protobuf.ByteString - getQuerystringBytes(); + boolean getSuccess(); } /** - * Protobuf type {@code spec.proto.runtime.v1.HTTPExtension} + * Protobuf type {@code spec.proto.runtime.v1.TryLockResponse} */ - public static final class HTTPExtension extends + public static final class TryLockResponse extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.HTTPExtension) - HTTPExtensionOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.TryLockResponse) + TryLockResponseOrBuilder { private static final long serialVersionUID = 0L; - // Use HTTPExtension.newBuilder() to construct. - private HTTPExtension(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use TryLockResponse.newBuilder() to construct. + private TryLockResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private HTTPExtension() { - verb_ = 0; - querystring_ = ""; + private TryLockResponse() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new HTTPExtension(); + return new TryLockResponse(); } @java.lang.Override @@ -9035,7 +9743,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private HTTPExtension( + private TryLockResponse( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -9054,15 +9762,8 @@ private HTTPExtension( done = true; break; case 8: { - int rawValue = input.readEnum(); - - verb_ = rawValue; - break; - } - case 18: { - java.lang.String s = input.readStringRequireUtf8(); - querystring_ = s; + success_ = input.readBool(); break; } default: { @@ -9086,243 +9787,26 @@ private HTTPExtension( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_HTTPExtension_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockResponse_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_HTTPExtension_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.HTTPExtension.class, spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Builder.class); - } - - /** - * Protobuf enum {@code spec.proto.runtime.v1.HTTPExtension.Verb} - */ - public enum Verb - implements com.google.protobuf.ProtocolMessageEnum { - /** - * NONE = 0; - */ - NONE(0), - /** - * GET = 1; - */ - GET(1), - /** - * HEAD = 2; - */ - HEAD(2), - /** - * POST = 3; - */ - POST(3), - /** - * PUT = 4; - */ - PUT(4), - /** - * DELETE = 5; - */ - DELETE(5), - /** - * CONNECT = 6; - */ - CONNECT(6), - /** - * OPTIONS = 7; - */ - OPTIONS(7), - /** - * TRACE = 8; - */ - TRACE(8), - UNRECOGNIZED(-1), - ; - - /** - * NONE = 0; - */ - public static final int NONE_VALUE = 0; - /** - * GET = 1; - */ - public static final int GET_VALUE = 1; - /** - * HEAD = 2; - */ - public static final int HEAD_VALUE = 2; - /** - * POST = 3; - */ - public static final int POST_VALUE = 3; - /** - * PUT = 4; - */ - public static final int PUT_VALUE = 4; - /** - * DELETE = 5; - */ - public static final int DELETE_VALUE = 5; - /** - * CONNECT = 6; - */ - public static final int CONNECT_VALUE = 6; - /** - * OPTIONS = 7; - */ - public static final int OPTIONS_VALUE = 7; - /** - * TRACE = 8; - */ - public static final int TRACE_VALUE = 8; - - - public final int getNumber() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalArgumentException( - "Can't get the number of an unknown enum value."); - } - return value; - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static Verb valueOf(int value) { - return forNumber(value); - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - */ - public static Verb forNumber(int value) { - switch (value) { - case 0: return NONE; - case 1: return GET; - case 2: return HEAD; - case 3: return POST; - case 4: return PUT; - case 5: return DELETE; - case 6: return CONNECT; - case 7: return OPTIONS; - case 8: return TRACE; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - Verb> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public Verb findValueByNumber(int number) { - return Verb.forNumber(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(ordinal()); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.HTTPExtension.getDescriptor().getEnumTypes().get(0); - } - - private static final Verb[] VALUES = values(); - - public static Verb valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { - if (desc.getType() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); - } - if (desc.getIndex() == -1) { - return UNRECOGNIZED; - } - return VALUES[desc.getIndex()]; - } - - private final int value; - - private Verb(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:spec.proto.runtime.v1.HTTPExtension.Verb) - } - - public static final int VERB_FIELD_NUMBER = 1; - private int verb_; - /** - * .spec.proto.runtime.v1.HTTPExtension.Verb verb = 1; - * @return The enum numeric value on the wire for verb. - */ - @java.lang.Override public int getVerbValue() { - return verb_; - } - /** - * .spec.proto.runtime.v1.HTTPExtension.Verb verb = 1; - * @return The verb. - */ - @java.lang.Override public spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb getVerb() { - @SuppressWarnings("deprecation") - spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb result = spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb.valueOf(verb_); - return result == null ? spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb.UNRECOGNIZED : result; + spec.proto.runtime.v1.RuntimeProto.TryLockResponse.class, spec.proto.runtime.v1.RuntimeProto.TryLockResponse.Builder.class); } - public static final int QUERYSTRING_FIELD_NUMBER = 2; - private volatile java.lang.Object querystring_; - /** - * string querystring = 2; - * @return The querystring. - */ - @java.lang.Override - public java.lang.String getQuerystring() { - java.lang.Object ref = querystring_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - querystring_ = s; - return s; - } - } + public static final int SUCCESS_FIELD_NUMBER = 1; + private boolean success_; /** - * string querystring = 2; - * @return The bytes for querystring. + * bool success = 1; + * @return The success. */ @java.lang.Override - public com.google.protobuf.ByteString - getQuerystringBytes() { - java.lang.Object ref = querystring_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - querystring_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + public boolean getSuccess() { + return success_; } private byte memoizedIsInitialized = -1; @@ -9339,11 +9823,8 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (verb_ != spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb.NONE.getNumber()) { - output.writeEnum(1, verb_); - } - if (!getQuerystringBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, querystring_); + if (success_ != false) { + output.writeBool(1, success_); } unknownFields.writeTo(output); } @@ -9354,12 +9835,9 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (verb_ != spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb.NONE.getNumber()) { + if (success_ != false) { size += com.google.protobuf.CodedOutputStream - .computeEnumSize(1, verb_); - } - if (!getQuerystringBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, querystring_); + .computeBoolSize(1, success_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -9371,14 +9849,13 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.HTTPExtension)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.TryLockResponse)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.HTTPExtension other = (spec.proto.runtime.v1.RuntimeProto.HTTPExtension) obj; + spec.proto.runtime.v1.RuntimeProto.TryLockResponse other = (spec.proto.runtime.v1.RuntimeProto.TryLockResponse) obj; - if (verb_ != other.verb_) return false; - if (!getQuerystring() - .equals(other.getQuerystring())) return false; + if (getSuccess() + != other.getSuccess()) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -9390,78 +9867,77 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + VERB_FIELD_NUMBER; - hash = (53 * hash) + verb_; - hash = (37 * hash) + QUERYSTRING_FIELD_NUMBER; - hash = (53 * hash) + getQuerystring().hashCode(); + hash = (37 * hash) + SUCCESS_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getSuccess()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -9474,7 +9950,7 @@ public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.HTTPExtension prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.TryLockResponse prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -9490,26 +9966,26 @@ protected Builder newBuilderForType( return builder; } /** - * Protobuf type {@code spec.proto.runtime.v1.HTTPExtension} + * Protobuf type {@code spec.proto.runtime.v1.TryLockResponse} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.HTTPExtension) - spec.proto.runtime.v1.RuntimeProto.HTTPExtensionOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.TryLockResponse) + spec.proto.runtime.v1.RuntimeProto.TryLockResponseOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_HTTPExtension_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockResponse_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_HTTPExtension_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.HTTPExtension.class, spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Builder.class); + spec.proto.runtime.v1.RuntimeProto.TryLockResponse.class, spec.proto.runtime.v1.RuntimeProto.TryLockResponse.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.HTTPExtension.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.TryLockResponse.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -9527,9 +10003,7 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - verb_ = 0; - - querystring_ = ""; + success_ = false; return this; } @@ -9537,17 +10011,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_HTTPExtension_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TryLockResponse_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.HTTPExtension getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.HTTPExtension.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.TryLockResponse getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.TryLockResponse.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.HTTPExtension build() { - spec.proto.runtime.v1.RuntimeProto.HTTPExtension result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.TryLockResponse build() { + spec.proto.runtime.v1.RuntimeProto.TryLockResponse result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -9555,10 +10029,9 @@ public spec.proto.runtime.v1.RuntimeProto.HTTPExtension build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.HTTPExtension buildPartial() { - spec.proto.runtime.v1.RuntimeProto.HTTPExtension result = new spec.proto.runtime.v1.RuntimeProto.HTTPExtension(this); - result.verb_ = verb_; - result.querystring_ = querystring_; + public spec.proto.runtime.v1.RuntimeProto.TryLockResponse buildPartial() { + spec.proto.runtime.v1.RuntimeProto.TryLockResponse result = new spec.proto.runtime.v1.RuntimeProto.TryLockResponse(this); + result.success_ = success_; onBuilt(); return result; } @@ -9597,22 +10070,18 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.HTTPExtension) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.HTTPExtension)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.TryLockResponse) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.TryLockResponse)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.HTTPExtension other) { - if (other == spec.proto.runtime.v1.RuntimeProto.HTTPExtension.getDefaultInstance()) return this; - if (other.verb_ != 0) { - setVerbValue(other.getVerbValue()); - } - if (!other.getQuerystring().isEmpty()) { - querystring_ = other.querystring_; - onChanged(); + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.TryLockResponse other) { + if (other == spec.proto.runtime.v1.RuntimeProto.TryLockResponse.getDefaultInstance()) return this; + if (other.getSuccess() != false) { + setSuccess(other.getSuccess()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -9629,11 +10098,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.HTTPExtension parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.TryLockResponse parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.HTTPExtension) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.TryLockResponse) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -9643,132 +10112,33 @@ public Builder mergeFrom( return this; } - private int verb_ = 0; + private boolean success_ ; /** - * .spec.proto.runtime.v1.HTTPExtension.Verb verb = 1; - * @return The enum numeric value on the wire for verb. + * bool success = 1; + * @return The success. */ - @java.lang.Override public int getVerbValue() { - return verb_; + @java.lang.Override + public boolean getSuccess() { + return success_; } /** - * .spec.proto.runtime.v1.HTTPExtension.Verb verb = 1; - * @param value The enum numeric value on the wire for verb to set. + * bool success = 1; + * @param value The success to set. * @return This builder for chaining. */ - public Builder setVerbValue(int value) { + public Builder setSuccess(boolean value) { - verb_ = value; + success_ = value; onChanged(); return this; } /** - * .spec.proto.runtime.v1.HTTPExtension.Verb verb = 1; - * @return The verb. - */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb getVerb() { - @SuppressWarnings("deprecation") - spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb result = spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb.valueOf(verb_); - return result == null ? spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb.UNRECOGNIZED : result; - } - /** - * .spec.proto.runtime.v1.HTTPExtension.Verb verb = 1; - * @param value The verb to set. + * bool success = 1; * @return This builder for chaining. */ - public Builder setVerb(spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb value) { - if (value == null) { - throw new NullPointerException(); - } + public Builder clearSuccess() { - verb_ = value.getNumber(); - onChanged(); - return this; - } - /** - * .spec.proto.runtime.v1.HTTPExtension.Verb verb = 1; - * @return This builder for chaining. - */ - public Builder clearVerb() { - - verb_ = 0; - onChanged(); - return this; - } - - private java.lang.Object querystring_ = ""; - /** - * string querystring = 2; - * @return The querystring. - */ - public java.lang.String getQuerystring() { - java.lang.Object ref = querystring_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - querystring_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string querystring = 2; - * @return The bytes for querystring. - */ - public com.google.protobuf.ByteString - getQuerystringBytes() { - java.lang.Object ref = querystring_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - querystring_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string querystring = 2; - * @param value The querystring to set. - * @return This builder for chaining. - */ - public Builder setQuerystring( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - querystring_ = value; - onChanged(); - return this; - } - /** - * string querystring = 2; - * @return This builder for chaining. - */ - public Builder clearQuerystring() { - - querystring_ = getDefaultInstance().getQuerystring(); - onChanged(); - return this; - } - /** - * string querystring = 2; - * @param value The bytes for querystring to set. - * @return This builder for chaining. - */ - public Builder setQuerystringBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - querystring_ = value; + success_ = false; onChanged(); return this; } @@ -9785,98 +10155,117 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.HTTPExtension) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.TryLockResponse) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.HTTPExtension) - private static final spec.proto.runtime.v1.RuntimeProto.HTTPExtension DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.TryLockResponse) + private static final spec.proto.runtime.v1.RuntimeProto.TryLockResponse DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.HTTPExtension(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.TryLockResponse(); } - public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.TryLockResponse getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public HTTPExtension parsePartialFrom( + public TryLockResponse parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new HTTPExtension(input, extensionRegistry); + return new TryLockResponse(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.HTTPExtension getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.TryLockResponse getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface InvokeResponseOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.InvokeResponse) + public interface UnlockRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.UnlockRequest) com.google.protobuf.MessageOrBuilder { /** - * .google.protobuf.Any data = 1; - * @return Whether the data field is set. + * string store_name = 1; + * @return The storeName. */ - boolean hasData(); + java.lang.String getStoreName(); /** - * .google.protobuf.Any data = 1; - * @return The data. + * string store_name = 1; + * @return The bytes for storeName. */ - com.google.protobuf.Any getData(); + com.google.protobuf.ByteString + getStoreNameBytes(); + /** - * .google.protobuf.Any data = 1; + *
+     * resource_id is the lock key.
+     * 
+ * + * string resource_id = 2; + * @return The resourceId. */ - com.google.protobuf.AnyOrBuilder getDataOrBuilder(); + java.lang.String getResourceId(); + /** + *
+     * resource_id is the lock key.
+     * 
+ * + * string resource_id = 2; + * @return The bytes for resourceId. + */ + com.google.protobuf.ByteString + getResourceIdBytes(); /** - * string content_type = 2; - * @return The contentType. + * string lock_owner = 3; + * @return The lockOwner. */ - java.lang.String getContentType(); + java.lang.String getLockOwner(); /** - * string content_type = 2; - * @return The bytes for contentType. + * string lock_owner = 3; + * @return The bytes for lockOwner. */ com.google.protobuf.ByteString - getContentTypeBytes(); + getLockOwnerBytes(); } /** - * Protobuf type {@code spec.proto.runtime.v1.InvokeResponse} + * Protobuf type {@code spec.proto.runtime.v1.UnlockRequest} */ - public static final class InvokeResponse extends + public static final class UnlockRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.InvokeResponse) - InvokeResponseOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.UnlockRequest) + UnlockRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use InvokeResponse.newBuilder() to construct. - private InvokeResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use UnlockRequest.newBuilder() to construct. + private UnlockRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private InvokeResponse() { - contentType_ = ""; + private UnlockRequest() { + storeName_ = ""; + resourceId_ = ""; + lockOwner_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new InvokeResponse(); + return new UnlockRequest(); } @java.lang.Override @@ -9884,7 +10273,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private InvokeResponse( + private UnlockRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -9903,22 +10292,21 @@ private InvokeResponse( done = true; break; case 10: { - com.google.protobuf.Any.Builder subBuilder = null; - if (data_ != null) { - subBuilder = data_.toBuilder(); - } - data_ = input.readMessage(com.google.protobuf.Any.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(data_); - data_ = subBuilder.buildPartial(); - } + java.lang.String s = input.readStringRequireUtf8(); + storeName_ = s; break; } case 18: { java.lang.String s = input.readStringRequireUtf8(); - contentType_ = s; + resourceId_ = s; + break; + } + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + + lockOwner_ = s; break; } default: { @@ -9942,75 +10330,133 @@ private InvokeResponse( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockRequest_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeResponse_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.InvokeResponse.class, spec.proto.runtime.v1.RuntimeProto.InvokeResponse.Builder.class); + spec.proto.runtime.v1.RuntimeProto.UnlockRequest.class, spec.proto.runtime.v1.RuntimeProto.UnlockRequest.Builder.class); } - public static final int DATA_FIELD_NUMBER = 1; - private com.google.protobuf.Any data_; + public static final int STORE_NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object storeName_; /** - * .google.protobuf.Any data = 1; - * @return Whether the data field is set. + * string store_name = 1; + * @return The storeName. */ @java.lang.Override - public boolean hasData() { - return data_ != null; + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + storeName_ = s; + return s; + } } /** - * .google.protobuf.Any data = 1; - * @return The data. + * string store_name = 1; + * @return The bytes for storeName. */ @java.lang.Override - public com.google.protobuf.Any getData() { - return data_ == null ? com.google.protobuf.Any.getDefaultInstance() : data_; + public com.google.protobuf.ByteString + getStoreNameBytes() { + java.lang.Object ref = storeName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + storeName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } + + public static final int RESOURCE_ID_FIELD_NUMBER = 2; + private volatile java.lang.Object resourceId_; /** - * .google.protobuf.Any data = 1; + *
+     * resource_id is the lock key.
+     * 
+ * + * string resource_id = 2; + * @return The resourceId. */ @java.lang.Override - public com.google.protobuf.AnyOrBuilder getDataOrBuilder() { - return getData(); + public java.lang.String getResourceId() { + java.lang.Object ref = resourceId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + resourceId_ = s; + return s; + } + } + /** + *
+     * resource_id is the lock key.
+     * 
+ * + * string resource_id = 2; + * @return The bytes for resourceId. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getResourceIdBytes() { + java.lang.Object ref = resourceId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + resourceId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } - public static final int CONTENT_TYPE_FIELD_NUMBER = 2; - private volatile java.lang.Object contentType_; + public static final int LOCK_OWNER_FIELD_NUMBER = 3; + private volatile java.lang.Object lockOwner_; /** - * string content_type = 2; - * @return The contentType. + * string lock_owner = 3; + * @return The lockOwner. */ @java.lang.Override - public java.lang.String getContentType() { - java.lang.Object ref = contentType_; + public java.lang.String getLockOwner() { + java.lang.Object ref = lockOwner_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - contentType_ = s; + lockOwner_ = s; return s; } } /** - * string content_type = 2; - * @return The bytes for contentType. + * string lock_owner = 3; + * @return The bytes for lockOwner. */ @java.lang.Override public com.google.protobuf.ByteString - getContentTypeBytes() { - java.lang.Object ref = contentType_; + getLockOwnerBytes() { + java.lang.Object ref = lockOwner_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - contentType_ = b; + lockOwner_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; @@ -10031,11 +10477,14 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (data_ != null) { - output.writeMessage(1, getData()); + if (!getStoreNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); } - if (!getContentTypeBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, contentType_); + if (!getResourceIdBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, resourceId_); + } + if (!getLockOwnerBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, lockOwner_); } unknownFields.writeTo(output); } @@ -10046,12 +10495,14 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (data_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getData()); + if (!getStoreNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); } - if (!getContentTypeBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, contentType_); + if (!getResourceIdBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, resourceId_); + } + if (!getLockOwnerBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, lockOwner_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -10063,18 +10514,17 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.InvokeResponse)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.UnlockRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.InvokeResponse other = (spec.proto.runtime.v1.RuntimeProto.InvokeResponse) obj; + spec.proto.runtime.v1.RuntimeProto.UnlockRequest other = (spec.proto.runtime.v1.RuntimeProto.UnlockRequest) obj; - if (hasData() != other.hasData()) return false; - if (hasData()) { - if (!getData() - .equals(other.getData())) return false; - } - if (!getContentType() - .equals(other.getContentType())) return false; + if (!getStoreName() + .equals(other.getStoreName())) return false; + if (!getResourceId() + .equals(other.getResourceId())) return false; + if (!getLockOwner() + .equals(other.getLockOwner())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -10086,80 +10536,80 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasData()) { - hash = (37 * hash) + DATA_FIELD_NUMBER; - hash = (53 * hash) + getData().hashCode(); - } - hash = (37 * hash) + CONTENT_TYPE_FIELD_NUMBER; - hash = (53 * hash) + getContentType().hashCode(); + hash = (37 * hash) + STORE_NAME_FIELD_NUMBER; + hash = (53 * hash) + getStoreName().hashCode(); + hash = (37 * hash) + RESOURCE_ID_FIELD_NUMBER; + hash = (53 * hash) + getResourceId().hashCode(); + hash = (37 * hash) + LOCK_OWNER_FIELD_NUMBER; + hash = (53 * hash) + getLockOwner().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -10172,7 +10622,7 @@ public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.InvokeResponse prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.UnlockRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -10188,26 +10638,26 @@ protected Builder newBuilderForType( return builder; } /** - * Protobuf type {@code spec.proto.runtime.v1.InvokeResponse} + * Protobuf type {@code spec.proto.runtime.v1.UnlockRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.InvokeResponse) - spec.proto.runtime.v1.RuntimeProto.InvokeResponseOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.UnlockRequest) + spec.proto.runtime.v1.RuntimeProto.UnlockRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockRequest_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeResponse_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.InvokeResponse.class, spec.proto.runtime.v1.RuntimeProto.InvokeResponse.Builder.class); + spec.proto.runtime.v1.RuntimeProto.UnlockRequest.class, spec.proto.runtime.v1.RuntimeProto.UnlockRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.InvokeResponse.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.UnlockRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -10225,13 +10675,11 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - if (dataBuilder_ == null) { - data_ = null; - } else { - data_ = null; - dataBuilder_ = null; - } - contentType_ = ""; + storeName_ = ""; + + resourceId_ = ""; + + lockOwner_ = ""; return this; } @@ -10239,17 +10687,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.InvokeResponse getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.InvokeResponse.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.UnlockRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.UnlockRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.InvokeResponse build() { - spec.proto.runtime.v1.RuntimeProto.InvokeResponse result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.UnlockRequest build() { + spec.proto.runtime.v1.RuntimeProto.UnlockRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -10257,14 +10705,11 @@ public spec.proto.runtime.v1.RuntimeProto.InvokeResponse build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.InvokeResponse buildPartial() { - spec.proto.runtime.v1.RuntimeProto.InvokeResponse result = new spec.proto.runtime.v1.RuntimeProto.InvokeResponse(this); - if (dataBuilder_ == null) { - result.data_ = data_; - } else { - result.data_ = dataBuilder_.build(); - } - result.contentType_ = contentType_; + public spec.proto.runtime.v1.RuntimeProto.UnlockRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.UnlockRequest result = new spec.proto.runtime.v1.RuntimeProto.UnlockRequest(this); + result.storeName_ = storeName_; + result.resourceId_ = resourceId_; + result.lockOwner_ = lockOwner_; onBuilt(); return result; } @@ -10303,21 +10748,26 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.InvokeResponse) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.InvokeResponse)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.UnlockRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.UnlockRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.InvokeResponse other) { - if (other == spec.proto.runtime.v1.RuntimeProto.InvokeResponse.getDefaultInstance()) return this; - if (other.hasData()) { - mergeData(other.getData()); + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.UnlockRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.UnlockRequest.getDefaultInstance()) return this; + if (!other.getStoreName().isEmpty()) { + storeName_ = other.storeName_; + onChanged(); } - if (!other.getContentType().isEmpty()) { - contentType_ = other.contentType_; + if (!other.getResourceId().isEmpty()) { + resourceId_ = other.resourceId_; + onChanged(); + } + if (!other.getLockOwner().isEmpty()) { + lockOwner_ = other.lockOwner_; onChanged(); } this.mergeUnknownFields(other.unknownFields); @@ -10335,11 +10785,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.InvokeResponse parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.UnlockRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.InvokeResponse) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.UnlockRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -10349,197 +10799,250 @@ public Builder mergeFrom( return this; } - private com.google.protobuf.Any data_; - private com.google.protobuf.SingleFieldBuilderV3< - com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> dataBuilder_; + private java.lang.Object storeName_ = ""; /** - * .google.protobuf.Any data = 1; - * @return Whether the data field is set. + * string store_name = 1; + * @return The storeName. */ - public boolean hasData() { - return dataBuilder_ != null || data_ != null; + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + storeName_ = s; + return s; + } else { + return (java.lang.String) ref; + } } /** - * .google.protobuf.Any data = 1; - * @return The data. + * string store_name = 1; + * @return The bytes for storeName. */ - public com.google.protobuf.Any getData() { - if (dataBuilder_ == null) { - return data_ == null ? com.google.protobuf.Any.getDefaultInstance() : data_; + public com.google.protobuf.ByteString + getStoreNameBytes() { + java.lang.Object ref = storeName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + storeName_ = b; + return b; } else { - return dataBuilder_.getMessage(); + return (com.google.protobuf.ByteString) ref; } } /** - * .google.protobuf.Any data = 1; + * string store_name = 1; + * @param value The storeName to set. + * @return This builder for chaining. */ - public Builder setData(com.google.protobuf.Any value) { - if (dataBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - data_ = value; - onChanged(); - } else { - dataBuilder_.setMessage(value); - } - + public Builder setStoreName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + storeName_ = value; + onChanged(); return this; } /** - * .google.protobuf.Any data = 1; + * string store_name = 1; + * @return This builder for chaining. */ - public Builder setData( - com.google.protobuf.Any.Builder builderForValue) { - if (dataBuilder_ == null) { - data_ = builderForValue.build(); - onChanged(); - } else { - dataBuilder_.setMessage(builderForValue.build()); - } - + public Builder clearStoreName() { + + storeName_ = getDefaultInstance().getStoreName(); + onChanged(); return this; } /** - * .google.protobuf.Any data = 1; + * string store_name = 1; + * @param value The bytes for storeName to set. + * @return This builder for chaining. */ - public Builder mergeData(com.google.protobuf.Any value) { - if (dataBuilder_ == null) { - if (data_ != null) { - data_ = - com.google.protobuf.Any.newBuilder(data_).mergeFrom(value).buildPartial(); - } else { - data_ = value; - } - onChanged(); + public Builder setStoreNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + storeName_ = value; + onChanged(); + return this; + } + + private java.lang.Object resourceId_ = ""; + /** + *
+       * resource_id is the lock key.
+       * 
+ * + * string resource_id = 2; + * @return The resourceId. + */ + public java.lang.String getResourceId() { + java.lang.Object ref = resourceId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + resourceId_ = s; + return s; } else { - dataBuilder_.mergeFrom(value); + return (java.lang.String) ref; } - - return this; } /** - * .google.protobuf.Any data = 1; + *
+       * resource_id is the lock key.
+       * 
+ * + * string resource_id = 2; + * @return The bytes for resourceId. */ - public Builder clearData() { - if (dataBuilder_ == null) { - data_ = null; - onChanged(); + public com.google.protobuf.ByteString + getResourceIdBytes() { + java.lang.Object ref = resourceId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + resourceId_ = b; + return b; } else { - data_ = null; - dataBuilder_ = null; + return (com.google.protobuf.ByteString) ref; } - - return this; } /** - * .google.protobuf.Any data = 1; + *
+       * resource_id is the lock key.
+       * 
+ * + * string resource_id = 2; + * @param value The resourceId to set. + * @return This builder for chaining. */ - public com.google.protobuf.Any.Builder getDataBuilder() { - + public Builder setResourceId( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + resourceId_ = value; onChanged(); - return getDataFieldBuilder().getBuilder(); + return this; } /** - * .google.protobuf.Any data = 1; + *
+       * resource_id is the lock key.
+       * 
+ * + * string resource_id = 2; + * @return This builder for chaining. */ - public com.google.protobuf.AnyOrBuilder getDataOrBuilder() { - if (dataBuilder_ != null) { - return dataBuilder_.getMessageOrBuilder(); - } else { - return data_ == null ? - com.google.protobuf.Any.getDefaultInstance() : data_; - } + public Builder clearResourceId() { + + resourceId_ = getDefaultInstance().getResourceId(); + onChanged(); + return this; } /** - * .google.protobuf.Any data = 1; + *
+       * resource_id is the lock key.
+       * 
+ * + * string resource_id = 2; + * @param value The bytes for resourceId to set. + * @return This builder for chaining. */ - private com.google.protobuf.SingleFieldBuilderV3< - com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> - getDataFieldBuilder() { - if (dataBuilder_ == null) { - dataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>( - getData(), - getParentForChildren(), - isClean()); - data_ = null; - } - return dataBuilder_; + public Builder setResourceIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + resourceId_ = value; + onChanged(); + return this; } - private java.lang.Object contentType_ = ""; + private java.lang.Object lockOwner_ = ""; /** - * string content_type = 2; - * @return The contentType. + * string lock_owner = 3; + * @return The lockOwner. */ - public java.lang.String getContentType() { - java.lang.Object ref = contentType_; + public java.lang.String getLockOwner() { + java.lang.Object ref = lockOwner_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - contentType_ = s; + lockOwner_ = s; return s; } else { return (java.lang.String) ref; } } /** - * string content_type = 2; - * @return The bytes for contentType. + * string lock_owner = 3; + * @return The bytes for lockOwner. */ public com.google.protobuf.ByteString - getContentTypeBytes() { - java.lang.Object ref = contentType_; + getLockOwnerBytes() { + java.lang.Object ref = lockOwner_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - contentType_ = b; + lockOwner_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** - * string content_type = 2; - * @param value The contentType to set. + * string lock_owner = 3; + * @param value The lockOwner to set. * @return This builder for chaining. */ - public Builder setContentType( + public Builder setLockOwner( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - contentType_ = value; + lockOwner_ = value; onChanged(); return this; } /** - * string content_type = 2; + * string lock_owner = 3; * @return This builder for chaining. */ - public Builder clearContentType() { + public Builder clearLockOwner() { - contentType_ = getDefaultInstance().getContentType(); + lockOwner_ = getDefaultInstance().getLockOwner(); onChanged(); return this; } /** - * string content_type = 2; - * @param value The bytes for contentType to set. + * string lock_owner = 3; + * @param value The bytes for lockOwner to set. * @return This builder for chaining. */ - public Builder setContentTypeBytes( + public Builder setLockOwnerBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); - contentType_ = value; + lockOwner_ = value; onChanged(); return this; } @@ -10556,268 +11059,82 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.InvokeResponse) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.UnlockRequest) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.InvokeResponse) - private static final spec.proto.runtime.v1.RuntimeProto.InvokeResponse DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.UnlockRequest) + private static final spec.proto.runtime.v1.RuntimeProto.UnlockRequest DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.InvokeResponse(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.UnlockRequest(); } - public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.UnlockRequest getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public InvokeResponse parsePartialFrom( + public UnlockRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new InvokeResponse(input, extensionRegistry); + return new UnlockRequest(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.InvokeResponse getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.UnlockRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface ConfigurationItemOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.ConfigurationItem) + public interface UnlockResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.UnlockResponse) com.google.protobuf.MessageOrBuilder { /** - *
-     * Required. The key of configuration item
-     * 
- * - * string key = 1; - * @return The key. - */ - java.lang.String getKey(); - /** - *
-     * Required. The key of configuration item
-     * 
- * - * string key = 1; - * @return The bytes for key. - */ - com.google.protobuf.ByteString - getKeyBytes(); - - /** - *
-     * The content of configuration item
-     * Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
-     * 
- * - * string content = 2; - * @return The content. - */ - java.lang.String getContent(); - /** - *
-     * The content of configuration item
-     * Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
-     * 
- * - * string content = 2; - * @return The bytes for content. - */ - com.google.protobuf.ByteString - getContentBytes(); - - /** - *
-     * The group of configuration item.
-     * 
- * - * string group = 3; - * @return The group. - */ - java.lang.String getGroup(); - /** - *
-     * The group of configuration item.
-     * 
- * - * string group = 3; - * @return The bytes for group. - */ - com.google.protobuf.ByteString - getGroupBytes(); - - /** - *
-     * The label of configuration item.
-     * 
- * - * string label = 4; - * @return The label. - */ - java.lang.String getLabel(); - /** - *
-     * The label of configuration item.
-     * 
- * - * string label = 4; - * @return The bytes for label. - */ - com.google.protobuf.ByteString - getLabelBytes(); - - /** - *
-     * The tag list of configuration item.
-     * 
- * - * map<string, string> tags = 5; - */ - int getTagsCount(); - /** - *
-     * The tag list of configuration item.
-     * 
- * - * map<string, string> tags = 5; - */ - boolean containsTags( - java.lang.String key); - /** - * Use {@link #getTagsMap()} instead. - */ - @java.lang.Deprecated - java.util.Map - getTags(); - /** - *
-     * The tag list of configuration item.
-     * 
- * - * map<string, string> tags = 5; - */ - java.util.Map - getTagsMap(); - /** - *
-     * The tag list of configuration item.
-     * 
- * - * map<string, string> tags = 5; - */ - - java.lang.String getTagsOrDefault( - java.lang.String key, - java.lang.String defaultValue); - /** - *
-     * The tag list of configuration item.
-     * 
- * - * map<string, string> tags = 5; - */ - - java.lang.String getTagsOrThrow( - java.lang.String key); - - /** - *
-     * The metadata which will be passed to configuration store component.
-     * 
- * - * map<string, string> metadata = 6; - */ - int getMetadataCount(); - /** - *
-     * The metadata which will be passed to configuration store component.
-     * 
- * - * map<string, string> metadata = 6; - */ - boolean containsMetadata( - java.lang.String key); - /** - * Use {@link #getMetadataMap()} instead. - */ - @java.lang.Deprecated - java.util.Map - getMetadata(); - /** - *
-     * The metadata which will be passed to configuration store component.
-     * 
- * - * map<string, string> metadata = 6; - */ - java.util.Map - getMetadataMap(); - /** - *
-     * The metadata which will be passed to configuration store component.
-     * 
- * - * map<string, string> metadata = 6; + * .spec.proto.runtime.v1.UnlockResponse.Status status = 1; + * @return The enum numeric value on the wire for status. */ - - java.lang.String getMetadataOrDefault( - java.lang.String key, - java.lang.String defaultValue); + int getStatusValue(); /** - *
-     * The metadata which will be passed to configuration store component.
-     * 
- * - * map<string, string> metadata = 6; + * .spec.proto.runtime.v1.UnlockResponse.Status status = 1; + * @return The status. */ - - java.lang.String getMetadataOrThrow( - java.lang.String key); + spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status getStatus(); } /** - *
-   * ConfigurationItem represents a configuration item with key, content and other information.
-   * 
- * - * Protobuf type {@code spec.proto.runtime.v1.ConfigurationItem} + * Protobuf type {@code spec.proto.runtime.v1.UnlockResponse} */ - public static final class ConfigurationItem extends + public static final class UnlockResponse extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.ConfigurationItem) - ConfigurationItemOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.UnlockResponse) + UnlockResponseOrBuilder { private static final long serialVersionUID = 0L; - // Use ConfigurationItem.newBuilder() to construct. - private ConfigurationItem(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use UnlockResponse.newBuilder() to construct. + private UnlockResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private ConfigurationItem() { - key_ = ""; - content_ = ""; - group_ = ""; - label_ = ""; + private UnlockResponse() { + status_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new ConfigurationItem(); + return new UnlockResponse(); } @java.lang.Override @@ -10825,7 +11142,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private ConfigurationItem( + private UnlockResponse( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -10833,7 +11150,6 @@ private ConfigurationItem( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -10844,54 +11160,10 @@ private ConfigurationItem( case 0: done = true; break; - case 10: { - java.lang.String s = input.readStringRequireUtf8(); - - key_ = s; - break; - } - case 18: { - java.lang.String s = input.readStringRequireUtf8(); - - content_ = s; - break; - } - case 26: { - java.lang.String s = input.readStringRequireUtf8(); - - group_ = s; - break; - } - case 34: { - java.lang.String s = input.readStringRequireUtf8(); + case 8: { + int rawValue = input.readEnum(); - label_ = s; - break; - } - case 42: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - tags_ = com.google.protobuf.MapField.newMapField( - TagsDefaultEntryHolder.defaultEntry); - mutable_bitField0_ |= 0x00000001; - } - com.google.protobuf.MapEntry - tags__ = input.readMessage( - TagsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); - tags_.getMutableMap().put( - tags__.getKey(), tags__.getValue()); - break; - } - case 50: { - if (!((mutable_bitField0_ & 0x00000002) != 0)) { - metadata_ = com.google.protobuf.MapField.newMapField( - MetadataDefaultEntryHolder.defaultEntry); - mutable_bitField0_ |= 0x00000002; - } - com.google.protobuf.MapEntry - metadata__ = input.readMessage( - MetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); - metadata_.getMutableMap().put( - metadata__.getKey(), metadata__.getValue()); + status_ = rawValue; break; } default: { @@ -10915,409 +11187,9894 @@ private ConfigurationItem( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ConfigurationItem_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockResponse_descriptor; } - @SuppressWarnings({"rawtypes"}) - @java.lang.Override - protected com.google.protobuf.MapField internalGetMapField( - int number) { - switch (number) { - case 5: - return internalGetTags(); - case 6: - return internalGetMetadata(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ConfigurationItem_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.class, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder.class); + spec.proto.runtime.v1.RuntimeProto.UnlockResponse.class, spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Builder.class); } - public static final int KEY_FIELD_NUMBER = 1; - private volatile java.lang.Object key_; /** - *
-     * Required. The key of configuration item
-     * 
- * - * string key = 1; - * @return The key. + * Protobuf enum {@code spec.proto.runtime.v1.UnlockResponse.Status} */ - @java.lang.Override - public java.lang.String getKey() { - java.lang.Object ref = key_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - key_ = s; - return s; + public enum Status + implements com.google.protobuf.ProtocolMessageEnum { + /** + * SUCCESS = 0; + */ + SUCCESS(0), + /** + * LOCK_UNEXIST = 1; + */ + LOCK_UNEXIST(1), + /** + * LOCK_BELONG_TO_OTHERS = 2; + */ + LOCK_BELONG_TO_OTHERS(2), + /** + * INTERNAL_ERROR = 3; + */ + INTERNAL_ERROR(3), + UNRECOGNIZED(-1), + ; + + /** + * SUCCESS = 0; + */ + public static final int SUCCESS_VALUE = 0; + /** + * LOCK_UNEXIST = 1; + */ + public static final int LOCK_UNEXIST_VALUE = 1; + /** + * LOCK_BELONG_TO_OTHERS = 2; + */ + public static final int LOCK_BELONG_TO_OTHERS_VALUE = 2; + /** + * INTERNAL_ERROR = 3; + */ + public static final int INTERNAL_ERROR_VALUE = 3; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; } - } - /** - *
-     * Required. The key of configuration item
-     * 
- * - * string key = 1; - * @return The bytes for key. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getKeyBytes() { - java.lang.Object ref = key_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - key_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Status valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static Status forNumber(int value) { + switch (value) { + case 0: return SUCCESS; + case 1: return LOCK_UNEXIST; + case 2: return LOCK_BELONG_TO_OTHERS; + case 3: return INTERNAL_ERROR; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + Status> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Status findValueByNumber(int number) { + return Status.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.UnlockResponse.getDescriptor().getEnumTypes().get(0); + } + + private static final Status[] VALUES = values(); + + public static Status valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private Status(int value) { + this.value = value; } + + // @@protoc_insertion_point(enum_scope:spec.proto.runtime.v1.UnlockResponse.Status) } - public static final int CONTENT_FIELD_NUMBER = 2; - private volatile java.lang.Object content_; + public static final int STATUS_FIELD_NUMBER = 1; + private int status_; /** - *
-     * The content of configuration item
-     * Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
-     * 
- * - * string content = 2; - * @return The content. + * .spec.proto.runtime.v1.UnlockResponse.Status status = 1; + * @return The enum numeric value on the wire for status. */ - @java.lang.Override - public java.lang.String getContent() { - java.lang.Object ref = content_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - content_ = s; - return s; - } + @java.lang.Override public int getStatusValue() { + return status_; } /** - *
-     * The content of configuration item
-     * Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
-     * 
- * - * string content = 2; - * @return The bytes for content. + * .spec.proto.runtime.v1.UnlockResponse.Status status = 1; + * @return The status. */ + @java.lang.Override public spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status getStatus() { + @SuppressWarnings("deprecation") + spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status result = spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status.valueOf(status_); + return result == null ? spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status.UNRECOGNIZED : result; + } + + private byte memoizedIsInitialized = -1; @java.lang.Override - public com.google.protobuf.ByteString - getContentBytes() { - java.lang.Object ref = content_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - content_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (status_ != spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status.SUCCESS.getNumber()) { + output.writeEnum(1, status_); } + unknownFields.writeTo(output); } - public static final int GROUP_FIELD_NUMBER = 3; - private volatile java.lang.Object group_; - /** - *
-     * The group of configuration item.
-     * 
- * - * string group = 3; - * @return The group. - */ @java.lang.Override - public java.lang.String getGroup() { - java.lang.Object ref = group_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - group_ = s; - return s; + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (status_ != spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status.SUCCESS.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, status_); } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; } - /** - *
-     * The group of configuration item.
-     * 
- * - * string group = 3; - * @return The bytes for group. - */ + @java.lang.Override - public com.google.protobuf.ByteString - getGroupBytes() { - java.lang.Object ref = group_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - group_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; } + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.UnlockResponse)) { + return super.equals(obj); + } + spec.proto.runtime.v1.RuntimeProto.UnlockResponse other = (spec.proto.runtime.v1.RuntimeProto.UnlockResponse) obj; + + if (status_ != other.status_) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; } - public static final int LABEL_FIELD_NUMBER = 4; - private volatile java.lang.Object label_; - /** - *
-     * The label of configuration item.
-     * 
- * - * string label = 4; - * @return The label. - */ @java.lang.Override - public java.lang.String getLabel() { - java.lang.Object ref = label_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - label_ = s; - return s; + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + STATUS_FIELD_NUMBER; + hash = (53 * hash) + status_; + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.UnlockResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; } /** - *
-     * The label of configuration item.
-     * 
- * - * string label = 4; - * @return The bytes for label. + * Protobuf type {@code spec.proto.runtime.v1.UnlockResponse} */ - @java.lang.Override - public com.google.protobuf.ByteString - getLabelBytes() { - java.lang.Object ref = label_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - label_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.UnlockResponse) + spec.proto.runtime.v1.RuntimeProto.UnlockResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.UnlockResponse.class, spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Builder.class); + } + + // Construct using spec.proto.runtime.v1.RuntimeProto.UnlockResponse.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + status_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_UnlockResponse_descriptor; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.UnlockResponse getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.UnlockResponse.getDefaultInstance(); + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.UnlockResponse build() { + spec.proto.runtime.v1.RuntimeProto.UnlockResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.UnlockResponse buildPartial() { + spec.proto.runtime.v1.RuntimeProto.UnlockResponse result = new spec.proto.runtime.v1.RuntimeProto.UnlockResponse(this); + result.status_ = status_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof spec.proto.runtime.v1.RuntimeProto.UnlockResponse) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.UnlockResponse)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.UnlockResponse other) { + if (other == spec.proto.runtime.v1.RuntimeProto.UnlockResponse.getDefaultInstance()) return this; + if (other.status_ != 0) { + setStatusValue(other.getStatusValue()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + spec.proto.runtime.v1.RuntimeProto.UnlockResponse parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.UnlockResponse) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int status_ = 0; + /** + * .spec.proto.runtime.v1.UnlockResponse.Status status = 1; + * @return The enum numeric value on the wire for status. + */ + @java.lang.Override public int getStatusValue() { + return status_; + } + /** + * .spec.proto.runtime.v1.UnlockResponse.Status status = 1; + * @param value The enum numeric value on the wire for status to set. + * @return This builder for chaining. + */ + public Builder setStatusValue(int value) { + + status_ = value; + onChanged(); + return this; + } + /** + * .spec.proto.runtime.v1.UnlockResponse.Status status = 1; + * @return The status. + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status getStatus() { + @SuppressWarnings("deprecation") + spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status result = spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status.valueOf(status_); + return result == null ? spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status.UNRECOGNIZED : result; + } + /** + * .spec.proto.runtime.v1.UnlockResponse.Status status = 1; + * @param value The status to set. + * @return This builder for chaining. + */ + public Builder setStatus(spec.proto.runtime.v1.RuntimeProto.UnlockResponse.Status value) { + if (value == null) { + throw new NullPointerException(); + } + + status_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .spec.proto.runtime.v1.UnlockResponse.Status status = 1; + * @return This builder for chaining. + */ + public Builder clearStatus() { + + status_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.UnlockResponse) + } + + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.UnlockResponse) + private static final spec.proto.runtime.v1.RuntimeProto.UnlockResponse DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.UnlockResponse(); + } + + public static spec.proto.runtime.v1.RuntimeProto.UnlockResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public UnlockResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new UnlockResponse(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.UnlockResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SayHelloRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.SayHelloRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * string service_name = 1; + * @return The serviceName. + */ + java.lang.String getServiceName(); + /** + * string service_name = 1; + * @return The bytes for serviceName. + */ + com.google.protobuf.ByteString + getServiceNameBytes(); + + /** + * string name = 2; + * @return The name. + */ + java.lang.String getName(); + /** + * string name = 2; + * @return The bytes for name. + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + *
+     * Optional. This field is used to control the packet size during load tests.
+     * 
+ * + * .google.protobuf.Any data = 3; + * @return Whether the data field is set. + */ + boolean hasData(); + /** + *
+     * Optional. This field is used to control the packet size during load tests.
+     * 
+ * + * .google.protobuf.Any data = 3; + * @return The data. + */ + com.google.protobuf.Any getData(); + /** + *
+     * Optional. This field is used to control the packet size during load tests.
+     * 
+ * + * .google.protobuf.Any data = 3; + */ + com.google.protobuf.AnyOrBuilder getDataOrBuilder(); + } + /** + * Protobuf type {@code spec.proto.runtime.v1.SayHelloRequest} + */ + public static final class SayHelloRequest extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.SayHelloRequest) + SayHelloRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use SayHelloRequest.newBuilder() to construct. + private SayHelloRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SayHelloRequest() { + serviceName_ = ""; + name_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new SayHelloRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SayHelloRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + serviceName_ = s; + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + name_ = s; + break; + } + case 26: { + com.google.protobuf.Any.Builder subBuilder = null; + if (data_ != null) { + subBuilder = data_.toBuilder(); + } + data_ = input.readMessage(com.google.protobuf.Any.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(data_); + data_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.SayHelloRequest.class, spec.proto.runtime.v1.RuntimeProto.SayHelloRequest.Builder.class); + } + + public static final int SERVICE_NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object serviceName_; + /** + * string service_name = 1; + * @return The serviceName. + */ + @java.lang.Override + public java.lang.String getServiceName() { + java.lang.Object ref = serviceName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serviceName_ = s; + return s; + } + } + /** + * string service_name = 1; + * @return The bytes for serviceName. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getServiceNameBytes() { + java.lang.Object ref = serviceName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + serviceName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int NAME_FIELD_NUMBER = 2; + private volatile java.lang.Object name_; + /** + * string name = 2; + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + /** + * string name = 2; + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DATA_FIELD_NUMBER = 3; + private com.google.protobuf.Any data_; + /** + *
+     * Optional. This field is used to control the packet size during load tests.
+     * 
+ * + * .google.protobuf.Any data = 3; + * @return Whether the data field is set. + */ + @java.lang.Override + public boolean hasData() { + return data_ != null; + } + /** + *
+     * Optional. This field is used to control the packet size during load tests.
+     * 
+ * + * .google.protobuf.Any data = 3; + * @return The data. + */ + @java.lang.Override + public com.google.protobuf.Any getData() { + return data_ == null ? com.google.protobuf.Any.getDefaultInstance() : data_; + } + /** + *
+     * Optional. This field is used to control the packet size during load tests.
+     * 
+ * + * .google.protobuf.Any data = 3; + */ + @java.lang.Override + public com.google.protobuf.AnyOrBuilder getDataOrBuilder() { + return getData(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getServiceNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, serviceName_); + } + if (!getNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_); + } + if (data_ != null) { + output.writeMessage(3, getData()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getServiceNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, serviceName_); + } + if (!getNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_); + } + if (data_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getData()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.SayHelloRequest)) { + return super.equals(obj); + } + spec.proto.runtime.v1.RuntimeProto.SayHelloRequest other = (spec.proto.runtime.v1.RuntimeProto.SayHelloRequest) obj; + + if (!getServiceName() + .equals(other.getServiceName())) return false; + if (!getName() + .equals(other.getName())) return false; + if (hasData() != other.hasData()) return false; + if (hasData()) { + if (!getData() + .equals(other.getData())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + SERVICE_NAME_FIELD_NUMBER; + hash = (53 * hash) + getServiceName().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + if (hasData()) { + hash = (37 * hash) + DATA_FIELD_NUMBER; + hash = (53 * hash) + getData().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.SayHelloRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code spec.proto.runtime.v1.SayHelloRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.SayHelloRequest) + spec.proto.runtime.v1.RuntimeProto.SayHelloRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.SayHelloRequest.class, spec.proto.runtime.v1.RuntimeProto.SayHelloRequest.Builder.class); + } + + // Construct using spec.proto.runtime.v1.RuntimeProto.SayHelloRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + serviceName_ = ""; + + name_ = ""; + + if (dataBuilder_ == null) { + data_ = null; + } else { + data_ = null; + dataBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloRequest_descriptor; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.SayHelloRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.SayHelloRequest.getDefaultInstance(); + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.SayHelloRequest build() { + spec.proto.runtime.v1.RuntimeProto.SayHelloRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.SayHelloRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.SayHelloRequest result = new spec.proto.runtime.v1.RuntimeProto.SayHelloRequest(this); + result.serviceName_ = serviceName_; + result.name_ = name_; + if (dataBuilder_ == null) { + result.data_ = data_; + } else { + result.data_ = dataBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof spec.proto.runtime.v1.RuntimeProto.SayHelloRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.SayHelloRequest)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.SayHelloRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.SayHelloRequest.getDefaultInstance()) return this; + if (!other.getServiceName().isEmpty()) { + serviceName_ = other.serviceName_; + onChanged(); + } + if (!other.getName().isEmpty()) { + name_ = other.name_; + onChanged(); + } + if (other.hasData()) { + mergeData(other.getData()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + spec.proto.runtime.v1.RuntimeProto.SayHelloRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.SayHelloRequest) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object serviceName_ = ""; + /** + * string service_name = 1; + * @return The serviceName. + */ + public java.lang.String getServiceName() { + java.lang.Object ref = serviceName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serviceName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string service_name = 1; + * @return The bytes for serviceName. + */ + public com.google.protobuf.ByteString + getServiceNameBytes() { + java.lang.Object ref = serviceName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + serviceName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string service_name = 1; + * @param value The serviceName to set. + * @return This builder for chaining. + */ + public Builder setServiceName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + serviceName_ = value; + onChanged(); + return this; + } + /** + * string service_name = 1; + * @return This builder for chaining. + */ + public Builder clearServiceName() { + + serviceName_ = getDefaultInstance().getServiceName(); + onChanged(); + return this; + } + /** + * string service_name = 1; + * @param value The bytes for serviceName to set. + * @return This builder for chaining. + */ + public Builder setServiceNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + serviceName_ = value; + onChanged(); + return this; + } + + private java.lang.Object name_ = ""; + /** + * string name = 2; + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string name = 2; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string name = 2; + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + name_ = value; + onChanged(); + return this; + } + /** + * string name = 2; + * @return This builder for chaining. + */ + public Builder clearName() { + + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + * string name = 2; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + name_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.Any data_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> dataBuilder_; + /** + *
+       * Optional. This field is used to control the packet size during load tests.
+       * 
+ * + * .google.protobuf.Any data = 3; + * @return Whether the data field is set. + */ + public boolean hasData() { + return dataBuilder_ != null || data_ != null; + } + /** + *
+       * Optional. This field is used to control the packet size during load tests.
+       * 
+ * + * .google.protobuf.Any data = 3; + * @return The data. + */ + public com.google.protobuf.Any getData() { + if (dataBuilder_ == null) { + return data_ == null ? com.google.protobuf.Any.getDefaultInstance() : data_; + } else { + return dataBuilder_.getMessage(); + } + } + /** + *
+       * Optional. This field is used to control the packet size during load tests.
+       * 
+ * + * .google.protobuf.Any data = 3; + */ + public Builder setData(com.google.protobuf.Any value) { + if (dataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + data_ = value; + onChanged(); + } else { + dataBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * Optional. This field is used to control the packet size during load tests.
+       * 
+ * + * .google.protobuf.Any data = 3; + */ + public Builder setData( + com.google.protobuf.Any.Builder builderForValue) { + if (dataBuilder_ == null) { + data_ = builderForValue.build(); + onChanged(); + } else { + dataBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * Optional. This field is used to control the packet size during load tests.
+       * 
+ * + * .google.protobuf.Any data = 3; + */ + public Builder mergeData(com.google.protobuf.Any value) { + if (dataBuilder_ == null) { + if (data_ != null) { + data_ = + com.google.protobuf.Any.newBuilder(data_).mergeFrom(value).buildPartial(); + } else { + data_ = value; + } + onChanged(); + } else { + dataBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * Optional. This field is used to control the packet size during load tests.
+       * 
+ * + * .google.protobuf.Any data = 3; + */ + public Builder clearData() { + if (dataBuilder_ == null) { + data_ = null; + onChanged(); + } else { + data_ = null; + dataBuilder_ = null; + } + + return this; + } + /** + *
+       * Optional. This field is used to control the packet size during load tests.
+       * 
+ * + * .google.protobuf.Any data = 3; + */ + public com.google.protobuf.Any.Builder getDataBuilder() { + + onChanged(); + return getDataFieldBuilder().getBuilder(); + } + /** + *
+       * Optional. This field is used to control the packet size during load tests.
+       * 
+ * + * .google.protobuf.Any data = 3; + */ + public com.google.protobuf.AnyOrBuilder getDataOrBuilder() { + if (dataBuilder_ != null) { + return dataBuilder_.getMessageOrBuilder(); + } else { + return data_ == null ? + com.google.protobuf.Any.getDefaultInstance() : data_; + } + } + /** + *
+       * Optional. This field is used to control the packet size during load tests.
+       * 
+ * + * .google.protobuf.Any data = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> + getDataFieldBuilder() { + if (dataBuilder_ == null) { + dataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>( + getData(), + getParentForChildren(), + isClean()); + data_ = null; + } + return dataBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.SayHelloRequest) + } + + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.SayHelloRequest) + private static final spec.proto.runtime.v1.RuntimeProto.SayHelloRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.SayHelloRequest(); + } + + public static spec.proto.runtime.v1.RuntimeProto.SayHelloRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SayHelloRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SayHelloRequest(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.SayHelloRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SayHelloResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.SayHelloResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * string hello = 1; + * @return The hello. + */ + java.lang.String getHello(); + /** + * string hello = 1; + * @return The bytes for hello. + */ + com.google.protobuf.ByteString + getHelloBytes(); + + /** + * .google.protobuf.Any data = 2; + * @return Whether the data field is set. + */ + boolean hasData(); + /** + * .google.protobuf.Any data = 2; + * @return The data. + */ + com.google.protobuf.Any getData(); + /** + * .google.protobuf.Any data = 2; + */ + com.google.protobuf.AnyOrBuilder getDataOrBuilder(); + } + /** + * Protobuf type {@code spec.proto.runtime.v1.SayHelloResponse} + */ + public static final class SayHelloResponse extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.SayHelloResponse) + SayHelloResponseOrBuilder { + private static final long serialVersionUID = 0L; + // Use SayHelloResponse.newBuilder() to construct. + private SayHelloResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SayHelloResponse() { + hello_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new SayHelloResponse(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SayHelloResponse( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + hello_ = s; + break; + } + case 18: { + com.google.protobuf.Any.Builder subBuilder = null; + if (data_ != null) { + subBuilder = data_.toBuilder(); + } + data_ = input.readMessage(com.google.protobuf.Any.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(data_); + data_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.SayHelloResponse.class, spec.proto.runtime.v1.RuntimeProto.SayHelloResponse.Builder.class); + } + + public static final int HELLO_FIELD_NUMBER = 1; + private volatile java.lang.Object hello_; + /** + * string hello = 1; + * @return The hello. + */ + @java.lang.Override + public java.lang.String getHello() { + java.lang.Object ref = hello_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + hello_ = s; + return s; + } + } + /** + * string hello = 1; + * @return The bytes for hello. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getHelloBytes() { + java.lang.Object ref = hello_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + hello_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DATA_FIELD_NUMBER = 2; + private com.google.protobuf.Any data_; + /** + * .google.protobuf.Any data = 2; + * @return Whether the data field is set. + */ + @java.lang.Override + public boolean hasData() { + return data_ != null; + } + /** + * .google.protobuf.Any data = 2; + * @return The data. + */ + @java.lang.Override + public com.google.protobuf.Any getData() { + return data_ == null ? com.google.protobuf.Any.getDefaultInstance() : data_; + } + /** + * .google.protobuf.Any data = 2; + */ + @java.lang.Override + public com.google.protobuf.AnyOrBuilder getDataOrBuilder() { + return getData(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getHelloBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, hello_); + } + if (data_ != null) { + output.writeMessage(2, getData()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getHelloBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, hello_); + } + if (data_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getData()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.SayHelloResponse)) { + return super.equals(obj); + } + spec.proto.runtime.v1.RuntimeProto.SayHelloResponse other = (spec.proto.runtime.v1.RuntimeProto.SayHelloResponse) obj; + + if (!getHello() + .equals(other.getHello())) return false; + if (hasData() != other.hasData()) return false; + if (hasData()) { + if (!getData() + .equals(other.getData())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + HELLO_FIELD_NUMBER; + hash = (53 * hash) + getHello().hashCode(); + if (hasData()) { + hash = (37 * hash) + DATA_FIELD_NUMBER; + hash = (53 * hash) + getData().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.SayHelloResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code spec.proto.runtime.v1.SayHelloResponse} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.SayHelloResponse) + spec.proto.runtime.v1.RuntimeProto.SayHelloResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.SayHelloResponse.class, spec.proto.runtime.v1.RuntimeProto.SayHelloResponse.Builder.class); + } + + // Construct using spec.proto.runtime.v1.RuntimeProto.SayHelloResponse.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + hello_ = ""; + + if (dataBuilder_ == null) { + data_ = null; + } else { + data_ = null; + dataBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SayHelloResponse_descriptor; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.SayHelloResponse getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.SayHelloResponse.getDefaultInstance(); + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.SayHelloResponse build() { + spec.proto.runtime.v1.RuntimeProto.SayHelloResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.SayHelloResponse buildPartial() { + spec.proto.runtime.v1.RuntimeProto.SayHelloResponse result = new spec.proto.runtime.v1.RuntimeProto.SayHelloResponse(this); + result.hello_ = hello_; + if (dataBuilder_ == null) { + result.data_ = data_; + } else { + result.data_ = dataBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof spec.proto.runtime.v1.RuntimeProto.SayHelloResponse) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.SayHelloResponse)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.SayHelloResponse other) { + if (other == spec.proto.runtime.v1.RuntimeProto.SayHelloResponse.getDefaultInstance()) return this; + if (!other.getHello().isEmpty()) { + hello_ = other.hello_; + onChanged(); + } + if (other.hasData()) { + mergeData(other.getData()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + spec.proto.runtime.v1.RuntimeProto.SayHelloResponse parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.SayHelloResponse) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object hello_ = ""; + /** + * string hello = 1; + * @return The hello. + */ + public java.lang.String getHello() { + java.lang.Object ref = hello_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + hello_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string hello = 1; + * @return The bytes for hello. + */ + public com.google.protobuf.ByteString + getHelloBytes() { + java.lang.Object ref = hello_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + hello_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string hello = 1; + * @param value The hello to set. + * @return This builder for chaining. + */ + public Builder setHello( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + hello_ = value; + onChanged(); + return this; + } + /** + * string hello = 1; + * @return This builder for chaining. + */ + public Builder clearHello() { + + hello_ = getDefaultInstance().getHello(); + onChanged(); + return this; + } + /** + * string hello = 1; + * @param value The bytes for hello to set. + * @return This builder for chaining. + */ + public Builder setHelloBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + hello_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.Any data_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> dataBuilder_; + /** + * .google.protobuf.Any data = 2; + * @return Whether the data field is set. + */ + public boolean hasData() { + return dataBuilder_ != null || data_ != null; + } + /** + * .google.protobuf.Any data = 2; + * @return The data. + */ + public com.google.protobuf.Any getData() { + if (dataBuilder_ == null) { + return data_ == null ? com.google.protobuf.Any.getDefaultInstance() : data_; + } else { + return dataBuilder_.getMessage(); + } + } + /** + * .google.protobuf.Any data = 2; + */ + public Builder setData(com.google.protobuf.Any value) { + if (dataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + data_ = value; + onChanged(); + } else { + dataBuilder_.setMessage(value); + } + + return this; + } + /** + * .google.protobuf.Any data = 2; + */ + public Builder setData( + com.google.protobuf.Any.Builder builderForValue) { + if (dataBuilder_ == null) { + data_ = builderForValue.build(); + onChanged(); + } else { + dataBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .google.protobuf.Any data = 2; + */ + public Builder mergeData(com.google.protobuf.Any value) { + if (dataBuilder_ == null) { + if (data_ != null) { + data_ = + com.google.protobuf.Any.newBuilder(data_).mergeFrom(value).buildPartial(); + } else { + data_ = value; + } + onChanged(); + } else { + dataBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .google.protobuf.Any data = 2; + */ + public Builder clearData() { + if (dataBuilder_ == null) { + data_ = null; + onChanged(); + } else { + data_ = null; + dataBuilder_ = null; + } + + return this; + } + /** + * .google.protobuf.Any data = 2; + */ + public com.google.protobuf.Any.Builder getDataBuilder() { + + onChanged(); + return getDataFieldBuilder().getBuilder(); + } + /** + * .google.protobuf.Any data = 2; + */ + public com.google.protobuf.AnyOrBuilder getDataOrBuilder() { + if (dataBuilder_ != null) { + return dataBuilder_.getMessageOrBuilder(); + } else { + return data_ == null ? + com.google.protobuf.Any.getDefaultInstance() : data_; + } + } + /** + * .google.protobuf.Any data = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> + getDataFieldBuilder() { + if (dataBuilder_ == null) { + dataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>( + getData(), + getParentForChildren(), + isClean()); + data_ = null; + } + return dataBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.SayHelloResponse) + } + + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.SayHelloResponse) + private static final spec.proto.runtime.v1.RuntimeProto.SayHelloResponse DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.SayHelloResponse(); + } + + public static spec.proto.runtime.v1.RuntimeProto.SayHelloResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SayHelloResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SayHelloResponse(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.SayHelloResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface InvokeServiceRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.InvokeServiceRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * string id = 1; + * @return The id. + */ + java.lang.String getId(); + /** + * string id = 1; + * @return The bytes for id. + */ + com.google.protobuf.ByteString + getIdBytes(); + + /** + * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; + * @return Whether the message field is set. + */ + boolean hasMessage(); + /** + * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; + * @return The message. + */ + spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest getMessage(); + /** + * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; + */ + spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequestOrBuilder getMessageOrBuilder(); + } + /** + * Protobuf type {@code spec.proto.runtime.v1.InvokeServiceRequest} + */ + public static final class InvokeServiceRequest extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.InvokeServiceRequest) + InvokeServiceRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use InvokeServiceRequest.newBuilder() to construct. + private InvokeServiceRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private InvokeServiceRequest() { + id_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new InvokeServiceRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private InvokeServiceRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + id_ = s; + break; + } + case 26: { + spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.Builder subBuilder = null; + if (message_ != null) { + subBuilder = message_.toBuilder(); + } + message_ = input.readMessage(spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(message_); + message_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeServiceRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeServiceRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest.class, spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest.Builder.class); + } + + public static final int ID_FIELD_NUMBER = 1; + private volatile java.lang.Object id_; + /** + * string id = 1; + * @return The id. + */ + @java.lang.Override + public java.lang.String getId() { + java.lang.Object ref = id_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + id_ = s; + return s; + } + } + /** + * string id = 1; + * @return The bytes for id. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getIdBytes() { + java.lang.Object ref = id_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + id_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int MESSAGE_FIELD_NUMBER = 3; + private spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest message_; + /** + * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; + * @return Whether the message field is set. + */ + @java.lang.Override + public boolean hasMessage() { + return message_ != null; + } + /** + * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; + * @return The message. + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest getMessage() { + return message_ == null ? spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.getDefaultInstance() : message_; + } + /** + * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequestOrBuilder getMessageOrBuilder() { + return getMessage(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getIdBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_); + } + if (message_ != null) { + output.writeMessage(3, getMessage()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getIdBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, id_); + } + if (message_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getMessage()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest)) { + return super.equals(obj); + } + spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest other = (spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest) obj; + + if (!getId() + .equals(other.getId())) return false; + if (hasMessage() != other.hasMessage()) return false; + if (hasMessage()) { + if (!getMessage() + .equals(other.getMessage())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + ID_FIELD_NUMBER; + hash = (53 * hash) + getId().hashCode(); + if (hasMessage()) { + hash = (37 * hash) + MESSAGE_FIELD_NUMBER; + hash = (53 * hash) + getMessage().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code spec.proto.runtime.v1.InvokeServiceRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.InvokeServiceRequest) + spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeServiceRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeServiceRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest.class, spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest.Builder.class); + } + + // Construct using spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + id_ = ""; + + if (messageBuilder_ == null) { + message_ = null; + } else { + message_ = null; + messageBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeServiceRequest_descriptor; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest.getDefaultInstance(); + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest build() { + spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest result = new spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest(this); + result.id_ = id_; + if (messageBuilder_ == null) { + result.message_ = message_; + } else { + result.message_ = messageBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest.getDefaultInstance()) return this; + if (!other.getId().isEmpty()) { + id_ = other.id_; + onChanged(); + } + if (other.hasMessage()) { + mergeMessage(other.getMessage()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object id_ = ""; + /** + * string id = 1; + * @return The id. + */ + public java.lang.String getId() { + java.lang.Object ref = id_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + id_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string id = 1; + * @return The bytes for id. + */ + public com.google.protobuf.ByteString + getIdBytes() { + java.lang.Object ref = id_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + id_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string id = 1; + * @param value The id to set. + * @return This builder for chaining. + */ + public Builder setId( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + id_ = value; + onChanged(); + return this; + } + /** + * string id = 1; + * @return This builder for chaining. + */ + public Builder clearId() { + + id_ = getDefaultInstance().getId(); + onChanged(); + return this; + } + /** + * string id = 1; + * @param value The bytes for id to set. + * @return This builder for chaining. + */ + public Builder setIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + id_ = value; + onChanged(); + return this; + } + + private spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest message_; + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest, spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.Builder, spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequestOrBuilder> messageBuilder_; + /** + * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; + * @return Whether the message field is set. + */ + public boolean hasMessage() { + return messageBuilder_ != null || message_ != null; + } + /** + * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; + * @return The message. + */ + public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest getMessage() { + if (messageBuilder_ == null) { + return message_ == null ? spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.getDefaultInstance() : message_; + } else { + return messageBuilder_.getMessage(); + } + } + /** + * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; + */ + public Builder setMessage(spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest value) { + if (messageBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + message_ = value; + onChanged(); + } else { + messageBuilder_.setMessage(value); + } + + return this; + } + /** + * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; + */ + public Builder setMessage( + spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.Builder builderForValue) { + if (messageBuilder_ == null) { + message_ = builderForValue.build(); + onChanged(); + } else { + messageBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; + */ + public Builder mergeMessage(spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest value) { + if (messageBuilder_ == null) { + if (message_ != null) { + message_ = + spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.newBuilder(message_).mergeFrom(value).buildPartial(); + } else { + message_ = value; + } + onChanged(); + } else { + messageBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; + */ + public Builder clearMessage() { + if (messageBuilder_ == null) { + message_ = null; + onChanged(); + } else { + message_ = null; + messageBuilder_ = null; + } + + return this; + } + /** + * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; + */ + public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.Builder getMessageBuilder() { + + onChanged(); + return getMessageFieldBuilder().getBuilder(); + } + /** + * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; + */ + public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequestOrBuilder getMessageOrBuilder() { + if (messageBuilder_ != null) { + return messageBuilder_.getMessageOrBuilder(); + } else { + return message_ == null ? + spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.getDefaultInstance() : message_; + } + } + /** + * .spec.proto.runtime.v1.CommonInvokeRequest message = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest, spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.Builder, spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequestOrBuilder> + getMessageFieldBuilder() { + if (messageBuilder_ == null) { + messageBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest, spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.Builder, spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequestOrBuilder>( + getMessage(), + getParentForChildren(), + isClean()); + message_ = null; + } + return messageBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.InvokeServiceRequest) + } + + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.InvokeServiceRequest) + private static final spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest(); + } + + public static spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public InvokeServiceRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new InvokeServiceRequest(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.InvokeServiceRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface CommonInvokeRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.CommonInvokeRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * string method = 1; + * @return The method. + */ + java.lang.String getMethod(); + /** + * string method = 1; + * @return The bytes for method. + */ + com.google.protobuf.ByteString + getMethodBytes(); + + /** + * .google.protobuf.Any data = 2; + * @return Whether the data field is set. + */ + boolean hasData(); + /** + * .google.protobuf.Any data = 2; + * @return The data. + */ + com.google.protobuf.Any getData(); + /** + * .google.protobuf.Any data = 2; + */ + com.google.protobuf.AnyOrBuilder getDataOrBuilder(); + + /** + * string content_type = 3; + * @return The contentType. + */ + java.lang.String getContentType(); + /** + * string content_type = 3; + * @return The bytes for contentType. + */ + com.google.protobuf.ByteString + getContentTypeBytes(); + + /** + * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + * @return Whether the httpExtension field is set. + */ + boolean hasHttpExtension(); + /** + * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + * @return The httpExtension. + */ + spec.proto.runtime.v1.RuntimeProto.HTTPExtension getHttpExtension(); + /** + * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + */ + spec.proto.runtime.v1.RuntimeProto.HTTPExtensionOrBuilder getHttpExtensionOrBuilder(); + } + /** + * Protobuf type {@code spec.proto.runtime.v1.CommonInvokeRequest} + */ + public static final class CommonInvokeRequest extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.CommonInvokeRequest) + CommonInvokeRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use CommonInvokeRequest.newBuilder() to construct. + private CommonInvokeRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private CommonInvokeRequest() { + method_ = ""; + contentType_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new CommonInvokeRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private CommonInvokeRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + method_ = s; + break; + } + case 18: { + com.google.protobuf.Any.Builder subBuilder = null; + if (data_ != null) { + subBuilder = data_.toBuilder(); + } + data_ = input.readMessage(com.google.protobuf.Any.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(data_); + data_ = subBuilder.buildPartial(); + } + + break; + } + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + + contentType_ = s; + break; + } + case 34: { + spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Builder subBuilder = null; + if (httpExtension_ != null) { + subBuilder = httpExtension_.toBuilder(); + } + httpExtension_ = input.readMessage(spec.proto.runtime.v1.RuntimeProto.HTTPExtension.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(httpExtension_); + httpExtension_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_CommonInvokeRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_CommonInvokeRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.class, spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.Builder.class); + } + + public static final int METHOD_FIELD_NUMBER = 1; + private volatile java.lang.Object method_; + /** + * string method = 1; + * @return The method. + */ + @java.lang.Override + public java.lang.String getMethod() { + java.lang.Object ref = method_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + method_ = s; + return s; + } + } + /** + * string method = 1; + * @return The bytes for method. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getMethodBytes() { + java.lang.Object ref = method_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + method_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DATA_FIELD_NUMBER = 2; + private com.google.protobuf.Any data_; + /** + * .google.protobuf.Any data = 2; + * @return Whether the data field is set. + */ + @java.lang.Override + public boolean hasData() { + return data_ != null; + } + /** + * .google.protobuf.Any data = 2; + * @return The data. + */ + @java.lang.Override + public com.google.protobuf.Any getData() { + return data_ == null ? com.google.protobuf.Any.getDefaultInstance() : data_; + } + /** + * .google.protobuf.Any data = 2; + */ + @java.lang.Override + public com.google.protobuf.AnyOrBuilder getDataOrBuilder() { + return getData(); + } + + public static final int CONTENT_TYPE_FIELD_NUMBER = 3; + private volatile java.lang.Object contentType_; + /** + * string content_type = 3; + * @return The contentType. + */ + @java.lang.Override + public java.lang.String getContentType() { + java.lang.Object ref = contentType_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + contentType_ = s; + return s; + } + } + /** + * string content_type = 3; + * @return The bytes for contentType. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getContentTypeBytes() { + java.lang.Object ref = contentType_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + contentType_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int HTTP_EXTENSION_FIELD_NUMBER = 4; + private spec.proto.runtime.v1.RuntimeProto.HTTPExtension httpExtension_; + /** + * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + * @return Whether the httpExtension field is set. + */ + @java.lang.Override + public boolean hasHttpExtension() { + return httpExtension_ != null; + } + /** + * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + * @return The httpExtension. + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.HTTPExtension getHttpExtension() { + return httpExtension_ == null ? spec.proto.runtime.v1.RuntimeProto.HTTPExtension.getDefaultInstance() : httpExtension_; + } + /** + * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.HTTPExtensionOrBuilder getHttpExtensionOrBuilder() { + return getHttpExtension(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getMethodBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, method_); + } + if (data_ != null) { + output.writeMessage(2, getData()); + } + if (!getContentTypeBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, contentType_); + } + if (httpExtension_ != null) { + output.writeMessage(4, getHttpExtension()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getMethodBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, method_); + } + if (data_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getData()); + } + if (!getContentTypeBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, contentType_); + } + if (httpExtension_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, getHttpExtension()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest)) { + return super.equals(obj); + } + spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest other = (spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest) obj; + + if (!getMethod() + .equals(other.getMethod())) return false; + if (hasData() != other.hasData()) return false; + if (hasData()) { + if (!getData() + .equals(other.getData())) return false; + } + if (!getContentType() + .equals(other.getContentType())) return false; + if (hasHttpExtension() != other.hasHttpExtension()) return false; + if (hasHttpExtension()) { + if (!getHttpExtension() + .equals(other.getHttpExtension())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + METHOD_FIELD_NUMBER; + hash = (53 * hash) + getMethod().hashCode(); + if (hasData()) { + hash = (37 * hash) + DATA_FIELD_NUMBER; + hash = (53 * hash) + getData().hashCode(); + } + hash = (37 * hash) + CONTENT_TYPE_FIELD_NUMBER; + hash = (53 * hash) + getContentType().hashCode(); + if (hasHttpExtension()) { + hash = (37 * hash) + HTTP_EXTENSION_FIELD_NUMBER; + hash = (53 * hash) + getHttpExtension().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code spec.proto.runtime.v1.CommonInvokeRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.CommonInvokeRequest) + spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_CommonInvokeRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_CommonInvokeRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.class, spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.Builder.class); + } + + // Construct using spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + method_ = ""; + + if (dataBuilder_ == null) { + data_ = null; + } else { + data_ = null; + dataBuilder_ = null; + } + contentType_ = ""; + + if (httpExtensionBuilder_ == null) { + httpExtension_ = null; + } else { + httpExtension_ = null; + httpExtensionBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_CommonInvokeRequest_descriptor; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.getDefaultInstance(); + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest build() { + spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest result = new spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest(this); + result.method_ = method_; + if (dataBuilder_ == null) { + result.data_ = data_; + } else { + result.data_ = dataBuilder_.build(); + } + result.contentType_ = contentType_; + if (httpExtensionBuilder_ == null) { + result.httpExtension_ = httpExtension_; + } else { + result.httpExtension_ = httpExtensionBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest.getDefaultInstance()) return this; + if (!other.getMethod().isEmpty()) { + method_ = other.method_; + onChanged(); + } + if (other.hasData()) { + mergeData(other.getData()); + } + if (!other.getContentType().isEmpty()) { + contentType_ = other.contentType_; + onChanged(); + } + if (other.hasHttpExtension()) { + mergeHttpExtension(other.getHttpExtension()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object method_ = ""; + /** + * string method = 1; + * @return The method. + */ + public java.lang.String getMethod() { + java.lang.Object ref = method_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + method_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string method = 1; + * @return The bytes for method. + */ + public com.google.protobuf.ByteString + getMethodBytes() { + java.lang.Object ref = method_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + method_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string method = 1; + * @param value The method to set. + * @return This builder for chaining. + */ + public Builder setMethod( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + method_ = value; + onChanged(); + return this; + } + /** + * string method = 1; + * @return This builder for chaining. + */ + public Builder clearMethod() { + + method_ = getDefaultInstance().getMethod(); + onChanged(); + return this; + } + /** + * string method = 1; + * @param value The bytes for method to set. + * @return This builder for chaining. + */ + public Builder setMethodBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + method_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.Any data_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> dataBuilder_; + /** + * .google.protobuf.Any data = 2; + * @return Whether the data field is set. + */ + public boolean hasData() { + return dataBuilder_ != null || data_ != null; + } + /** + * .google.protobuf.Any data = 2; + * @return The data. + */ + public com.google.protobuf.Any getData() { + if (dataBuilder_ == null) { + return data_ == null ? com.google.protobuf.Any.getDefaultInstance() : data_; + } else { + return dataBuilder_.getMessage(); + } + } + /** + * .google.protobuf.Any data = 2; + */ + public Builder setData(com.google.protobuf.Any value) { + if (dataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + data_ = value; + onChanged(); + } else { + dataBuilder_.setMessage(value); + } + + return this; + } + /** + * .google.protobuf.Any data = 2; + */ + public Builder setData( + com.google.protobuf.Any.Builder builderForValue) { + if (dataBuilder_ == null) { + data_ = builderForValue.build(); + onChanged(); + } else { + dataBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .google.protobuf.Any data = 2; + */ + public Builder mergeData(com.google.protobuf.Any value) { + if (dataBuilder_ == null) { + if (data_ != null) { + data_ = + com.google.protobuf.Any.newBuilder(data_).mergeFrom(value).buildPartial(); + } else { + data_ = value; + } + onChanged(); + } else { + dataBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .google.protobuf.Any data = 2; + */ + public Builder clearData() { + if (dataBuilder_ == null) { + data_ = null; + onChanged(); + } else { + data_ = null; + dataBuilder_ = null; + } + + return this; + } + /** + * .google.protobuf.Any data = 2; + */ + public com.google.protobuf.Any.Builder getDataBuilder() { + + onChanged(); + return getDataFieldBuilder().getBuilder(); + } + /** + * .google.protobuf.Any data = 2; + */ + public com.google.protobuf.AnyOrBuilder getDataOrBuilder() { + if (dataBuilder_ != null) { + return dataBuilder_.getMessageOrBuilder(); + } else { + return data_ == null ? + com.google.protobuf.Any.getDefaultInstance() : data_; + } + } + /** + * .google.protobuf.Any data = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> + getDataFieldBuilder() { + if (dataBuilder_ == null) { + dataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>( + getData(), + getParentForChildren(), + isClean()); + data_ = null; + } + return dataBuilder_; + } + + private java.lang.Object contentType_ = ""; + /** + * string content_type = 3; + * @return The contentType. + */ + public java.lang.String getContentType() { + java.lang.Object ref = contentType_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + contentType_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string content_type = 3; + * @return The bytes for contentType. + */ + public com.google.protobuf.ByteString + getContentTypeBytes() { + java.lang.Object ref = contentType_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + contentType_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string content_type = 3; + * @param value The contentType to set. + * @return This builder for chaining. + */ + public Builder setContentType( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + contentType_ = value; + onChanged(); + return this; + } + /** + * string content_type = 3; + * @return This builder for chaining. + */ + public Builder clearContentType() { + + contentType_ = getDefaultInstance().getContentType(); + onChanged(); + return this; + } + /** + * string content_type = 3; + * @param value The bytes for contentType to set. + * @return This builder for chaining. + */ + public Builder setContentTypeBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + contentType_ = value; + onChanged(); + return this; + } + + private spec.proto.runtime.v1.RuntimeProto.HTTPExtension httpExtension_; + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.HTTPExtension, spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Builder, spec.proto.runtime.v1.RuntimeProto.HTTPExtensionOrBuilder> httpExtensionBuilder_; + /** + * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + * @return Whether the httpExtension field is set. + */ + public boolean hasHttpExtension() { + return httpExtensionBuilder_ != null || httpExtension_ != null; + } + /** + * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + * @return The httpExtension. + */ + public spec.proto.runtime.v1.RuntimeProto.HTTPExtension getHttpExtension() { + if (httpExtensionBuilder_ == null) { + return httpExtension_ == null ? spec.proto.runtime.v1.RuntimeProto.HTTPExtension.getDefaultInstance() : httpExtension_; + } else { + return httpExtensionBuilder_.getMessage(); + } + } + /** + * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + */ + public Builder setHttpExtension(spec.proto.runtime.v1.RuntimeProto.HTTPExtension value) { + if (httpExtensionBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + httpExtension_ = value; + onChanged(); + } else { + httpExtensionBuilder_.setMessage(value); + } + + return this; + } + /** + * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + */ + public Builder setHttpExtension( + spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Builder builderForValue) { + if (httpExtensionBuilder_ == null) { + httpExtension_ = builderForValue.build(); + onChanged(); + } else { + httpExtensionBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + */ + public Builder mergeHttpExtension(spec.proto.runtime.v1.RuntimeProto.HTTPExtension value) { + if (httpExtensionBuilder_ == null) { + if (httpExtension_ != null) { + httpExtension_ = + spec.proto.runtime.v1.RuntimeProto.HTTPExtension.newBuilder(httpExtension_).mergeFrom(value).buildPartial(); + } else { + httpExtension_ = value; + } + onChanged(); + } else { + httpExtensionBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + */ + public Builder clearHttpExtension() { + if (httpExtensionBuilder_ == null) { + httpExtension_ = null; + onChanged(); + } else { + httpExtension_ = null; + httpExtensionBuilder_ = null; + } + + return this; + } + /** + * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + */ + public spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Builder getHttpExtensionBuilder() { + + onChanged(); + return getHttpExtensionFieldBuilder().getBuilder(); + } + /** + * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + */ + public spec.proto.runtime.v1.RuntimeProto.HTTPExtensionOrBuilder getHttpExtensionOrBuilder() { + if (httpExtensionBuilder_ != null) { + return httpExtensionBuilder_.getMessageOrBuilder(); + } else { + return httpExtension_ == null ? + spec.proto.runtime.v1.RuntimeProto.HTTPExtension.getDefaultInstance() : httpExtension_; + } + } + /** + * .spec.proto.runtime.v1.HTTPExtension http_extension = 4; + */ + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.HTTPExtension, spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Builder, spec.proto.runtime.v1.RuntimeProto.HTTPExtensionOrBuilder> + getHttpExtensionFieldBuilder() { + if (httpExtensionBuilder_ == null) { + httpExtensionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.HTTPExtension, spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Builder, spec.proto.runtime.v1.RuntimeProto.HTTPExtensionOrBuilder>( + getHttpExtension(), + getParentForChildren(), + isClean()); + httpExtension_ = null; + } + return httpExtensionBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.CommonInvokeRequest) + } + + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.CommonInvokeRequest) + private static final spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest(); + } + + public static spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CommonInvokeRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new CommonInvokeRequest(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.CommonInvokeRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface HTTPExtensionOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.HTTPExtension) + com.google.protobuf.MessageOrBuilder { + + /** + * .spec.proto.runtime.v1.HTTPExtension.Verb verb = 1; + * @return The enum numeric value on the wire for verb. + */ + int getVerbValue(); + /** + * .spec.proto.runtime.v1.HTTPExtension.Verb verb = 1; + * @return The verb. + */ + spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb getVerb(); + + /** + * string querystring = 2; + * @return The querystring. + */ + java.lang.String getQuerystring(); + /** + * string querystring = 2; + * @return The bytes for querystring. + */ + com.google.protobuf.ByteString + getQuerystringBytes(); + } + /** + * Protobuf type {@code spec.proto.runtime.v1.HTTPExtension} + */ + public static final class HTTPExtension extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.HTTPExtension) + HTTPExtensionOrBuilder { + private static final long serialVersionUID = 0L; + // Use HTTPExtension.newBuilder() to construct. + private HTTPExtension(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private HTTPExtension() { + verb_ = 0; + querystring_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new HTTPExtension(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private HTTPExtension( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + int rawValue = input.readEnum(); + + verb_ = rawValue; + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + querystring_ = s; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_HTTPExtension_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_HTTPExtension_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.HTTPExtension.class, spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Builder.class); + } + + /** + * Protobuf enum {@code spec.proto.runtime.v1.HTTPExtension.Verb} + */ + public enum Verb + implements com.google.protobuf.ProtocolMessageEnum { + /** + * NONE = 0; + */ + NONE(0), + /** + * GET = 1; + */ + GET(1), + /** + * HEAD = 2; + */ + HEAD(2), + /** + * POST = 3; + */ + POST(3), + /** + * PUT = 4; + */ + PUT(4), + /** + * DELETE = 5; + */ + DELETE(5), + /** + * CONNECT = 6; + */ + CONNECT(6), + /** + * OPTIONS = 7; + */ + OPTIONS(7), + /** + * TRACE = 8; + */ + TRACE(8), + UNRECOGNIZED(-1), + ; + + /** + * NONE = 0; + */ + public static final int NONE_VALUE = 0; + /** + * GET = 1; + */ + public static final int GET_VALUE = 1; + /** + * HEAD = 2; + */ + public static final int HEAD_VALUE = 2; + /** + * POST = 3; + */ + public static final int POST_VALUE = 3; + /** + * PUT = 4; + */ + public static final int PUT_VALUE = 4; + /** + * DELETE = 5; + */ + public static final int DELETE_VALUE = 5; + /** + * CONNECT = 6; + */ + public static final int CONNECT_VALUE = 6; + /** + * OPTIONS = 7; + */ + public static final int OPTIONS_VALUE = 7; + /** + * TRACE = 8; + */ + public static final int TRACE_VALUE = 8; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Verb valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static Verb forNumber(int value) { + switch (value) { + case 0: return NONE; + case 1: return GET; + case 2: return HEAD; + case 3: return POST; + case 4: return PUT; + case 5: return DELETE; + case 6: return CONNECT; + case 7: return OPTIONS; + case 8: return TRACE; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + Verb> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Verb findValueByNumber(int number) { + return Verb.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.HTTPExtension.getDescriptor().getEnumTypes().get(0); + } + + private static final Verb[] VALUES = values(); + + public static Verb valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private Verb(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:spec.proto.runtime.v1.HTTPExtension.Verb) + } + + public static final int VERB_FIELD_NUMBER = 1; + private int verb_; + /** + * .spec.proto.runtime.v1.HTTPExtension.Verb verb = 1; + * @return The enum numeric value on the wire for verb. + */ + @java.lang.Override public int getVerbValue() { + return verb_; + } + /** + * .spec.proto.runtime.v1.HTTPExtension.Verb verb = 1; + * @return The verb. + */ + @java.lang.Override public spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb getVerb() { + @SuppressWarnings("deprecation") + spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb result = spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb.valueOf(verb_); + return result == null ? spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb.UNRECOGNIZED : result; + } + + public static final int QUERYSTRING_FIELD_NUMBER = 2; + private volatile java.lang.Object querystring_; + /** + * string querystring = 2; + * @return The querystring. + */ + @java.lang.Override + public java.lang.String getQuerystring() { + java.lang.Object ref = querystring_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + querystring_ = s; + return s; + } + } + /** + * string querystring = 2; + * @return The bytes for querystring. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getQuerystringBytes() { + java.lang.Object ref = querystring_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + querystring_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (verb_ != spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb.NONE.getNumber()) { + output.writeEnum(1, verb_); + } + if (!getQuerystringBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, querystring_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (verb_ != spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb.NONE.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, verb_); + } + if (!getQuerystringBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, querystring_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.HTTPExtension)) { + return super.equals(obj); + } + spec.proto.runtime.v1.RuntimeProto.HTTPExtension other = (spec.proto.runtime.v1.RuntimeProto.HTTPExtension) obj; + + if (verb_ != other.verb_) return false; + if (!getQuerystring() + .equals(other.getQuerystring())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + VERB_FIELD_NUMBER; + hash = (53 * hash) + verb_; + hash = (37 * hash) + QUERYSTRING_FIELD_NUMBER; + hash = (53 * hash) + getQuerystring().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.HTTPExtension prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code spec.proto.runtime.v1.HTTPExtension} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.HTTPExtension) + spec.proto.runtime.v1.RuntimeProto.HTTPExtensionOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_HTTPExtension_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_HTTPExtension_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.HTTPExtension.class, spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Builder.class); + } + + // Construct using spec.proto.runtime.v1.RuntimeProto.HTTPExtension.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + verb_ = 0; + + querystring_ = ""; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_HTTPExtension_descriptor; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.HTTPExtension getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.HTTPExtension.getDefaultInstance(); + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.HTTPExtension build() { + spec.proto.runtime.v1.RuntimeProto.HTTPExtension result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.HTTPExtension buildPartial() { + spec.proto.runtime.v1.RuntimeProto.HTTPExtension result = new spec.proto.runtime.v1.RuntimeProto.HTTPExtension(this); + result.verb_ = verb_; + result.querystring_ = querystring_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof spec.proto.runtime.v1.RuntimeProto.HTTPExtension) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.HTTPExtension)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.HTTPExtension other) { + if (other == spec.proto.runtime.v1.RuntimeProto.HTTPExtension.getDefaultInstance()) return this; + if (other.verb_ != 0) { + setVerbValue(other.getVerbValue()); + } + if (!other.getQuerystring().isEmpty()) { + querystring_ = other.querystring_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + spec.proto.runtime.v1.RuntimeProto.HTTPExtension parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.HTTPExtension) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int verb_ = 0; + /** + * .spec.proto.runtime.v1.HTTPExtension.Verb verb = 1; + * @return The enum numeric value on the wire for verb. + */ + @java.lang.Override public int getVerbValue() { + return verb_; + } + /** + * .spec.proto.runtime.v1.HTTPExtension.Verb verb = 1; + * @param value The enum numeric value on the wire for verb to set. + * @return This builder for chaining. + */ + public Builder setVerbValue(int value) { + + verb_ = value; + onChanged(); + return this; + } + /** + * .spec.proto.runtime.v1.HTTPExtension.Verb verb = 1; + * @return The verb. + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb getVerb() { + @SuppressWarnings("deprecation") + spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb result = spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb.valueOf(verb_); + return result == null ? spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb.UNRECOGNIZED : result; + } + /** + * .spec.proto.runtime.v1.HTTPExtension.Verb verb = 1; + * @param value The verb to set. + * @return This builder for chaining. + */ + public Builder setVerb(spec.proto.runtime.v1.RuntimeProto.HTTPExtension.Verb value) { + if (value == null) { + throw new NullPointerException(); + } + + verb_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .spec.proto.runtime.v1.HTTPExtension.Verb verb = 1; + * @return This builder for chaining. + */ + public Builder clearVerb() { + + verb_ = 0; + onChanged(); + return this; + } + + private java.lang.Object querystring_ = ""; + /** + * string querystring = 2; + * @return The querystring. + */ + public java.lang.String getQuerystring() { + java.lang.Object ref = querystring_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + querystring_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string querystring = 2; + * @return The bytes for querystring. + */ + public com.google.protobuf.ByteString + getQuerystringBytes() { + java.lang.Object ref = querystring_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + querystring_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string querystring = 2; + * @param value The querystring to set. + * @return This builder for chaining. + */ + public Builder setQuerystring( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + querystring_ = value; + onChanged(); + return this; + } + /** + * string querystring = 2; + * @return This builder for chaining. + */ + public Builder clearQuerystring() { + + querystring_ = getDefaultInstance().getQuerystring(); + onChanged(); + return this; + } + /** + * string querystring = 2; + * @param value The bytes for querystring to set. + * @return This builder for chaining. + */ + public Builder setQuerystringBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + querystring_ = value; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.HTTPExtension) + } + + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.HTTPExtension) + private static final spec.proto.runtime.v1.RuntimeProto.HTTPExtension DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.HTTPExtension(); + } + + public static spec.proto.runtime.v1.RuntimeProto.HTTPExtension getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public HTTPExtension parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new HTTPExtension(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.HTTPExtension getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface InvokeResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.InvokeResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * .google.protobuf.Any data = 1; + * @return Whether the data field is set. + */ + boolean hasData(); + /** + * .google.protobuf.Any data = 1; + * @return The data. + */ + com.google.protobuf.Any getData(); + /** + * .google.protobuf.Any data = 1; + */ + com.google.protobuf.AnyOrBuilder getDataOrBuilder(); + + /** + * string content_type = 2; + * @return The contentType. + */ + java.lang.String getContentType(); + /** + * string content_type = 2; + * @return The bytes for contentType. + */ + com.google.protobuf.ByteString + getContentTypeBytes(); + } + /** + * Protobuf type {@code spec.proto.runtime.v1.InvokeResponse} + */ + public static final class InvokeResponse extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.InvokeResponse) + InvokeResponseOrBuilder { + private static final long serialVersionUID = 0L; + // Use InvokeResponse.newBuilder() to construct. + private InvokeResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private InvokeResponse() { + contentType_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new InvokeResponse(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private InvokeResponse( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + com.google.protobuf.Any.Builder subBuilder = null; + if (data_ != null) { + subBuilder = data_.toBuilder(); + } + data_ = input.readMessage(com.google.protobuf.Any.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(data_); + data_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + contentType_ = s; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.InvokeResponse.class, spec.proto.runtime.v1.RuntimeProto.InvokeResponse.Builder.class); + } + + public static final int DATA_FIELD_NUMBER = 1; + private com.google.protobuf.Any data_; + /** + * .google.protobuf.Any data = 1; + * @return Whether the data field is set. + */ + @java.lang.Override + public boolean hasData() { + return data_ != null; + } + /** + * .google.protobuf.Any data = 1; + * @return The data. + */ + @java.lang.Override + public com.google.protobuf.Any getData() { + return data_ == null ? com.google.protobuf.Any.getDefaultInstance() : data_; + } + /** + * .google.protobuf.Any data = 1; + */ + @java.lang.Override + public com.google.protobuf.AnyOrBuilder getDataOrBuilder() { + return getData(); + } + + public static final int CONTENT_TYPE_FIELD_NUMBER = 2; + private volatile java.lang.Object contentType_; + /** + * string content_type = 2; + * @return The contentType. + */ + @java.lang.Override + public java.lang.String getContentType() { + java.lang.Object ref = contentType_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + contentType_ = s; + return s; + } + } + /** + * string content_type = 2; + * @return The bytes for contentType. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getContentTypeBytes() { + java.lang.Object ref = contentType_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + contentType_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (data_ != null) { + output.writeMessage(1, getData()); + } + if (!getContentTypeBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, contentType_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (data_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getData()); + } + if (!getContentTypeBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, contentType_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.InvokeResponse)) { + return super.equals(obj); + } + spec.proto.runtime.v1.RuntimeProto.InvokeResponse other = (spec.proto.runtime.v1.RuntimeProto.InvokeResponse) obj; + + if (hasData() != other.hasData()) return false; + if (hasData()) { + if (!getData() + .equals(other.getData())) return false; + } + if (!getContentType() + .equals(other.getContentType())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasData()) { + hash = (37 * hash) + DATA_FIELD_NUMBER; + hash = (53 * hash) + getData().hashCode(); + } + hash = (37 * hash) + CONTENT_TYPE_FIELD_NUMBER; + hash = (53 * hash) + getContentType().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.InvokeResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code spec.proto.runtime.v1.InvokeResponse} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.InvokeResponse) + spec.proto.runtime.v1.RuntimeProto.InvokeResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.InvokeResponse.class, spec.proto.runtime.v1.RuntimeProto.InvokeResponse.Builder.class); + } + + // Construct using spec.proto.runtime.v1.RuntimeProto.InvokeResponse.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (dataBuilder_ == null) { + data_ = null; + } else { + data_ = null; + dataBuilder_ = null; + } + contentType_ = ""; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeResponse_descriptor; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.InvokeResponse getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.InvokeResponse.getDefaultInstance(); + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.InvokeResponse build() { + spec.proto.runtime.v1.RuntimeProto.InvokeResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.InvokeResponse buildPartial() { + spec.proto.runtime.v1.RuntimeProto.InvokeResponse result = new spec.proto.runtime.v1.RuntimeProto.InvokeResponse(this); + if (dataBuilder_ == null) { + result.data_ = data_; + } else { + result.data_ = dataBuilder_.build(); + } + result.contentType_ = contentType_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof spec.proto.runtime.v1.RuntimeProto.InvokeResponse) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.InvokeResponse)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.InvokeResponse other) { + if (other == spec.proto.runtime.v1.RuntimeProto.InvokeResponse.getDefaultInstance()) return this; + if (other.hasData()) { + mergeData(other.getData()); + } + if (!other.getContentType().isEmpty()) { + contentType_ = other.contentType_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + spec.proto.runtime.v1.RuntimeProto.InvokeResponse parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.InvokeResponse) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private com.google.protobuf.Any data_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> dataBuilder_; + /** + * .google.protobuf.Any data = 1; + * @return Whether the data field is set. + */ + public boolean hasData() { + return dataBuilder_ != null || data_ != null; + } + /** + * .google.protobuf.Any data = 1; + * @return The data. + */ + public com.google.protobuf.Any getData() { + if (dataBuilder_ == null) { + return data_ == null ? com.google.protobuf.Any.getDefaultInstance() : data_; + } else { + return dataBuilder_.getMessage(); + } + } + /** + * .google.protobuf.Any data = 1; + */ + public Builder setData(com.google.protobuf.Any value) { + if (dataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + data_ = value; + onChanged(); + } else { + dataBuilder_.setMessage(value); + } + + return this; + } + /** + * .google.protobuf.Any data = 1; + */ + public Builder setData( + com.google.protobuf.Any.Builder builderForValue) { + if (dataBuilder_ == null) { + data_ = builderForValue.build(); + onChanged(); + } else { + dataBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .google.protobuf.Any data = 1; + */ + public Builder mergeData(com.google.protobuf.Any value) { + if (dataBuilder_ == null) { + if (data_ != null) { + data_ = + com.google.protobuf.Any.newBuilder(data_).mergeFrom(value).buildPartial(); + } else { + data_ = value; + } + onChanged(); + } else { + dataBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .google.protobuf.Any data = 1; + */ + public Builder clearData() { + if (dataBuilder_ == null) { + data_ = null; + onChanged(); + } else { + data_ = null; + dataBuilder_ = null; + } + + return this; + } + /** + * .google.protobuf.Any data = 1; + */ + public com.google.protobuf.Any.Builder getDataBuilder() { + + onChanged(); + return getDataFieldBuilder().getBuilder(); + } + /** + * .google.protobuf.Any data = 1; + */ + public com.google.protobuf.AnyOrBuilder getDataOrBuilder() { + if (dataBuilder_ != null) { + return dataBuilder_.getMessageOrBuilder(); + } else { + return data_ == null ? + com.google.protobuf.Any.getDefaultInstance() : data_; + } + } + /** + * .google.protobuf.Any data = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> + getDataFieldBuilder() { + if (dataBuilder_ == null) { + dataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>( + getData(), + getParentForChildren(), + isClean()); + data_ = null; + } + return dataBuilder_; + } + + private java.lang.Object contentType_ = ""; + /** + * string content_type = 2; + * @return The contentType. + */ + public java.lang.String getContentType() { + java.lang.Object ref = contentType_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + contentType_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string content_type = 2; + * @return The bytes for contentType. + */ + public com.google.protobuf.ByteString + getContentTypeBytes() { + java.lang.Object ref = contentType_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + contentType_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string content_type = 2; + * @param value The contentType to set. + * @return This builder for chaining. + */ + public Builder setContentType( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + contentType_ = value; + onChanged(); + return this; + } + /** + * string content_type = 2; + * @return This builder for chaining. + */ + public Builder clearContentType() { + + contentType_ = getDefaultInstance().getContentType(); + onChanged(); + return this; + } + /** + * string content_type = 2; + * @param value The bytes for contentType to set. + * @return This builder for chaining. + */ + public Builder setContentTypeBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + contentType_ = value; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.InvokeResponse) + } + + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.InvokeResponse) + private static final spec.proto.runtime.v1.RuntimeProto.InvokeResponse DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.InvokeResponse(); + } + + public static spec.proto.runtime.v1.RuntimeProto.InvokeResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public InvokeResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new InvokeResponse(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.InvokeResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ConfigurationItemOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.ConfigurationItem) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * Required. The key of configuration item
+     * 
+ * + * string key = 1; + * @return The key. + */ + java.lang.String getKey(); + /** + *
+     * Required. The key of configuration item
+     * 
+ * + * string key = 1; + * @return The bytes for key. + */ + com.google.protobuf.ByteString + getKeyBytes(); + + /** + *
+     * The content of configuration item
+     * Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
+     * 
+ * + * string content = 2; + * @return The content. + */ + java.lang.String getContent(); + /** + *
+     * The content of configuration item
+     * Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
+     * 
+ * + * string content = 2; + * @return The bytes for content. + */ + com.google.protobuf.ByteString + getContentBytes(); + + /** + *
+     * The group of configuration item.
+     * 
+ * + * string group = 3; + * @return The group. + */ + java.lang.String getGroup(); + /** + *
+     * The group of configuration item.
+     * 
+ * + * string group = 3; + * @return The bytes for group. + */ + com.google.protobuf.ByteString + getGroupBytes(); + + /** + *
+     * The label of configuration item.
+     * 
+ * + * string label = 4; + * @return The label. + */ + java.lang.String getLabel(); + /** + *
+     * The label of configuration item.
+     * 
+ * + * string label = 4; + * @return The bytes for label. + */ + com.google.protobuf.ByteString + getLabelBytes(); + + /** + *
+     * The tag list of configuration item.
+     * 
+ * + * map<string, string> tags = 5; + */ + int getTagsCount(); + /** + *
+     * The tag list of configuration item.
+     * 
+ * + * map<string, string> tags = 5; + */ + boolean containsTags( + java.lang.String key); + /** + * Use {@link #getTagsMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getTags(); + /** + *
+     * The tag list of configuration item.
+     * 
+ * + * map<string, string> tags = 5; + */ + java.util.Map + getTagsMap(); + /** + *
+     * The tag list of configuration item.
+     * 
+ * + * map<string, string> tags = 5; + */ + + java.lang.String getTagsOrDefault( + java.lang.String key, + java.lang.String defaultValue); + /** + *
+     * The tag list of configuration item.
+     * 
+ * + * map<string, string> tags = 5; + */ + + java.lang.String getTagsOrThrow( + java.lang.String key); + + /** + *
+     * The metadata which will be passed to configuration store component.
+     * 
+ * + * map<string, string> metadata = 6; + */ + int getMetadataCount(); + /** + *
+     * The metadata which will be passed to configuration store component.
+     * 
+ * + * map<string, string> metadata = 6; + */ + boolean containsMetadata( + java.lang.String key); + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getMetadata(); + /** + *
+     * The metadata which will be passed to configuration store component.
+     * 
+ * + * map<string, string> metadata = 6; + */ + java.util.Map + getMetadataMap(); + /** + *
+     * The metadata which will be passed to configuration store component.
+     * 
+ * + * map<string, string> metadata = 6; + */ + + java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue); + /** + *
+     * The metadata which will be passed to configuration store component.
+     * 
+ * + * map<string, string> metadata = 6; + */ + + java.lang.String getMetadataOrThrow( + java.lang.String key); + } + /** + *
+   * ConfigurationItem represents a configuration item with key, content and other information.
+   * 
+ * + * Protobuf type {@code spec.proto.runtime.v1.ConfigurationItem} + */ + public static final class ConfigurationItem extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.ConfigurationItem) + ConfigurationItemOrBuilder { + private static final long serialVersionUID = 0L; + // Use ConfigurationItem.newBuilder() to construct. + private ConfigurationItem(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ConfigurationItem() { + key_ = ""; + content_ = ""; + group_ = ""; + label_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ConfigurationItem(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ConfigurationItem( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + key_ = s; + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + content_ = s; + break; + } + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + + group_ = s; + break; + } + case 34: { + java.lang.String s = input.readStringRequireUtf8(); + + label_ = s; + break; + } + case 42: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + tags_ = com.google.protobuf.MapField.newMapField( + TagsDefaultEntryHolder.defaultEntry); + mutable_bitField0_ |= 0x00000001; + } + com.google.protobuf.MapEntry + tags__ = input.readMessage( + TagsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + tags_.getMutableMap().put( + tags__.getKey(), tags__.getValue()); + break; + } + case 50: { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); + mutable_bitField0_ |= 0x00000002; + } + com.google.protobuf.MapEntry + metadata__ = input.readMessage( + MetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + metadata_.getMutableMap().put( + metadata__.getKey(), metadata__.getValue()); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ConfigurationItem_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 5: + return internalGetTags(); + case 6: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ConfigurationItem_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.class, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder.class); + } + + public static final int KEY_FIELD_NUMBER = 1; + private volatile java.lang.Object key_; + /** + *
+     * Required. The key of configuration item
+     * 
+ * + * string key = 1; + * @return The key. + */ + @java.lang.Override + public java.lang.String getKey() { + java.lang.Object ref = key_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + key_ = s; + return s; + } + } + /** + *
+     * Required. The key of configuration item
+     * 
+ * + * string key = 1; + * @return The bytes for key. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getKeyBytes() { + java.lang.Object ref = key_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + key_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int CONTENT_FIELD_NUMBER = 2; + private volatile java.lang.Object content_; + /** + *
+     * The content of configuration item
+     * Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
+     * 
+ * + * string content = 2; + * @return The content. + */ + @java.lang.Override + public java.lang.String getContent() { + java.lang.Object ref = content_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + content_ = s; + return s; + } + } + /** + *
+     * The content of configuration item
+     * Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
+     * 
+ * + * string content = 2; + * @return The bytes for content. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getContentBytes() { + java.lang.Object ref = content_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + content_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int GROUP_FIELD_NUMBER = 3; + private volatile java.lang.Object group_; + /** + *
+     * The group of configuration item.
+     * 
+ * + * string group = 3; + * @return The group. + */ + @java.lang.Override + public java.lang.String getGroup() { + java.lang.Object ref = group_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + group_ = s; + return s; + } + } + /** + *
+     * The group of configuration item.
+     * 
+ * + * string group = 3; + * @return The bytes for group. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getGroupBytes() { + java.lang.Object ref = group_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + group_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int LABEL_FIELD_NUMBER = 4; + private volatile java.lang.Object label_; + /** + *
+     * The label of configuration item.
+     * 
+ * + * string label = 4; + * @return The label. + */ + @java.lang.Override + public java.lang.String getLabel() { + java.lang.Object ref = label_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + label_ = s; + return s; + } + } + /** + *
+     * The label of configuration item.
+     * 
+ * + * string label = 4; + * @return The bytes for label. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getLabelBytes() { + java.lang.Object ref = label_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + label_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TAGS_FIELD_NUMBER = 5; + private static final class TagsDefaultEntryHolder { + static final com.google.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ConfigurationItem_TagsEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> tags_; + private com.google.protobuf.MapField + internalGetTags() { + if (tags_ == null) { + return com.google.protobuf.MapField.emptyMapField( + TagsDefaultEntryHolder.defaultEntry); + } + return tags_; + } + + public int getTagsCount() { + return internalGetTags().getMap().size(); + } + /** + *
+     * The tag list of configuration item.
+     * 
+ * + * map<string, string> tags = 5; + */ + + @java.lang.Override + public boolean containsTags( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetTags().getMap().containsKey(key); + } + /** + * Use {@link #getTagsMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getTags() { + return getTagsMap(); + } + /** + *
+     * The tag list of configuration item.
+     * 
+ * + * map<string, string> tags = 5; + */ + @java.lang.Override + + public java.util.Map getTagsMap() { + return internalGetTags().getMap(); + } + /** + *
+     * The tag list of configuration item.
+     * 
+ * + * map<string, string> tags = 5; + */ + @java.lang.Override + + public java.lang.String getTagsOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetTags().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+     * The tag list of configuration item.
+     * 
+ * + * map<string, string> tags = 5; + */ + @java.lang.Override + + public java.lang.String getTagsOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetTags().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public static final int METADATA_FIELD_NUMBER = 6; + private static final class MetadataDefaultEntryHolder { + static final com.google.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ConfigurationItem_MetadataEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + return metadata_; + } + + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); + } + /** + *
+     * The metadata which will be passed to configuration store component.
+     * 
+ * + * map<string, string> metadata = 6; + */ + + @java.lang.Override + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); + } + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); + } + /** + *
+     * The metadata which will be passed to configuration store component.
+     * 
+ * + * map<string, string> metadata = 6; + */ + @java.lang.Override + + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); + } + /** + *
+     * The metadata which will be passed to configuration store component.
+     * 
+ * + * map<string, string> metadata = 6; + */ + @java.lang.Override + + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+     * The metadata which will be passed to configuration store component.
+     * 
+ * + * map<string, string> metadata = 6; + */ + @java.lang.Override + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getKeyBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, key_); + } + if (!getContentBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, content_); + } + if (!getGroupBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, group_); + } + if (!getLabelBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, label_); + } + com.google.protobuf.GeneratedMessageV3 + .serializeStringMapTo( + output, + internalGetTags(), + TagsDefaultEntryHolder.defaultEntry, + 5); + com.google.protobuf.GeneratedMessageV3 + .serializeStringMapTo( + output, + internalGetMetadata(), + MetadataDefaultEntryHolder.defaultEntry, + 6); + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getKeyBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, key_); + } + if (!getContentBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, content_); + } + if (!getGroupBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, group_); + } + if (!getLabelBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, label_); + } + for (java.util.Map.Entry entry + : internalGetTags().getMap().entrySet()) { + com.google.protobuf.MapEntry + tags__ = TagsDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, tags__); + } + for (java.util.Map.Entry entry + : internalGetMetadata().getMap().entrySet()) { + com.google.protobuf.MapEntry + metadata__ = MetadataDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, metadata__); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.ConfigurationItem)) { + return super.equals(obj); + } + spec.proto.runtime.v1.RuntimeProto.ConfigurationItem other = (spec.proto.runtime.v1.RuntimeProto.ConfigurationItem) obj; + + if (!getKey() + .equals(other.getKey())) return false; + if (!getContent() + .equals(other.getContent())) return false; + if (!getGroup() + .equals(other.getGroup())) return false; + if (!getLabel() + .equals(other.getLabel())) return false; + if (!internalGetTags().equals( + other.internalGetTags())) return false; + if (!internalGetMetadata().equals( + other.internalGetMetadata())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + KEY_FIELD_NUMBER; + hash = (53 * hash) + getKey().hashCode(); + hash = (37 * hash) + CONTENT_FIELD_NUMBER; + hash = (53 * hash) + getContent().hashCode(); + hash = (37 * hash) + GROUP_FIELD_NUMBER; + hash = (53 * hash) + getGroup().hashCode(); + hash = (37 * hash) + LABEL_FIELD_NUMBER; + hash = (53 * hash) + getLabel().hashCode(); + if (!internalGetTags().getMap().isEmpty()) { + hash = (37 * hash) + TAGS_FIELD_NUMBER; + hash = (53 * hash) + internalGetTags().hashCode(); + } + if (!internalGetMetadata().getMap().isEmpty()) { + hash = (37 * hash) + METADATA_FIELD_NUMBER; + hash = (53 * hash) + internalGetMetadata().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.ConfigurationItem prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * ConfigurationItem represents a configuration item with key, content and other information.
+     * 
+ * + * Protobuf type {@code spec.proto.runtime.v1.ConfigurationItem} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.ConfigurationItem) + spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ConfigurationItem_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 5: + return internalGetTags(); + case 6: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMutableMapField( + int number) { + switch (number) { + case 5: + return internalGetMutableTags(); + case 6: + return internalGetMutableMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ConfigurationItem_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.class, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder.class); + } + + // Construct using spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + key_ = ""; + + content_ = ""; + + group_ = ""; + + label_ = ""; + + internalGetMutableTags().clear(); + internalGetMutableMetadata().clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ConfigurationItem_descriptor; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.getDefaultInstance(); + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem build() { + spec.proto.runtime.v1.RuntimeProto.ConfigurationItem result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem buildPartial() { + spec.proto.runtime.v1.RuntimeProto.ConfigurationItem result = new spec.proto.runtime.v1.RuntimeProto.ConfigurationItem(this); + int from_bitField0_ = bitField0_; + result.key_ = key_; + result.content_ = content_; + result.group_ = group_; + result.label_ = label_; + result.tags_ = internalGetTags(); + result.tags_.makeImmutable(); + result.metadata_ = internalGetMetadata(); + result.metadata_.makeImmutable(); + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof spec.proto.runtime.v1.RuntimeProto.ConfigurationItem) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.ConfigurationItem)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.ConfigurationItem other) { + if (other == spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.getDefaultInstance()) return this; + if (!other.getKey().isEmpty()) { + key_ = other.key_; + onChanged(); + } + if (!other.getContent().isEmpty()) { + content_ = other.content_; + onChanged(); + } + if (!other.getGroup().isEmpty()) { + group_ = other.group_; + onChanged(); + } + if (!other.getLabel().isEmpty()) { + label_ = other.label_; + onChanged(); + } + internalGetMutableTags().mergeFrom( + other.internalGetTags()); + internalGetMutableMetadata().mergeFrom( + other.internalGetMetadata()); + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.ConfigurationItem) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.lang.Object key_ = ""; + /** + *
+       * Required. The key of configuration item
+       * 
+ * + * string key = 1; + * @return The key. + */ + public java.lang.String getKey() { + java.lang.Object ref = key_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + key_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Required. The key of configuration item
+       * 
+ * + * string key = 1; + * @return The bytes for key. + */ + public com.google.protobuf.ByteString + getKeyBytes() { + java.lang.Object ref = key_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + key_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Required. The key of configuration item
+       * 
+ * + * string key = 1; + * @param value The key to set. + * @return This builder for chaining. + */ + public Builder setKey( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + key_ = value; + onChanged(); + return this; + } + /** + *
+       * Required. The key of configuration item
+       * 
+ * + * string key = 1; + * @return This builder for chaining. + */ + public Builder clearKey() { + + key_ = getDefaultInstance().getKey(); + onChanged(); + return this; + } + /** + *
+       * Required. The key of configuration item
+       * 
+ * + * string key = 1; + * @param value The bytes for key to set. + * @return This builder for chaining. + */ + public Builder setKeyBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + key_ = value; + onChanged(); + return this; + } + + private java.lang.Object content_ = ""; + /** + *
+       * The content of configuration item
+       * Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
+       * 
+ * + * string content = 2; + * @return The content. + */ + public java.lang.String getContent() { + java.lang.Object ref = content_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + content_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * The content of configuration item
+       * Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
+       * 
+ * + * string content = 2; + * @return The bytes for content. + */ + public com.google.protobuf.ByteString + getContentBytes() { + java.lang.Object ref = content_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + content_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The content of configuration item
+       * Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
+       * 
+ * + * string content = 2; + * @param value The content to set. + * @return This builder for chaining. + */ + public Builder setContent( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + content_ = value; + onChanged(); + return this; + } + /** + *
+       * The content of configuration item
+       * Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
+       * 
+ * + * string content = 2; + * @return This builder for chaining. + */ + public Builder clearContent() { + + content_ = getDefaultInstance().getContent(); + onChanged(); + return this; + } + /** + *
+       * The content of configuration item
+       * Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
+       * 
+ * + * string content = 2; + * @param value The bytes for content to set. + * @return This builder for chaining. + */ + public Builder setContentBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + content_ = value; + onChanged(); + return this; + } + + private java.lang.Object group_ = ""; + /** + *
+       * The group of configuration item.
+       * 
+ * + * string group = 3; + * @return The group. + */ + public java.lang.String getGroup() { + java.lang.Object ref = group_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + group_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * The group of configuration item.
+       * 
+ * + * string group = 3; + * @return The bytes for group. + */ + public com.google.protobuf.ByteString + getGroupBytes() { + java.lang.Object ref = group_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + group_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The group of configuration item.
+       * 
+ * + * string group = 3; + * @param value The group to set. + * @return This builder for chaining. + */ + public Builder setGroup( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + group_ = value; + onChanged(); + return this; + } + /** + *
+       * The group of configuration item.
+       * 
+ * + * string group = 3; + * @return This builder for chaining. + */ + public Builder clearGroup() { + + group_ = getDefaultInstance().getGroup(); + onChanged(); + return this; + } + /** + *
+       * The group of configuration item.
+       * 
+ * + * string group = 3; + * @param value The bytes for group to set. + * @return This builder for chaining. + */ + public Builder setGroupBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + group_ = value; + onChanged(); + return this; + } + + private java.lang.Object label_ = ""; + /** + *
+       * The label of configuration item.
+       * 
+ * + * string label = 4; + * @return The label. + */ + public java.lang.String getLabel() { + java.lang.Object ref = label_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + label_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * The label of configuration item.
+       * 
+ * + * string label = 4; + * @return The bytes for label. + */ + public com.google.protobuf.ByteString + getLabelBytes() { + java.lang.Object ref = label_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + label_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The label of configuration item.
+       * 
+ * + * string label = 4; + * @param value The label to set. + * @return This builder for chaining. + */ + public Builder setLabel( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + label_ = value; + onChanged(); + return this; + } + /** + *
+       * The label of configuration item.
+       * 
+ * + * string label = 4; + * @return This builder for chaining. + */ + public Builder clearLabel() { + + label_ = getDefaultInstance().getLabel(); + onChanged(); + return this; + } + /** + *
+       * The label of configuration item.
+       * 
+ * + * string label = 4; + * @param value The bytes for label to set. + * @return This builder for chaining. + */ + public Builder setLabelBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + label_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> tags_; + private com.google.protobuf.MapField + internalGetTags() { + if (tags_ == null) { + return com.google.protobuf.MapField.emptyMapField( + TagsDefaultEntryHolder.defaultEntry); + } + return tags_; + } + private com.google.protobuf.MapField + internalGetMutableTags() { + onChanged();; + if (tags_ == null) { + tags_ = com.google.protobuf.MapField.newMapField( + TagsDefaultEntryHolder.defaultEntry); + } + if (!tags_.isMutable()) { + tags_ = tags_.copy(); + } + return tags_; + } + + public int getTagsCount() { + return internalGetTags().getMap().size(); + } + /** + *
+       * The tag list of configuration item.
+       * 
+ * + * map<string, string> tags = 5; + */ + + @java.lang.Override + public boolean containsTags( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetTags().getMap().containsKey(key); + } + /** + * Use {@link #getTagsMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getTags() { + return getTagsMap(); + } + /** + *
+       * The tag list of configuration item.
+       * 
+ * + * map<string, string> tags = 5; + */ + @java.lang.Override + + public java.util.Map getTagsMap() { + return internalGetTags().getMap(); + } + /** + *
+       * The tag list of configuration item.
+       * 
+ * + * map<string, string> tags = 5; + */ + @java.lang.Override + + public java.lang.String getTagsOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetTags().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+       * The tag list of configuration item.
+       * 
+ * + * map<string, string> tags = 5; + */ + @java.lang.Override + + public java.lang.String getTagsOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetTags().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public Builder clearTags() { + internalGetMutableTags().getMutableMap() + .clear(); + return this; + } + /** + *
+       * The tag list of configuration item.
+       * 
+ * + * map<string, string> tags = 5; + */ + + public Builder removeTags( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + internalGetMutableTags().getMutableMap() + .remove(key); + return this; + } + /** + * Use alternate mutation accessors instead. + */ + @java.lang.Deprecated + public java.util.Map + getMutableTags() { + return internalGetMutableTags().getMutableMap(); + } + /** + *
+       * The tag list of configuration item.
+       * 
+ * + * map<string, string> tags = 5; + */ + public Builder putTags( + java.lang.String key, + java.lang.String value) { + if (key == null) { throw new java.lang.NullPointerException(); } + if (value == null) { throw new java.lang.NullPointerException(); } + internalGetMutableTags().getMutableMap() + .put(key, value); + return this; + } + /** + *
+       * The tag list of configuration item.
+       * 
+ * + * map<string, string> tags = 5; + */ + + public Builder putAllTags( + java.util.Map values) { + internalGetMutableTags().getMutableMap() + .putAll(values); + return this; + } + + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + return metadata_; + } + private com.google.protobuf.MapField + internalGetMutableMetadata() { + onChanged();; + if (metadata_ == null) { + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + if (!metadata_.isMutable()) { + metadata_ = metadata_.copy(); + } + return metadata_; + } + + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); + } + /** + *
+       * The metadata which will be passed to configuration store component.
+       * 
+ * + * map<string, string> metadata = 6; + */ + + @java.lang.Override + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); + } + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); + } + /** + *
+       * The metadata which will be passed to configuration store component.
+       * 
+ * + * map<string, string> metadata = 6; + */ + @java.lang.Override + + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); + } + /** + *
+       * The metadata which will be passed to configuration store component.
+       * 
+ * + * map<string, string> metadata = 6; + */ + @java.lang.Override + + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+       * The metadata which will be passed to configuration store component.
+       * 
+ * + * map<string, string> metadata = 6; + */ + @java.lang.Override + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public Builder clearMetadata() { + internalGetMutableMetadata().getMutableMap() + .clear(); + return this; + } + /** + *
+       * The metadata which will be passed to configuration store component.
+       * 
+ * + * map<string, string> metadata = 6; + */ + + public Builder removeMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .remove(key); + return this; + } + /** + * Use alternate mutation accessors instead. + */ + @java.lang.Deprecated + public java.util.Map + getMutableMetadata() { + return internalGetMutableMetadata().getMutableMap(); + } + /** + *
+       * The metadata which will be passed to configuration store component.
+       * 
+ * + * map<string, string> metadata = 6; + */ + public Builder putMetadata( + java.lang.String key, + java.lang.String value) { + if (key == null) { throw new java.lang.NullPointerException(); } + if (value == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .put(key, value); + return this; + } + /** + *
+       * The metadata which will be passed to configuration store component.
+       * 
+ * + * map<string, string> metadata = 6; + */ + + public Builder putAllMetadata( + java.util.Map values) { + internalGetMutableMetadata().getMutableMap() + .putAll(values); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.ConfigurationItem) + } + + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.ConfigurationItem) + private static final spec.proto.runtime.v1.RuntimeProto.ConfigurationItem DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.ConfigurationItem(); + } + + public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ConfigurationItem parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ConfigurationItem(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface GetConfigurationRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.GetConfigurationRequest) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * The name of configuration store.
+     * 
+ * + * string store_name = 1; + * @return The storeName. + */ + java.lang.String getStoreName(); + /** + *
+     * The name of configuration store.
+     * 
+ * + * string store_name = 1; + * @return The bytes for storeName. + */ + com.google.protobuf.ByteString + getStoreNameBytes(); + + /** + *
+     * The application id which
+     * Only used for admin, Ignored and reset for normal client
+     * 
+ * + * string app_id = 2; + * @return The appId. + */ + java.lang.String getAppId(); + /** + *
+     * The application id which
+     * Only used for admin, Ignored and reset for normal client
+     * 
+ * + * string app_id = 2; + * @return The bytes for appId. + */ + com.google.protobuf.ByteString + getAppIdBytes(); + + /** + *
+     * The group of keys.
+     * 
+ * + * string group = 3; + * @return The group. + */ + java.lang.String getGroup(); + /** + *
+     * The group of keys.
+     * 
+ * + * string group = 3; + * @return The bytes for group. + */ + com.google.protobuf.ByteString + getGroupBytes(); + + /** + *
+     * The label for keys.
+     * 
+ * + * string label = 4; + * @return The label. + */ + java.lang.String getLabel(); + /** + *
+     * The label for keys.
+     * 
+ * + * string label = 4; + * @return The bytes for label. + */ + com.google.protobuf.ByteString + getLabelBytes(); + + /** + *
+     * The keys to get.
+     * 
+ * + * repeated string keys = 5; + * @return A list containing the keys. + */ + java.util.List + getKeysList(); + /** + *
+     * The keys to get.
+     * 
+ * + * repeated string keys = 5; + * @return The count of keys. + */ + int getKeysCount(); + /** + *
+     * The keys to get.
+     * 
+ * + * repeated string keys = 5; + * @param index The index of the element to return. + * @return The keys at the given index. + */ + java.lang.String getKeys(int index); + /** + *
+     * The keys to get.
+     * 
+ * + * repeated string keys = 5; + * @param index The index of the value to return. + * @return The bytes of the keys at the given index. + */ + com.google.protobuf.ByteString + getKeysBytes(int index); + + /** + *
+     * The metadata which will be sent to configuration store components.
+     * 
+ * + * map<string, string> metadata = 6; + */ + int getMetadataCount(); + /** + *
+     * The metadata which will be sent to configuration store components.
+     * 
+ * + * map<string, string> metadata = 6; + */ + boolean containsMetadata( + java.lang.String key); + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getMetadata(); + /** + *
+     * The metadata which will be sent to configuration store components.
+     * 
+ * + * map<string, string> metadata = 6; + */ + java.util.Map + getMetadataMap(); + /** + *
+     * The metadata which will be sent to configuration store components.
+     * 
+ * + * map<string, string> metadata = 6; + */ + + java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue); + /** + *
+     * The metadata which will be sent to configuration store components.
+     * 
+ * + * map<string, string> metadata = 6; + */ + + java.lang.String getMetadataOrThrow( + java.lang.String key); + + /** + *
+     * Subscribes update event for given keys.
+     * If true, when any configuration item in this request is updated, app will receive event by OnConfigurationEvent() of app callback
+     * 
+ * + * bool subscribe_update = 7; + * @return The subscribeUpdate. + */ + boolean getSubscribeUpdate(); + } + /** + *
+   * GetConfigurationRequest is the message to get a list of key-value configuration from specified configuration store.
+   * 
+ * + * Protobuf type {@code spec.proto.runtime.v1.GetConfigurationRequest} + */ + public static final class GetConfigurationRequest extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.GetConfigurationRequest) + GetConfigurationRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use GetConfigurationRequest.newBuilder() to construct. + private GetConfigurationRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private GetConfigurationRequest() { + storeName_ = ""; + appId_ = ""; + group_ = ""; + label_ = ""; + keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new GetConfigurationRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private GetConfigurationRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + storeName_ = s; + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + appId_ = s; + break; + } + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + + group_ = s; + break; + } + case 34: { + java.lang.String s = input.readStringRequireUtf8(); + + label_ = s; + break; + } + case 42: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + keys_ = new com.google.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000001; + } + keys_.add(s); + break; + } + case 50: { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); + mutable_bitField0_ |= 0x00000002; + } + com.google.protobuf.MapEntry + metadata__ = input.readMessage( + MetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + metadata_.getMutableMap().put( + metadata__.getKey(), metadata__.getValue()); + break; + } + case 56: { + + subscribeUpdate_ = input.readBool(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + keys_ = keys_.getUnmodifiableView(); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationRequest_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 6: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest.class, spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest.Builder.class); + } + + public static final int STORE_NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object storeName_; + /** + *
+     * The name of configuration store.
+     * 
+ * + * string store_name = 1; + * @return The storeName. + */ + @java.lang.Override + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + storeName_ = s; + return s; + } + } + /** + *
+     * The name of configuration store.
+     * 
+ * + * string store_name = 1; + * @return The bytes for storeName. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getStoreNameBytes() { + java.lang.Object ref = storeName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + storeName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int APP_ID_FIELD_NUMBER = 2; + private volatile java.lang.Object appId_; + /** + *
+     * The application id which
+     * Only used for admin, Ignored and reset for normal client
+     * 
+ * + * string app_id = 2; + * @return The appId. + */ + @java.lang.Override + public java.lang.String getAppId() { + java.lang.Object ref = appId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + appId_ = s; + return s; + } + } + /** + *
+     * The application id which
+     * Only used for admin, Ignored and reset for normal client
+     * 
+ * + * string app_id = 2; + * @return The bytes for appId. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getAppIdBytes() { + java.lang.Object ref = appId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + appId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int GROUP_FIELD_NUMBER = 3; + private volatile java.lang.Object group_; + /** + *
+     * The group of keys.
+     * 
+ * + * string group = 3; + * @return The group. + */ + @java.lang.Override + public java.lang.String getGroup() { + java.lang.Object ref = group_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + group_ = s; + return s; + } + } + /** + *
+     * The group of keys.
+     * 
+ * + * string group = 3; + * @return The bytes for group. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getGroupBytes() { + java.lang.Object ref = group_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + group_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int LABEL_FIELD_NUMBER = 4; + private volatile java.lang.Object label_; + /** + *
+     * The label for keys.
+     * 
+ * + * string label = 4; + * @return The label. + */ + @java.lang.Override + public java.lang.String getLabel() { + java.lang.Object ref = label_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + label_ = s; + return s; + } + } + /** + *
+     * The label for keys.
+     * 
+ * + * string label = 4; + * @return The bytes for label. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getLabelBytes() { + java.lang.Object ref = label_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + label_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int KEYS_FIELD_NUMBER = 5; + private com.google.protobuf.LazyStringList keys_; + /** + *
+     * The keys to get.
+     * 
+ * + * repeated string keys = 5; + * @return A list containing the keys. + */ + public com.google.protobuf.ProtocolStringList + getKeysList() { + return keys_; + } + /** + *
+     * The keys to get.
+     * 
+ * + * repeated string keys = 5; + * @return The count of keys. + */ + public int getKeysCount() { + return keys_.size(); + } + /** + *
+     * The keys to get.
+     * 
+ * + * repeated string keys = 5; + * @param index The index of the element to return. + * @return The keys at the given index. + */ + public java.lang.String getKeys(int index) { + return keys_.get(index); + } + /** + *
+     * The keys to get.
+     * 
+ * + * repeated string keys = 5; + * @param index The index of the value to return. + * @return The bytes of the keys at the given index. + */ + public com.google.protobuf.ByteString + getKeysBytes(int index) { + return keys_.getByteString(index); + } + + public static final int METADATA_FIELD_NUMBER = 6; + private static final class MetadataDefaultEntryHolder { + static final com.google.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationRequest_MetadataEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + return metadata_; + } + + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); + } + /** + *
+     * The metadata which will be sent to configuration store components.
+     * 
+ * + * map<string, string> metadata = 6; + */ + + @java.lang.Override + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); + } + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); + } + /** + *
+     * The metadata which will be sent to configuration store components.
+     * 
+ * + * map<string, string> metadata = 6; + */ + @java.lang.Override + + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); + } + /** + *
+     * The metadata which will be sent to configuration store components.
+     * 
+ * + * map<string, string> metadata = 6; + */ + @java.lang.Override + + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+     * The metadata which will be sent to configuration store components.
+     * 
+ * + * map<string, string> metadata = 6; + */ + @java.lang.Override + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public static final int SUBSCRIBE_UPDATE_FIELD_NUMBER = 7; + private boolean subscribeUpdate_; + /** + *
+     * Subscribes update event for given keys.
+     * If true, when any configuration item in this request is updated, app will receive event by OnConfigurationEvent() of app callback
+     * 
+ * + * bool subscribe_update = 7; + * @return The subscribeUpdate. + */ + @java.lang.Override + public boolean getSubscribeUpdate() { + return subscribeUpdate_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getStoreNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); + } + if (!getAppIdBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, appId_); + } + if (!getGroupBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, group_); + } + if (!getLabelBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, label_); + } + for (int i = 0; i < keys_.size(); i++) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 5, keys_.getRaw(i)); + } + com.google.protobuf.GeneratedMessageV3 + .serializeStringMapTo( + output, + internalGetMetadata(), + MetadataDefaultEntryHolder.defaultEntry, + 6); + if (subscribeUpdate_ != false) { + output.writeBool(7, subscribeUpdate_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getStoreNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); + } + if (!getAppIdBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, appId_); + } + if (!getGroupBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, group_); + } + if (!getLabelBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, label_); + } + { + int dataSize = 0; + for (int i = 0; i < keys_.size(); i++) { + dataSize += computeStringSizeNoTag(keys_.getRaw(i)); + } + size += dataSize; + size += 1 * getKeysList().size(); + } + for (java.util.Map.Entry entry + : internalGetMetadata().getMap().entrySet()) { + com.google.protobuf.MapEntry + metadata__ = MetadataDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, metadata__); + } + if (subscribeUpdate_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(7, subscribeUpdate_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest)) { + return super.equals(obj); + } + spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest other = (spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest) obj; + + if (!getStoreName() + .equals(other.getStoreName())) return false; + if (!getAppId() + .equals(other.getAppId())) return false; + if (!getGroup() + .equals(other.getGroup())) return false; + if (!getLabel() + .equals(other.getLabel())) return false; + if (!getKeysList() + .equals(other.getKeysList())) return false; + if (!internalGetMetadata().equals( + other.internalGetMetadata())) return false; + if (getSubscribeUpdate() + != other.getSubscribeUpdate()) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + STORE_NAME_FIELD_NUMBER; + hash = (53 * hash) + getStoreName().hashCode(); + hash = (37 * hash) + APP_ID_FIELD_NUMBER; + hash = (53 * hash) + getAppId().hashCode(); + hash = (37 * hash) + GROUP_FIELD_NUMBER; + hash = (53 * hash) + getGroup().hashCode(); + hash = (37 * hash) + LABEL_FIELD_NUMBER; + hash = (53 * hash) + getLabel().hashCode(); + if (getKeysCount() > 0) { + hash = (37 * hash) + KEYS_FIELD_NUMBER; + hash = (53 * hash) + getKeysList().hashCode(); + } + if (!internalGetMetadata().getMap().isEmpty()) { + hash = (37 * hash) + METADATA_FIELD_NUMBER; + hash = (53 * hash) + internalGetMetadata().hashCode(); + } + hash = (37 * hash) + SUBSCRIBE_UPDATE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getSubscribeUpdate()); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * GetConfigurationRequest is the message to get a list of key-value configuration from specified configuration store.
+     * 
+ * + * Protobuf type {@code spec.proto.runtime.v1.GetConfigurationRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.GetConfigurationRequest) + spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationRequest_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 6: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMutableMapField( + int number) { + switch (number) { + case 6: + return internalGetMutableMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest.class, spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest.Builder.class); + } + + // Construct using spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + storeName_ = ""; + + appId_ = ""; + + group_ = ""; + + label_ = ""; + + keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + internalGetMutableMetadata().clear(); + subscribeUpdate_ = false; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationRequest_descriptor; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest.getDefaultInstance(); + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest build() { + spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest result = new spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest(this); + int from_bitField0_ = bitField0_; + result.storeName_ = storeName_; + result.appId_ = appId_; + result.group_ = group_; + result.label_ = label_; + if (((bitField0_ & 0x00000001) != 0)) { + keys_ = keys_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.keys_ = keys_; + result.metadata_ = internalGetMetadata(); + result.metadata_.makeImmutable(); + result.subscribeUpdate_ = subscribeUpdate_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest.getDefaultInstance()) return this; + if (!other.getStoreName().isEmpty()) { + storeName_ = other.storeName_; + onChanged(); + } + if (!other.getAppId().isEmpty()) { + appId_ = other.appId_; + onChanged(); + } + if (!other.getGroup().isEmpty()) { + group_ = other.group_; + onChanged(); + } + if (!other.getLabel().isEmpty()) { + label_ = other.label_; + onChanged(); + } + if (!other.keys_.isEmpty()) { + if (keys_.isEmpty()) { + keys_ = other.keys_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureKeysIsMutable(); + keys_.addAll(other.keys_); + } + onChanged(); + } + internalGetMutableMetadata().mergeFrom( + other.internalGetMetadata()); + if (other.getSubscribeUpdate() != false) { + setSubscribeUpdate(other.getSubscribeUpdate()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.lang.Object storeName_ = ""; + /** + *
+       * The name of configuration store.
+       * 
+ * + * string store_name = 1; + * @return The storeName. + */ + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + storeName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * The name of configuration store.
+       * 
+ * + * string store_name = 1; + * @return The bytes for storeName. + */ + public com.google.protobuf.ByteString + getStoreNameBytes() { + java.lang.Object ref = storeName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + storeName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The name of configuration store.
+       * 
+ * + * string store_name = 1; + * @param value The storeName to set. + * @return This builder for chaining. + */ + public Builder setStoreName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + storeName_ = value; + onChanged(); + return this; + } + /** + *
+       * The name of configuration store.
+       * 
+ * + * string store_name = 1; + * @return This builder for chaining. + */ + public Builder clearStoreName() { + + storeName_ = getDefaultInstance().getStoreName(); + onChanged(); + return this; + } + /** + *
+       * The name of configuration store.
+       * 
+ * + * string store_name = 1; + * @param value The bytes for storeName to set. + * @return This builder for chaining. + */ + public Builder setStoreNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + storeName_ = value; + onChanged(); + return this; + } + + private java.lang.Object appId_ = ""; + /** + *
+       * The application id which
+       * Only used for admin, Ignored and reset for normal client
+       * 
+ * + * string app_id = 2; + * @return The appId. + */ + public java.lang.String getAppId() { + java.lang.Object ref = appId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + appId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * The application id which
+       * Only used for admin, Ignored and reset for normal client
+       * 
+ * + * string app_id = 2; + * @return The bytes for appId. + */ + public com.google.protobuf.ByteString + getAppIdBytes() { + java.lang.Object ref = appId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + appId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The application id which
+       * Only used for admin, Ignored and reset for normal client
+       * 
+ * + * string app_id = 2; + * @param value The appId to set. + * @return This builder for chaining. + */ + public Builder setAppId( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + appId_ = value; + onChanged(); + return this; + } + /** + *
+       * The application id which
+       * Only used for admin, Ignored and reset for normal client
+       * 
+ * + * string app_id = 2; + * @return This builder for chaining. + */ + public Builder clearAppId() { + + appId_ = getDefaultInstance().getAppId(); + onChanged(); + return this; + } + /** + *
+       * The application id which
+       * Only used for admin, Ignored and reset for normal client
+       * 
+ * + * string app_id = 2; + * @param value The bytes for appId to set. + * @return This builder for chaining. + */ + public Builder setAppIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + appId_ = value; + onChanged(); + return this; + } + + private java.lang.Object group_ = ""; + /** + *
+       * The group of keys.
+       * 
+ * + * string group = 3; + * @return The group. + */ + public java.lang.String getGroup() { + java.lang.Object ref = group_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + group_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * The group of keys.
+       * 
+ * + * string group = 3; + * @return The bytes for group. + */ + public com.google.protobuf.ByteString + getGroupBytes() { + java.lang.Object ref = group_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + group_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The group of keys.
+       * 
+ * + * string group = 3; + * @param value The group to set. + * @return This builder for chaining. + */ + public Builder setGroup( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + group_ = value; + onChanged(); + return this; + } + /** + *
+       * The group of keys.
+       * 
+ * + * string group = 3; + * @return This builder for chaining. + */ + public Builder clearGroup() { + + group_ = getDefaultInstance().getGroup(); + onChanged(); + return this; + } + /** + *
+       * The group of keys.
+       * 
+ * + * string group = 3; + * @param value The bytes for group to set. + * @return This builder for chaining. + */ + public Builder setGroupBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + group_ = value; + onChanged(); + return this; + } + + private java.lang.Object label_ = ""; + /** + *
+       * The label for keys.
+       * 
+ * + * string label = 4; + * @return The label. + */ + public java.lang.String getLabel() { + java.lang.Object ref = label_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + label_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * The label for keys.
+       * 
+ * + * string label = 4; + * @return The bytes for label. + */ + public com.google.protobuf.ByteString + getLabelBytes() { + java.lang.Object ref = label_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + label_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The label for keys.
+       * 
+ * + * string label = 4; + * @param value The label to set. + * @return This builder for chaining. + */ + public Builder setLabel( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + label_ = value; + onChanged(); + return this; + } + /** + *
+       * The label for keys.
+       * 
+ * + * string label = 4; + * @return This builder for chaining. + */ + public Builder clearLabel() { + + label_ = getDefaultInstance().getLabel(); + onChanged(); + return this; + } + /** + *
+       * The label for keys.
+       * 
+ * + * string label = 4; + * @param value The bytes for label to set. + * @return This builder for chaining. + */ + public Builder setLabelBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + label_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringList keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; + private void ensureKeysIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + keys_ = new com.google.protobuf.LazyStringArrayList(keys_); + bitField0_ |= 0x00000001; + } + } + /** + *
+       * The keys to get.
+       * 
+ * + * repeated string keys = 5; + * @return A list containing the keys. + */ + public com.google.protobuf.ProtocolStringList + getKeysList() { + return keys_.getUnmodifiableView(); + } + /** + *
+       * The keys to get.
+       * 
+ * + * repeated string keys = 5; + * @return The count of keys. + */ + public int getKeysCount() { + return keys_.size(); + } + /** + *
+       * The keys to get.
+       * 
+ * + * repeated string keys = 5; + * @param index The index of the element to return. + * @return The keys at the given index. + */ + public java.lang.String getKeys(int index) { + return keys_.get(index); + } + /** + *
+       * The keys to get.
+       * 
+ * + * repeated string keys = 5; + * @param index The index of the value to return. + * @return The bytes of the keys at the given index. + */ + public com.google.protobuf.ByteString + getKeysBytes(int index) { + return keys_.getByteString(index); + } + /** + *
+       * The keys to get.
+       * 
+ * + * repeated string keys = 5; + * @param index The index to set the value at. + * @param value The keys to set. + * @return This builder for chaining. + */ + public Builder setKeys( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureKeysIsMutable(); + keys_.set(index, value); + onChanged(); + return this; + } + /** + *
+       * The keys to get.
+       * 
+ * + * repeated string keys = 5; + * @param value The keys to add. + * @return This builder for chaining. + */ + public Builder addKeys( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureKeysIsMutable(); + keys_.add(value); + onChanged(); + return this; + } + /** + *
+       * The keys to get.
+       * 
+ * + * repeated string keys = 5; + * @param values The keys to add. + * @return This builder for chaining. + */ + public Builder addAllKeys( + java.lang.Iterable values) { + ensureKeysIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, keys_); + onChanged(); + return this; + } + /** + *
+       * The keys to get.
+       * 
+ * + * repeated string keys = 5; + * @return This builder for chaining. + */ + public Builder clearKeys() { + keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + *
+       * The keys to get.
+       * 
+ * + * repeated string keys = 5; + * @param value The bytes of the keys to add. + * @return This builder for chaining. + */ + public Builder addKeysBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureKeysIsMutable(); + keys_.add(value); + onChanged(); + return this; + } + + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + return metadata_; + } + private com.google.protobuf.MapField + internalGetMutableMetadata() { + onChanged();; + if (metadata_ == null) { + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + if (!metadata_.isMutable()) { + metadata_ = metadata_.copy(); + } + return metadata_; + } + + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); + } + /** + *
+       * The metadata which will be sent to configuration store components.
+       * 
+ * + * map<string, string> metadata = 6; + */ + + @java.lang.Override + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); + } + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); + } + /** + *
+       * The metadata which will be sent to configuration store components.
+       * 
+ * + * map<string, string> metadata = 6; + */ + @java.lang.Override + + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); + } + /** + *
+       * The metadata which will be sent to configuration store components.
+       * 
+ * + * map<string, string> metadata = 6; + */ + @java.lang.Override + + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+       * The metadata which will be sent to configuration store components.
+       * 
+ * + * map<string, string> metadata = 6; + */ + @java.lang.Override + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public Builder clearMetadata() { + internalGetMutableMetadata().getMutableMap() + .clear(); + return this; + } + /** + *
+       * The metadata which will be sent to configuration store components.
+       * 
+ * + * map<string, string> metadata = 6; + */ + + public Builder removeMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .remove(key); + return this; + } + /** + * Use alternate mutation accessors instead. + */ + @java.lang.Deprecated + public java.util.Map + getMutableMetadata() { + return internalGetMutableMetadata().getMutableMap(); + } + /** + *
+       * The metadata which will be sent to configuration store components.
+       * 
+ * + * map<string, string> metadata = 6; + */ + public Builder putMetadata( + java.lang.String key, + java.lang.String value) { + if (key == null) { throw new java.lang.NullPointerException(); } + if (value == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .put(key, value); + return this; + } + /** + *
+       * The metadata which will be sent to configuration store components.
+       * 
+ * + * map<string, string> metadata = 6; + */ + + public Builder putAllMetadata( + java.util.Map values) { + internalGetMutableMetadata().getMutableMap() + .putAll(values); + return this; + } + + private boolean subscribeUpdate_ ; + /** + *
+       * Subscribes update event for given keys.
+       * If true, when any configuration item in this request is updated, app will receive event by OnConfigurationEvent() of app callback
+       * 
+ * + * bool subscribe_update = 7; + * @return The subscribeUpdate. + */ + @java.lang.Override + public boolean getSubscribeUpdate() { + return subscribeUpdate_; + } + /** + *
+       * Subscribes update event for given keys.
+       * If true, when any configuration item in this request is updated, app will receive event by OnConfigurationEvent() of app callback
+       * 
+ * + * bool subscribe_update = 7; + * @param value The subscribeUpdate to set. + * @return This builder for chaining. + */ + public Builder setSubscribeUpdate(boolean value) { + + subscribeUpdate_ = value; + onChanged(); + return this; + } + /** + *
+       * Subscribes update event for given keys.
+       * If true, when any configuration item in this request is updated, app will receive event by OnConfigurationEvent() of app callback
+       * 
+ * + * bool subscribe_update = 7; + * @return This builder for chaining. + */ + public Builder clearSubscribeUpdate() { + + subscribeUpdate_ = false; + onChanged(); + return this; } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.GetConfigurationRequest) } - public static final int TAGS_FIELD_NUMBER = 5; - private static final class TagsDefaultEntryHolder { - static final com.google.protobuf.MapEntry< - java.lang.String, java.lang.String> defaultEntry = - com.google.protobuf.MapEntry - .newDefaultInstance( - spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ConfigurationItem_TagsEntry_descriptor, - com.google.protobuf.WireFormat.FieldType.STRING, - "", - com.google.protobuf.WireFormat.FieldType.STRING, - ""); + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.GetConfigurationRequest) + private static final spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest(); } - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> tags_; - private com.google.protobuf.MapField - internalGetTags() { - if (tags_ == null) { - return com.google.protobuf.MapField.emptyMapField( - TagsDefaultEntryHolder.defaultEntry); + + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GetConfigurationRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new GetConfigurationRequest(input, extensionRegistry); } - return tags_; + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; } - public int getTagsCount() { - return internalGetTags().getMap().size(); + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; } + + } + + public interface GetConfigurationResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.GetConfigurationResponse) + com.google.protobuf.MessageOrBuilder { + /** *
-     * The tag list of configuration item.
+     * The list of items containing configuration values.
      * 
* - * map<string, string> tags = 5; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - - @java.lang.Override - public boolean containsTags( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - return internalGetTags().getMap().containsKey(key); - } + java.util.List + getItemsList(); /** - * Use {@link #getTagsMap()} instead. + *
+     * The list of items containing configuration values.
+     * 
+ * + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - @java.lang.Override - @java.lang.Deprecated - public java.util.Map getTags() { - return getTagsMap(); - } + spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getItems(int index); /** *
-     * The tag list of configuration item.
+     * The list of items containing configuration values.
      * 
* - * map<string, string> tags = 5; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - @java.lang.Override - - public java.util.Map getTagsMap() { - return internalGetTags().getMap(); - } + int getItemsCount(); /** *
-     * The tag list of configuration item.
+     * The list of items containing configuration values.
      * 
* - * map<string, string> tags = 5; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - @java.lang.Override - - public java.lang.String getTagsOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetTags().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; - } + java.util.List + getItemsOrBuilderList(); /** *
-     * The tag list of configuration item.
+     * The list of items containing configuration values.
      * 
* - * map<string, string> tags = 5; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - @java.lang.Override + spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder getItemsOrBuilder( + int index); + } + /** + *
+   * GetConfigurationResponse is the response conveying the list of configuration values.
+   * 
+ * + * Protobuf type {@code spec.proto.runtime.v1.GetConfigurationResponse} + */ + public static final class GetConfigurationResponse extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.GetConfigurationResponse) + GetConfigurationResponseOrBuilder { + private static final long serialVersionUID = 0L; + // Use GetConfigurationResponse.newBuilder() to construct. + private GetConfigurationResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private GetConfigurationResponse() { + items_ = java.util.Collections.emptyList(); + } - public java.lang.String getTagsOrThrow( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetTags().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); - } - return map.get(key); + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new GetConfigurationResponse(); } - public static final int METADATA_FIELD_NUMBER = 6; - private static final class MetadataDefaultEntryHolder { - static final com.google.protobuf.MapEntry< - java.lang.String, java.lang.String> defaultEntry = - com.google.protobuf.MapEntry - .newDefaultInstance( - spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ConfigurationItem_MetadataEntry_descriptor, - com.google.protobuf.WireFormat.FieldType.STRING, - "", - com.google.protobuf.WireFormat.FieldType.STRING, - ""); + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; } - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> metadata_; - private com.google.protobuf.MapField - internalGetMetadata() { - if (metadata_ == null) { - return com.google.protobuf.MapField.emptyMapField( - MetadataDefaultEntryHolder.defaultEntry); + private GetConfigurationResponse( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); } - return metadata_; + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + items_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + items_.add( + input.readMessage(spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + items_ = java.util.Collections.unmodifiableList(items_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationResponse_descriptor; } - public int getMetadataCount() { - return internalGetMetadata().getMap().size(); + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse.class, spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse.Builder.class); } + + public static final int ITEMS_FIELD_NUMBER = 1; + private java.util.List items_; /** *
-     * The metadata which will be passed to configuration store component.
+     * The list of items containing configuration values.
      * 
* - * map<string, string> metadata = 6; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - @java.lang.Override - public boolean containsMetadata( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - return internalGetMetadata().getMap().containsKey(key); + public java.util.List getItemsList() { + return items_; } /** - * Use {@link #getMetadataMap()} instead. + *
+     * The list of items containing configuration values.
+     * 
+ * + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ @java.lang.Override - @java.lang.Deprecated - public java.util.Map getMetadata() { - return getMetadataMap(); + public java.util.List + getItemsOrBuilderList() { + return items_; } /** *
-     * The metadata which will be passed to configuration store component.
+     * The list of items containing configuration values.
      * 
* - * map<string, string> metadata = 6; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ @java.lang.Override - - public java.util.Map getMetadataMap() { - return internalGetMetadata().getMap(); + public int getItemsCount() { + return items_.size(); } /** *
-     * The metadata which will be passed to configuration store component.
+     * The list of items containing configuration values.
      * 
* - * map<string, string> metadata = 6; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ @java.lang.Override - - public java.lang.String getMetadataOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; + public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getItems(int index) { + return items_.get(index); } /** *
-     * The metadata which will be passed to configuration store component.
+     * The list of items containing configuration values.
      * 
* - * map<string, string> metadata = 6; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ @java.lang.Override - - public java.lang.String getMetadataOrThrow( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); - } - return map.get(key); + public spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder getItemsOrBuilder( + int index) { + return items_.get(index); } private byte memoizedIsInitialized = -1; @@ -11334,30 +21091,9 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!getKeyBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, key_); - } - if (!getContentBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, content_); - } - if (!getGroupBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 3, group_); - } - if (!getLabelBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 4, label_); + for (int i = 0; i < items_.size(); i++) { + output.writeMessage(1, items_.get(i)); } - com.google.protobuf.GeneratedMessageV3 - .serializeStringMapTo( - output, - internalGetTags(), - TagsDefaultEntryHolder.defaultEntry, - 5); - com.google.protobuf.GeneratedMessageV3 - .serializeStringMapTo( - output, - internalGetMetadata(), - MetadataDefaultEntryHolder.defaultEntry, - 6); unknownFields.writeTo(output); } @@ -11367,37 +21103,9 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!getKeyBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, key_); - } - if (!getContentBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, content_); - } - if (!getGroupBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, group_); - } - if (!getLabelBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, label_); - } - for (java.util.Map.Entry entry - : internalGetTags().getMap().entrySet()) { - com.google.protobuf.MapEntry - tags__ = TagsDefaultEntryHolder.defaultEntry.newBuilderForType() - .setKey(entry.getKey()) - .setValue(entry.getValue()) - .build(); - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(5, tags__); - } - for (java.util.Map.Entry entry - : internalGetMetadata().getMap().entrySet()) { - com.google.protobuf.MapEntry - metadata__ = MetadataDefaultEntryHolder.defaultEntry.newBuilderForType() - .setKey(entry.getKey()) - .setValue(entry.getValue()) - .build(); + for (int i = 0; i < items_.size(); i++) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(6, metadata__); + .computeMessageSize(1, items_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -11409,23 +21117,13 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.ConfigurationItem)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.ConfigurationItem other = (spec.proto.runtime.v1.RuntimeProto.ConfigurationItem) obj; + spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse other = (spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse) obj; - if (!getKey() - .equals(other.getKey())) return false; - if (!getContent() - .equals(other.getContent())) return false; - if (!getGroup() - .equals(other.getGroup())) return false; - if (!getLabel() - .equals(other.getLabel())) return false; - if (!internalGetTags().equals( - other.internalGetTags())) return false; - if (!internalGetMetadata().equals( - other.internalGetMetadata())) return false; + if (!getItemsList() + .equals(other.getItemsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -11437,90 +21135,78 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + KEY_FIELD_NUMBER; - hash = (53 * hash) + getKey().hashCode(); - hash = (37 * hash) + CONTENT_FIELD_NUMBER; - hash = (53 * hash) + getContent().hashCode(); - hash = (37 * hash) + GROUP_FIELD_NUMBER; - hash = (53 * hash) + getGroup().hashCode(); - hash = (37 * hash) + LABEL_FIELD_NUMBER; - hash = (53 * hash) + getLabel().hashCode(); - if (!internalGetTags().getMap().isEmpty()) { - hash = (37 * hash) + TAGS_FIELD_NUMBER; - hash = (53 * hash) + internalGetTags().hashCode(); - } - if (!internalGetMetadata().getMap().isEmpty()) { - hash = (37 * hash) + METADATA_FIELD_NUMBER; - hash = (53 * hash) + internalGetMetadata().hashCode(); + if (getItemsCount() > 0) { + hash = (37 * hash) + ITEMS_FIELD_NUMBER; + hash = (53 * hash) + getItemsList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -11533,7 +21219,7 @@ public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.ConfigurationItem prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -11550,55 +21236,29 @@ protected Builder newBuilderForType( } /** *
-     * ConfigurationItem represents a configuration item with key, content and other information.
+     * GetConfigurationResponse is the response conveying the list of configuration values.
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.ConfigurationItem} + * Protobuf type {@code spec.proto.runtime.v1.GetConfigurationResponse} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.ConfigurationItem) - spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.GetConfigurationResponse) + spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponseOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ConfigurationItem_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationResponse_descriptor; } - @SuppressWarnings({"rawtypes"}) - protected com.google.protobuf.MapField internalGetMapField( - int number) { - switch (number) { - case 5: - return internalGetTags(); - case 6: - return internalGetMetadata(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } - @SuppressWarnings({"rawtypes"}) - protected com.google.protobuf.MapField internalGetMutableMapField( - int number) { - switch (number) { - case 5: - return internalGetMutableTags(); - case 6: - return internalGetMutableMetadata(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ConfigurationItem_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.class, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder.class); + spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse.class, spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -11611,56 +21271,54 @@ private Builder( private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getItemsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - key_ = ""; - - content_ = ""; - - group_ = ""; - - label_ = ""; - - internalGetMutableTags().clear(); - internalGetMutableMetadata().clear(); + if (itemsBuilder_ == null) { + items_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + itemsBuilder_.clear(); + } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ConfigurationItem_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationResponse_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem build() { - spec.proto.runtime.v1.RuntimeProto.ConfigurationItem result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse build() { + spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem buildPartial() { - spec.proto.runtime.v1.RuntimeProto.ConfigurationItem result = new spec.proto.runtime.v1.RuntimeProto.ConfigurationItem(this); - int from_bitField0_ = bitField0_; - result.key_ = key_; - result.content_ = content_; - result.group_ = group_; - result.label_ = label_; - result.tags_ = internalGetTags(); - result.tags_.makeImmutable(); - result.metadata_ = internalGetMetadata(); - result.metadata_.makeImmutable(); + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse buildPartial() { + spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse result = new spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse(this); + int from_bitField0_ = bitField0_; + if (itemsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + items_ = java.util.Collections.unmodifiableList(items_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.items_ = items_; + } else { + result.items_ = itemsBuilder_.build(); + } onBuilt(); return result; } @@ -11699,36 +21357,42 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.ConfigurationItem) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.ConfigurationItem)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.ConfigurationItem other) { - if (other == spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.getDefaultInstance()) return this; - if (!other.getKey().isEmpty()) { - key_ = other.key_; - onChanged(); - } - if (!other.getContent().isEmpty()) { - content_ = other.content_; - onChanged(); - } - if (!other.getGroup().isEmpty()) { - group_ = other.group_; - onChanged(); - } - if (!other.getLabel().isEmpty()) { - label_ = other.label_; - onChanged(); + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse other) { + if (other == spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse.getDefaultInstance()) return this; + if (itemsBuilder_ == null) { + if (!other.items_.isEmpty()) { + if (items_.isEmpty()) { + items_ = other.items_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureItemsIsMutable(); + items_.addAll(other.items_); + } + onChanged(); + } + } else { + if (!other.items_.isEmpty()) { + if (itemsBuilder_.isEmpty()) { + itemsBuilder_.dispose(); + itemsBuilder_ = null; + items_ = other.items_; + bitField0_ = (bitField0_ & ~0x00000001); + itemsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getItemsFieldBuilder() : null; + } else { + itemsBuilder_.addAllMessages(other.items_); + } + } } - internalGetMutableTags().mergeFrom( - other.internalGetTags()); - internalGetMutableMetadata().mergeFrom( - other.internalGetMetadata()); this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -11744,11 +21408,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.ConfigurationItem parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.ConfigurationItem) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -11759,705 +21423,316 @@ public Builder mergeFrom( } private int bitField0_; - private java.lang.Object key_ = ""; - /** - *
-       * Required. The key of configuration item
-       * 
- * - * string key = 1; - * @return The key. - */ - public java.lang.String getKey() { - java.lang.Object ref = key_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - key_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * Required. The key of configuration item
-       * 
- * - * string key = 1; - * @return The bytes for key. - */ - public com.google.protobuf.ByteString - getKeyBytes() { - java.lang.Object ref = key_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - key_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * Required. The key of configuration item
-       * 
- * - * string key = 1; - * @param value The key to set. - * @return This builder for chaining. - */ - public Builder setKey( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - key_ = value; - onChanged(); - return this; - } - /** - *
-       * Required. The key of configuration item
-       * 
- * - * string key = 1; - * @return This builder for chaining. - */ - public Builder clearKey() { - - key_ = getDefaultInstance().getKey(); - onChanged(); - return this; - } - /** - *
-       * Required. The key of configuration item
-       * 
- * - * string key = 1; - * @param value The bytes for key to set. - * @return This builder for chaining. - */ - public Builder setKeyBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - key_ = value; - onChanged(); - return this; + private java.util.List items_ = + java.util.Collections.emptyList(); + private void ensureItemsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + items_ = new java.util.ArrayList(items_); + bitField0_ |= 0x00000001; + } } - private java.lang.Object content_ = ""; - /** - *
-       * The content of configuration item
-       * Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
-       * 
- * - * string content = 2; - * @return The content. - */ - public java.lang.String getContent() { - java.lang.Object ref = content_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - content_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * The content of configuration item
-       * Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
-       * 
- * - * string content = 2; - * @return The bytes for content. - */ - public com.google.protobuf.ByteString - getContentBytes() { - java.lang.Object ref = content_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - content_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * The content of configuration item
-       * Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
-       * 
- * - * string content = 2; - * @param value The content to set. - * @return This builder for chaining. - */ - public Builder setContent( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - content_ = value; - onChanged(); - return this; - } - /** - *
-       * The content of configuration item
-       * Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
-       * 
- * - * string content = 2; - * @return This builder for chaining. - */ - public Builder clearContent() { - - content_ = getDefaultInstance().getContent(); - onChanged(); - return this; - } - /** - *
-       * The content of configuration item
-       * Empty if the configuration is not set, including the case that the configuration is changed from value-set to value-not-set.
-       * 
- * - * string content = 2; - * @param value The bytes for content to set. - * @return This builder for chaining. - */ - public Builder setContentBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - content_ = value; - onChanged(); - return this; - } + private com.google.protobuf.RepeatedFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.ConfigurationItem, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder, spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder> itemsBuilder_; - private java.lang.Object group_ = ""; /** *
-       * The group of configuration item.
+       * The list of items containing configuration values.
        * 
* - * string group = 3; - * @return The group. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - public java.lang.String getGroup() { - java.lang.Object ref = group_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - group_ = s; - return s; + public java.util.List getItemsList() { + if (itemsBuilder_ == null) { + return java.util.Collections.unmodifiableList(items_); } else { - return (java.lang.String) ref; + return itemsBuilder_.getMessageList(); } } /** *
-       * The group of configuration item.
+       * The list of items containing configuration values.
        * 
* - * string group = 3; - * @return The bytes for group. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - public com.google.protobuf.ByteString - getGroupBytes() { - java.lang.Object ref = group_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - group_ = b; - return b; + public int getItemsCount() { + if (itemsBuilder_ == null) { + return items_.size(); } else { - return (com.google.protobuf.ByteString) ref; + return itemsBuilder_.getCount(); } } /** *
-       * The group of configuration item.
-       * 
- * - * string group = 3; - * @param value The group to set. - * @return This builder for chaining. - */ - public Builder setGroup( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - group_ = value; - onChanged(); - return this; - } - /** - *
-       * The group of configuration item.
-       * 
- * - * string group = 3; - * @return This builder for chaining. - */ - public Builder clearGroup() { - - group_ = getDefaultInstance().getGroup(); - onChanged(); - return this; - } - /** - *
-       * The group of configuration item.
-       * 
- * - * string group = 3; - * @param value The bytes for group to set. - * @return This builder for chaining. - */ - public Builder setGroupBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - group_ = value; - onChanged(); - return this; - } - - private java.lang.Object label_ = ""; - /** - *
-       * The label of configuration item.
+       * The list of items containing configuration values.
        * 
* - * string label = 4; - * @return The label. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - public java.lang.String getLabel() { - java.lang.Object ref = label_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - label_ = s; - return s; + public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getItems(int index) { + if (itemsBuilder_ == null) { + return items_.get(index); } else { - return (java.lang.String) ref; + return itemsBuilder_.getMessage(index); } } /** *
-       * The label of configuration item.
+       * The list of items containing configuration values.
        * 
* - * string label = 4; - * @return The bytes for label. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - public com.google.protobuf.ByteString - getLabelBytes() { - java.lang.Object ref = label_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - label_ = b; - return b; + public Builder setItems( + int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem value) { + if (itemsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureItemsIsMutable(); + items_.set(index, value); + onChanged(); } else { - return (com.google.protobuf.ByteString) ref; + itemsBuilder_.setMessage(index, value); } - } - /** - *
-       * The label of configuration item.
-       * 
- * - * string label = 4; - * @param value The label to set. - * @return This builder for chaining. - */ - public Builder setLabel( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - label_ = value; - onChanged(); - return this; - } - /** - *
-       * The label of configuration item.
-       * 
- * - * string label = 4; - * @return This builder for chaining. - */ - public Builder clearLabel() { - - label_ = getDefaultInstance().getLabel(); - onChanged(); - return this; - } - /** - *
-       * The label of configuration item.
-       * 
- * - * string label = 4; - * @param value The bytes for label to set. - * @return This builder for chaining. - */ - public Builder setLabelBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - label_ = value; - onChanged(); return this; } - - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> tags_; - private com.google.protobuf.MapField - internalGetTags() { - if (tags_ == null) { - return com.google.protobuf.MapField.emptyMapField( - TagsDefaultEntryHolder.defaultEntry); - } - return tags_; - } - private com.google.protobuf.MapField - internalGetMutableTags() { - onChanged();; - if (tags_ == null) { - tags_ = com.google.protobuf.MapField.newMapField( - TagsDefaultEntryHolder.defaultEntry); - } - if (!tags_.isMutable()) { - tags_ = tags_.copy(); - } - return tags_; - } - - public int getTagsCount() { - return internalGetTags().getMap().size(); - } /** *
-       * The tag list of configuration item.
+       * The list of items containing configuration values.
        * 
* - * map<string, string> tags = 5; - */ - - @java.lang.Override - public boolean containsTags( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - return internalGetTags().getMap().containsKey(key); - } - /** - * Use {@link #getTagsMap()} instead. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - @java.lang.Override - @java.lang.Deprecated - public java.util.Map getTags() { - return getTagsMap(); + public Builder setItems( + int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder builderForValue) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + items_.set(index, builderForValue.build()); + onChanged(); + } else { + itemsBuilder_.setMessage(index, builderForValue.build()); + } + return this; } /** *
-       * The tag list of configuration item.
+       * The list of items containing configuration values.
        * 
* - * map<string, string> tags = 5; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - @java.lang.Override - - public java.util.Map getTagsMap() { - return internalGetTags().getMap(); + public Builder addItems(spec.proto.runtime.v1.RuntimeProto.ConfigurationItem value) { + if (itemsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureItemsIsMutable(); + items_.add(value); + onChanged(); + } else { + itemsBuilder_.addMessage(value); + } + return this; } /** *
-       * The tag list of configuration item.
+       * The list of items containing configuration values.
        * 
* - * map<string, string> tags = 5; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - @java.lang.Override - - public java.lang.String getTagsOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetTags().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; + public Builder addItems( + int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem value) { + if (itemsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureItemsIsMutable(); + items_.add(index, value); + onChanged(); + } else { + itemsBuilder_.addMessage(index, value); + } + return this; } /** *
-       * The tag list of configuration item.
+       * The list of items containing configuration values.
        * 
* - * map<string, string> tags = 5; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - @java.lang.Override - - public java.lang.String getTagsOrThrow( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetTags().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); + public Builder addItems( + spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder builderForValue) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + items_.add(builderForValue.build()); + onChanged(); + } else { + itemsBuilder_.addMessage(builderForValue.build()); } - return map.get(key); - } - - public Builder clearTags() { - internalGetMutableTags().getMutableMap() - .clear(); return this; } /** *
-       * The tag list of configuration item.
+       * The list of items containing configuration values.
        * 
* - * map<string, string> tags = 5; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - - public Builder removeTags( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - internalGetMutableTags().getMutableMap() - .remove(key); + public Builder addItems( + int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder builderForValue) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + items_.add(index, builderForValue.build()); + onChanged(); + } else { + itemsBuilder_.addMessage(index, builderForValue.build()); + } return this; } - /** - * Use alternate mutation accessors instead. - */ - @java.lang.Deprecated - public java.util.Map - getMutableTags() { - return internalGetMutableTags().getMutableMap(); - } /** *
-       * The tag list of configuration item.
+       * The list of items containing configuration values.
        * 
* - * map<string, string> tags = 5; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - public Builder putTags( - java.lang.String key, - java.lang.String value) { - if (key == null) { throw new java.lang.NullPointerException(); } - if (value == null) { throw new java.lang.NullPointerException(); } - internalGetMutableTags().getMutableMap() - .put(key, value); + public Builder addAllItems( + java.lang.Iterable values) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, items_); + onChanged(); + } else { + itemsBuilder_.addAllMessages(values); + } return this; } /** *
-       * The tag list of configuration item.
+       * The list of items containing configuration values.
        * 
* - * map<string, string> tags = 5; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - - public Builder putAllTags( - java.util.Map values) { - internalGetMutableTags().getMutableMap() - .putAll(values); - return this; - } - - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> metadata_; - private com.google.protobuf.MapField - internalGetMetadata() { - if (metadata_ == null) { - return com.google.protobuf.MapField.emptyMapField( - MetadataDefaultEntryHolder.defaultEntry); - } - return metadata_; - } - private com.google.protobuf.MapField - internalGetMutableMetadata() { - onChanged();; - if (metadata_ == null) { - metadata_ = com.google.protobuf.MapField.newMapField( - MetadataDefaultEntryHolder.defaultEntry); - } - if (!metadata_.isMutable()) { - metadata_ = metadata_.copy(); + public Builder clearItems() { + if (itemsBuilder_ == null) { + items_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + itemsBuilder_.clear(); } - return metadata_; - } - - public int getMetadataCount() { - return internalGetMetadata().getMap().size(); + return this; } /** *
-       * The metadata which will be passed to configuration store component.
+       * The list of items containing configuration values.
        * 
* - * map<string, string> metadata = 6; - */ - - @java.lang.Override - public boolean containsMetadata( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - return internalGetMetadata().getMap().containsKey(key); - } - /** - * Use {@link #getMetadataMap()} instead. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - @java.lang.Override - @java.lang.Deprecated - public java.util.Map getMetadata() { - return getMetadataMap(); + public Builder removeItems(int index) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + items_.remove(index); + onChanged(); + } else { + itemsBuilder_.remove(index); + } + return this; } /** *
-       * The metadata which will be passed to configuration store component.
+       * The list of items containing configuration values.
        * 
* - * map<string, string> metadata = 6; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - @java.lang.Override - - public java.util.Map getMetadataMap() { - return internalGetMetadata().getMap(); + public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder getItemsBuilder( + int index) { + return getItemsFieldBuilder().getBuilder(index); } /** *
-       * The metadata which will be passed to configuration store component.
+       * The list of items containing configuration values.
        * 
* - * map<string, string> metadata = 6; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - @java.lang.Override - - public java.lang.String getMetadataOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; + public spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder getItemsOrBuilder( + int index) { + if (itemsBuilder_ == null) { + return items_.get(index); } else { + return itemsBuilder_.getMessageOrBuilder(index); + } } /** *
-       * The metadata which will be passed to configuration store component.
+       * The list of items containing configuration values.
        * 
* - * map<string, string> metadata = 6; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - @java.lang.Override - - public java.lang.String getMetadataOrThrow( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); + public java.util.List + getItemsOrBuilderList() { + if (itemsBuilder_ != null) { + return itemsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(items_); } - return map.get(key); - } - - public Builder clearMetadata() { - internalGetMutableMetadata().getMutableMap() - .clear(); - return this; } /** *
-       * The metadata which will be passed to configuration store component.
+       * The list of items containing configuration values.
        * 
* - * map<string, string> metadata = 6; - */ - - public Builder removeMetadata( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - internalGetMutableMetadata().getMutableMap() - .remove(key); - return this; - } - /** - * Use alternate mutation accessors instead. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - @java.lang.Deprecated - public java.util.Map - getMutableMetadata() { - return internalGetMutableMetadata().getMutableMap(); + public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder addItemsBuilder() { + return getItemsFieldBuilder().addBuilder( + spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.getDefaultInstance()); } /** *
-       * The metadata which will be passed to configuration store component.
+       * The list of items containing configuration values.
        * 
* - * map<string, string> metadata = 6; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - public Builder putMetadata( - java.lang.String key, - java.lang.String value) { - if (key == null) { throw new java.lang.NullPointerException(); } - if (value == null) { throw new java.lang.NullPointerException(); } - internalGetMutableMetadata().getMutableMap() - .put(key, value); - return this; + public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder addItemsBuilder( + int index) { + return getItemsFieldBuilder().addBuilder( + index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.getDefaultInstance()); } /** *
-       * The metadata which will be passed to configuration store component.
+       * The list of items containing configuration values.
        * 
* - * map<string, string> metadata = 6; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; */ - - public Builder putAllMetadata( - java.util.Map values) { - internalGetMutableMetadata().getMutableMap() - .putAll(values); - return this; + public java.util.List + getItemsBuilderList() { + return getItemsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.ConfigurationItem, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder, spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder> + getItemsFieldBuilder() { + if (itemsBuilder_ == null) { + itemsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.ConfigurationItem, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder, spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder>( + items_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + items_ = null; + } + return itemsBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -12472,48 +21747,48 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.ConfigurationItem) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.GetConfigurationResponse) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.ConfigurationItem) - private static final spec.proto.runtime.v1.RuntimeProto.ConfigurationItem DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.GetConfigurationResponse) + private static final spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.ConfigurationItem(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse(); } - public static spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public ConfigurationItem parsePartialFrom( + public GetConfigurationResponse parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new ConfigurationItem(input, extensionRegistry); + return new GetConfigurationResponse(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface GetConfigurationRequestOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.GetConfigurationRequest) + public interface SubscribeConfigurationRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.SubscribeConfigurationRequest) com.google.protobuf.MessageOrBuilder { /** @@ -12539,7 +21814,7 @@ public interface GetConfigurationRequestOrBuilder extends /** *
      * The application id which
-     * Only used for admin, Ignored and reset for normal client
+     * Only used for admin, ignored and reset for normal client
      * 
* * string app_id = 2; @@ -12549,7 +21824,7 @@ public interface GetConfigurationRequestOrBuilder extends /** *
      * The application id which
-     * Only used for admin, Ignored and reset for normal client
+     * Only used for admin, ignored and reset for normal client
      * 
* * string app_id = 2; @@ -12692,35 +21967,24 @@ java.lang.String getMetadataOrDefault( java.lang.String getMetadataOrThrow( java.lang.String key); - - /** - *
-     * Subscribes update event for given keys.
-     * If true, when any configuration item in this request is updated, app will receive event by OnConfigurationEvent() of app callback
-     * 
- * - * bool subscribe_update = 7; - * @return The subscribeUpdate. - */ - boolean getSubscribeUpdate(); } /** *
-   * GetConfigurationRequest is the message to get a list of key-value configuration from specified configuration store.
+   * SubscribeConfigurationRequest is the message to get a list of key-value configuration from specified configuration store.
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.GetConfigurationRequest} + * Protobuf type {@code spec.proto.runtime.v1.SubscribeConfigurationRequest} */ - public static final class GetConfigurationRequest extends + public static final class SubscribeConfigurationRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.GetConfigurationRequest) - GetConfigurationRequestOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.SubscribeConfigurationRequest) + SubscribeConfigurationRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use GetConfigurationRequest.newBuilder() to construct. - private GetConfigurationRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use SubscribeConfigurationRequest.newBuilder() to construct. + private SubscribeConfigurationRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private GetConfigurationRequest() { + private SubscribeConfigurationRequest() { storeName_ = ""; appId_ = ""; group_ = ""; @@ -12732,7 +21996,7 @@ private GetConfigurationRequest() { @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new GetConfigurationRequest(); + return new SubscribeConfigurationRequest(); } @java.lang.Override @@ -12740,7 +22004,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private GetConfigurationRequest( + private SubscribeConfigurationRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -12805,11 +22069,6 @@ private GetConfigurationRequest( metadata__.getKey(), metadata__.getValue()); break; } - case 56: { - - subscribeUpdate_ = input.readBool(); - break; - } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -12834,7 +22093,7 @@ private GetConfigurationRequest( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationRequest_descriptor; } @SuppressWarnings({"rawtypes"}) @@ -12852,9 +22111,9 @@ protected com.google.protobuf.MapField internalGetMapField( @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest.class, spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest.class, spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest.Builder.class); } public static final int STORE_NAME_FIELD_NUMBER = 1; @@ -12908,7 +22167,7 @@ public java.lang.String getStoreName() { /** *
      * The application id which
-     * Only used for admin, Ignored and reset for normal client
+     * Only used for admin, ignored and reset for normal client
      * 
* * string app_id = 2; @@ -12930,7 +22189,7 @@ public java.lang.String getAppId() { /** *
      * The application id which
-     * Only used for admin, Ignored and reset for normal client
+     * Only used for admin, ignored and reset for normal client
      * 
* * string app_id = 2; @@ -13100,7 +22359,7 @@ private static final class MetadataDefaultEntryHolder { java.lang.String, java.lang.String> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( - spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationRequest_MetadataEntry_descriptor, + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationRequest_MetadataEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.STRING, @@ -13191,22 +22450,6 @@ public java.lang.String getMetadataOrThrow( return map.get(key); } - public static final int SUBSCRIBE_UPDATE_FIELD_NUMBER = 7; - private boolean subscribeUpdate_; - /** - *
-     * Subscribes update event for given keys.
-     * If true, when any configuration item in this request is updated, app will receive event by OnConfigurationEvent() of app callback
-     * 
- * - * bool subscribe_update = 7; - * @return The subscribeUpdate. - */ - @java.lang.Override - public boolean getSubscribeUpdate() { - return subscribeUpdate_; - } - private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -13242,9 +22485,6 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) internalGetMetadata(), MetadataDefaultEntryHolder.defaultEntry, 6); - if (subscribeUpdate_ != false) { - output.writeBool(7, subscribeUpdate_); - } unknownFields.writeTo(output); } @@ -13284,10 +22524,6 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(6, metadata__); } - if (subscribeUpdate_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(7, subscribeUpdate_); - } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -13298,10 +22534,10 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest other = (spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest) obj; + spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest other = (spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest) obj; if (!getStoreName() .equals(other.getStoreName())) return false; @@ -13315,8 +22551,6 @@ public boolean equals(final java.lang.Object obj) { .equals(other.getKeysList())) return false; if (!internalGetMetadata().equals( other.internalGetMetadata())) return false; - if (getSubscribeUpdate() - != other.getSubscribeUpdate()) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -13344,77 +22578,74 @@ public int hashCode() { hash = (37 * hash) + METADATA_FIELD_NUMBER; hash = (53 * hash) + internalGetMetadata().hashCode(); } - hash = (37 * hash) + SUBSCRIBE_UPDATE_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getSubscribeUpdate()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -13427,7 +22658,7 @@ public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parseFr public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -13444,18 +22675,18 @@ protected Builder newBuilderForType( } /** *
-     * GetConfigurationRequest is the message to get a list of key-value configuration from specified configuration store.
+     * SubscribeConfigurationRequest is the message to get a list of key-value configuration from specified configuration store.
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.GetConfigurationRequest} + * Protobuf type {@code spec.proto.runtime.v1.SubscribeConfigurationRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.GetConfigurationRequest) - spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequestOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.SubscribeConfigurationRequest) + spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationRequest_descriptor; } @SuppressWarnings({"rawtypes"}) @@ -13483,12 +22714,12 @@ protected com.google.protobuf.MapField internalGetMutableMapField( @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest.class, spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest.class, spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -13517,25 +22748,23 @@ public Builder clear() { keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000001); internalGetMutableMetadata().clear(); - subscribeUpdate_ = false; - return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest build() { - spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest build() { + spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -13543,8 +22772,8 @@ public spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest buildPartial() { - spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest result = new spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest(this); + public spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest result = new spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest(this); int from_bitField0_ = bitField0_; result.storeName_ = storeName_; result.appId_ = appId_; @@ -13557,7 +22786,6 @@ public spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest buildPartial() result.keys_ = keys_; result.metadata_ = internalGetMetadata(); result.metadata_.makeImmutable(); - result.subscribeUpdate_ = subscribeUpdate_; onBuilt(); return result; } @@ -13596,16 +22824,16 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest other) { - if (other == spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest.getDefaultInstance()) return this; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest.getDefaultInstance()) return this; if (!other.getStoreName().isEmpty()) { storeName_ = other.storeName_; onChanged(); @@ -13634,9 +22862,6 @@ public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequ } internalGetMutableMetadata().mergeFrom( other.internalGetMetadata()); - if (other.getSubscribeUpdate() != false) { - setSubscribeUpdate(other.getSubscribeUpdate()); - } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -13652,11 +22877,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -13767,7 +22992,7 @@ public Builder setStoreNameBytes( /** *
        * The application id which
-       * Only used for admin, Ignored and reset for normal client
+       * Only used for admin, ignored and reset for normal client
        * 
* * string app_id = 2; @@ -13788,7 +23013,7 @@ public java.lang.String getAppId() { /** *
        * The application id which
-       * Only used for admin, Ignored and reset for normal client
+       * Only used for admin, ignored and reset for normal client
        * 
* * string app_id = 2; @@ -13810,7 +23035,7 @@ public java.lang.String getAppId() { /** *
        * The application id which
-       * Only used for admin, Ignored and reset for normal client
+       * Only used for admin, ignored and reset for normal client
        * 
* * string app_id = 2; @@ -13830,7 +23055,7 @@ public Builder setAppId( /** *
        * The application id which
-       * Only used for admin, Ignored and reset for normal client
+       * Only used for admin, ignored and reset for normal client
        * 
* * string app_id = 2; @@ -13845,7 +23070,7 @@ public Builder clearAppId() { /** *
        * The application id which
-       * Only used for admin, Ignored and reset for normal client
+       * Only used for admin, ignored and reset for normal client
        * 
* * string app_id = 2; @@ -14357,52 +23582,6 @@ public Builder putAllMetadata( .putAll(values); return this; } - - private boolean subscribeUpdate_ ; - /** - *
-       * Subscribes update event for given keys.
-       * If true, when any configuration item in this request is updated, app will receive event by OnConfigurationEvent() of app callback
-       * 
- * - * bool subscribe_update = 7; - * @return The subscribeUpdate. - */ - @java.lang.Override - public boolean getSubscribeUpdate() { - return subscribeUpdate_; - } - /** - *
-       * Subscribes update event for given keys.
-       * If true, when any configuration item in this request is updated, app will receive event by OnConfigurationEvent() of app callback
-       * 
- * - * bool subscribe_update = 7; - * @param value The subscribeUpdate to set. - * @return This builder for chaining. - */ - public Builder setSubscribeUpdate(boolean value) { - - subscribeUpdate_ = value; - onChanged(); - return this; - } - /** - *
-       * Subscribes update event for given keys.
-       * If true, when any configuration item in this request is updated, app will receive event by OnConfigurationEvent() of app callback
-       * 
- * - * bool subscribe_update = 7; - * @return This builder for chaining. - */ - public Builder clearSubscribeUpdate() { - - subscribeUpdate_ = false; - onChanged(); - return this; - } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -14416,56 +23595,98 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.GetConfigurationRequest) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.SubscribeConfigurationRequest) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.GetConfigurationRequest) - private static final spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.SubscribeConfigurationRequest) + private static final spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest(); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public GetConfigurationRequest parsePartialFrom( + public SubscribeConfigurationRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new GetConfigurationRequest(input, extensionRegistry); + return new SubscribeConfigurationRequest(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetConfigurationRequest getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface GetConfigurationResponseOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.GetConfigurationResponse) + public interface SubscribeConfigurationResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.SubscribeConfigurationResponse) com.google.protobuf.MessageOrBuilder { + /** + *
+     * The name of configuration store.
+     * 
+ * + * string store_name = 1; + * @return The storeName. + */ + java.lang.String getStoreName(); + /** + *
+     * The name of configuration store.
+     * 
+ * + * string store_name = 1; + * @return The bytes for storeName. + */ + com.google.protobuf.ByteString + getStoreNameBytes(); + + /** + *
+     * The application id.
+     * Only used for admin client.
+     * 
+ * + * string app_id = 2; + * @return The appId. + */ + java.lang.String getAppId(); + /** + *
+     * The application id.
+     * Only used for admin client.
+     * 
+ * + * string app_id = 2; + * @return The bytes for appId. + */ + com.google.protobuf.ByteString + getAppIdBytes(); + /** *
      * The list of items containing configuration values.
      * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ java.util.List getItemsList(); @@ -14474,7 +23695,7 @@ public interface GetConfigurationResponseOrBuilder extends * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getItems(int index); /** @@ -14482,7 +23703,7 @@ public interface GetConfigurationResponseOrBuilder extends * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ int getItemsCount(); /** @@ -14490,7 +23711,7 @@ public interface GetConfigurationResponseOrBuilder extends * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ java.util.List getItemsOrBuilderList(); @@ -14499,28 +23720,30 @@ public interface GetConfigurationResponseOrBuilder extends * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder getItemsOrBuilder( int index); } /** *
-   * GetConfigurationResponse is the response conveying the list of configuration values.
+   * SubscribeConfigurationResponse is the response conveying the list of configuration values.
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.GetConfigurationResponse} + * Protobuf type {@code spec.proto.runtime.v1.SubscribeConfigurationResponse} */ - public static final class GetConfigurationResponse extends + public static final class SubscribeConfigurationResponse extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.GetConfigurationResponse) - GetConfigurationResponseOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.SubscribeConfigurationResponse) + SubscribeConfigurationResponseOrBuilder { private static final long serialVersionUID = 0L; - // Use GetConfigurationResponse.newBuilder() to construct. - private GetConfigurationResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use SubscribeConfigurationResponse.newBuilder() to construct. + private SubscribeConfigurationResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private GetConfigurationResponse() { + private SubscribeConfigurationResponse() { + storeName_ = ""; + appId_ = ""; items_ = java.util.Collections.emptyList(); } @@ -14528,7 +23751,7 @@ private GetConfigurationResponse() { @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new GetConfigurationResponse(); + return new SubscribeConfigurationResponse(); } @java.lang.Override @@ -14536,7 +23759,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private GetConfigurationResponse( + private SubscribeConfigurationResponse( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -14556,6 +23779,18 @@ private GetConfigurationResponse( done = true; break; case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + storeName_ = s; + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + appId_ = s; + break; + } + case 26: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { items_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; @@ -14588,25 +23823,119 @@ private GetConfigurationResponse( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationResponse_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationResponse_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse.class, spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse.Builder.class); + spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse.class, spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse.Builder.class); } - public static final int ITEMS_FIELD_NUMBER = 1; + public static final int STORE_NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object storeName_; + /** + *
+     * The name of configuration store.
+     * 
+ * + * string store_name = 1; + * @return The storeName. + */ + @java.lang.Override + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + storeName_ = s; + return s; + } + } + /** + *
+     * The name of configuration store.
+     * 
+ * + * string store_name = 1; + * @return The bytes for storeName. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getStoreNameBytes() { + java.lang.Object ref = storeName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + storeName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int APP_ID_FIELD_NUMBER = 2; + private volatile java.lang.Object appId_; + /** + *
+     * The application id.
+     * Only used for admin client.
+     * 
+ * + * string app_id = 2; + * @return The appId. + */ + @java.lang.Override + public java.lang.String getAppId() { + java.lang.Object ref = appId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + appId_ = s; + return s; + } + } + /** + *
+     * The application id.
+     * Only used for admin client.
+     * 
+ * + * string app_id = 2; + * @return The bytes for appId. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getAppIdBytes() { + java.lang.Object ref = appId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + appId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ITEMS_FIELD_NUMBER = 3; private java.util.List items_; /** *
      * The list of items containing configuration values.
      * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ @java.lang.Override public java.util.List getItemsList() { @@ -14617,7 +23946,7 @@ public java.util.List getI * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ @java.lang.Override public java.util.List @@ -14629,7 +23958,7 @@ public java.util.List getI * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ @java.lang.Override public int getItemsCount() { @@ -14640,7 +23969,7 @@ public int getItemsCount() { * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ @java.lang.Override public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getItems(int index) { @@ -14651,7 +23980,7 @@ public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getItems(int index) * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ @java.lang.Override public spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder getItemsOrBuilder( @@ -14673,8 +24002,14 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!getStoreNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); + } + if (!getAppIdBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, appId_); + } for (int i = 0; i < items_.size(); i++) { - output.writeMessage(1, items_.get(i)); + output.writeMessage(3, items_.get(i)); } unknownFields.writeTo(output); } @@ -14685,9 +24020,15 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; + if (!getStoreNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); + } + if (!getAppIdBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, appId_); + } for (int i = 0; i < items_.size(); i++) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, items_.get(i)); + .computeMessageSize(3, items_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -14699,11 +24040,15 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse other = (spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse) obj; + spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse other = (spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse) obj; + if (!getStoreName() + .equals(other.getStoreName())) return false; + if (!getAppId() + .equals(other.getAppId())) return false; if (!getItemsList() .equals(other.getItemsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; @@ -14717,6 +24062,10 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + STORE_NAME_FIELD_NUMBER; + hash = (53 * hash) + getStoreName().hashCode(); + hash = (37 * hash) + APP_ID_FIELD_NUMBER; + hash = (53 * hash) + getAppId().hashCode(); if (getItemsCount() > 0) { hash = (37 * hash) + ITEMS_FIELD_NUMBER; hash = (53 * hash) + getItemsList().hashCode(); @@ -14726,69 +24075,69 @@ public int hashCode() { return hash; } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -14801,7 +24150,7 @@ public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parseF public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -14818,29 +24167,29 @@ protected Builder newBuilderForType( } /** *
-     * GetConfigurationResponse is the response conveying the list of configuration values.
+     * SubscribeConfigurationResponse is the response conveying the list of configuration values.
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.GetConfigurationResponse} + * Protobuf type {@code spec.proto.runtime.v1.SubscribeConfigurationResponse} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.GetConfigurationResponse) - spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponseOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.SubscribeConfigurationResponse) + spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponseOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationResponse_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationResponse_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse.class, spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse.Builder.class); + spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse.class, spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -14859,6 +24208,10 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); + storeName_ = ""; + + appId_ = ""; + if (itemsBuilder_ == null) { items_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); @@ -14871,17 +24224,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetConfigurationResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationResponse_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse build() { - spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse build() { + spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -14889,9 +24242,11 @@ public spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse buildPartial() { - spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse result = new spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse(this); + public spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse buildPartial() { + spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse result = new spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse(this); int from_bitField0_ = bitField0_; + result.storeName_ = storeName_; + result.appId_ = appId_; if (itemsBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { items_ = java.util.Collections.unmodifiableList(items_); @@ -14939,16 +24294,24 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse other) { - if (other == spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse.getDefaultInstance()) return this; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse other) { + if (other == spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse.getDefaultInstance()) return this; + if (!other.getStoreName().isEmpty()) { + storeName_ = other.storeName_; + onChanged(); + } + if (!other.getAppId().isEmpty()) { + appId_ = other.appId_; + onChanged(); + } if (itemsBuilder_ == null) { if (!other.items_.isEmpty()) { if (items_.isEmpty()) { @@ -14990,11 +24353,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -15005,6 +24368,203 @@ public Builder mergeFrom( } private int bitField0_; + private java.lang.Object storeName_ = ""; + /** + *
+       * The name of configuration store.
+       * 
+ * + * string store_name = 1; + * @return The storeName. + */ + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + storeName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * The name of configuration store.
+       * 
+ * + * string store_name = 1; + * @return The bytes for storeName. + */ + public com.google.protobuf.ByteString + getStoreNameBytes() { + java.lang.Object ref = storeName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + storeName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The name of configuration store.
+       * 
+ * + * string store_name = 1; + * @param value The storeName to set. + * @return This builder for chaining. + */ + public Builder setStoreName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + storeName_ = value; + onChanged(); + return this; + } + /** + *
+       * The name of configuration store.
+       * 
+ * + * string store_name = 1; + * @return This builder for chaining. + */ + public Builder clearStoreName() { + + storeName_ = getDefaultInstance().getStoreName(); + onChanged(); + return this; + } + /** + *
+       * The name of configuration store.
+       * 
+ * + * string store_name = 1; + * @param value The bytes for storeName to set. + * @return This builder for chaining. + */ + public Builder setStoreNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + storeName_ = value; + onChanged(); + return this; + } + + private java.lang.Object appId_ = ""; + /** + *
+       * The application id.
+       * Only used for admin client.
+       * 
+ * + * string app_id = 2; + * @return The appId. + */ + public java.lang.String getAppId() { + java.lang.Object ref = appId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + appId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * The application id.
+       * Only used for admin client.
+       * 
+ * + * string app_id = 2; + * @return The bytes for appId. + */ + public com.google.protobuf.ByteString + getAppIdBytes() { + java.lang.Object ref = appId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + appId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The application id.
+       * Only used for admin client.
+       * 
+ * + * string app_id = 2; + * @param value The appId to set. + * @return This builder for chaining. + */ + public Builder setAppId( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + appId_ = value; + onChanged(); + return this; + } + /** + *
+       * The application id.
+       * Only used for admin client.
+       * 
+ * + * string app_id = 2; + * @return This builder for chaining. + */ + public Builder clearAppId() { + + appId_ = getDefaultInstance().getAppId(); + onChanged(); + return this; + } + /** + *
+       * The application id.
+       * Only used for admin client.
+       * 
+ * + * string app_id = 2; + * @param value The bytes for appId to set. + * @return This builder for chaining. + */ + public Builder setAppIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + appId_ = value; + onChanged(); + return this; + } + private java.util.List items_ = java.util.Collections.emptyList(); private void ensureItemsIsMutable() { @@ -15022,7 +24582,7 @@ private void ensureItemsIsMutable() { * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ public java.util.List getItemsList() { if (itemsBuilder_ == null) { @@ -15036,7 +24596,7 @@ public java.util.List getI * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ public int getItemsCount() { if (itemsBuilder_ == null) { @@ -15050,7 +24610,7 @@ public int getItemsCount() { * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getItems(int index) { if (itemsBuilder_ == null) { @@ -15064,7 +24624,7 @@ public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getItems(int index) * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ public Builder setItems( int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem value) { @@ -15085,7 +24645,7 @@ public Builder setItems( * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ public Builder setItems( int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder builderForValue) { @@ -15103,7 +24663,7 @@ public Builder setItems( * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ public Builder addItems(spec.proto.runtime.v1.RuntimeProto.ConfigurationItem value) { if (itemsBuilder_ == null) { @@ -15123,7 +24683,7 @@ public Builder addItems(spec.proto.runtime.v1.RuntimeProto.ConfigurationItem val * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ public Builder addItems( int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem value) { @@ -15144,7 +24704,7 @@ public Builder addItems( * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ public Builder addItems( spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder builderForValue) { @@ -15162,7 +24722,7 @@ public Builder addItems( * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ public Builder addItems( int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder builderForValue) { @@ -15180,7 +24740,7 @@ public Builder addItems( * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ public Builder addAllItems( java.lang.Iterable values) { @@ -15199,7 +24759,7 @@ public Builder addAllItems( * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ public Builder clearItems() { if (itemsBuilder_ == null) { @@ -15216,7 +24776,7 @@ public Builder clearItems() { * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ public Builder removeItems(int index) { if (itemsBuilder_ == null) { @@ -15233,7 +24793,7 @@ public Builder removeItems(int index) { * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder getItemsBuilder( int index) { @@ -15244,7 +24804,7 @@ public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder getItemsBuil * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ public spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder getItemsOrBuilder( int index) { @@ -15258,7 +24818,7 @@ public spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder getItemsOrB * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ public java.util.List getItemsOrBuilderList() { @@ -15273,7 +24833,7 @@ public spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder getItemsOrB * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder addItemsBuilder() { return getItemsFieldBuilder().addBuilder( @@ -15284,7 +24844,7 @@ public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder addItemsBuil * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder addItemsBuilder( int index) { @@ -15296,7 +24856,7 @@ public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder addItemsBuil * The list of items containing configuration values. * * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 1; + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ public java.util.List getItemsBuilderList() { @@ -15329,48 +24889,48 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.GetConfigurationResponse) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.SubscribeConfigurationResponse) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.GetConfigurationResponse) - private static final spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.SubscribeConfigurationResponse) + private static final spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse(); } - public static spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public GetConfigurationResponse parsePartialFrom( + public SubscribeConfigurationResponse parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new GetConfigurationResponse(input, extensionRegistry); + return new SubscribeConfigurationResponse(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetConfigurationResponse getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface SubscribeConfigurationRequestOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.SubscribeConfigurationRequest) + public interface SaveConfigurationRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.SaveConfigurationRequest) com.google.protobuf.MessageOrBuilder { /** @@ -15417,91 +24977,59 @@ public interface SubscribeConfigurationRequestOrBuilder extends /** *
-     * The group of keys.
-     * 
- * - * string group = 3; - * @return The group. - */ - java.lang.String getGroup(); - /** - *
-     * The group of keys.
-     * 
- * - * string group = 3; - * @return The bytes for group. - */ - com.google.protobuf.ByteString - getGroupBytes(); - - /** - *
-     * The label for keys.
-     * 
- * - * string label = 4; - * @return The label. - */ - java.lang.String getLabel(); - /** - *
-     * The label for keys.
+     * The list of configuration items to save.
+     * To delete a exist item, set the key (also label) and let content to be empty
      * 
* - * string label = 4; - * @return The bytes for label. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - com.google.protobuf.ByteString - getLabelBytes(); - + java.util.List + getItemsList(); /** *
-     * The keys to get.
+     * The list of configuration items to save.
+     * To delete a exist item, set the key (also label) and let content to be empty
      * 
* - * repeated string keys = 5; - * @return A list containing the keys. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - java.util.List - getKeysList(); + spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getItems(int index); /** *
-     * The keys to get.
+     * The list of configuration items to save.
+     * To delete a exist item, set the key (also label) and let content to be empty
      * 
* - * repeated string keys = 5; - * @return The count of keys. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - int getKeysCount(); + int getItemsCount(); /** *
-     * The keys to get.
+     * The list of configuration items to save.
+     * To delete a exist item, set the key (also label) and let content to be empty
      * 
* - * repeated string keys = 5; - * @param index The index of the element to return. - * @return The keys at the given index. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - java.lang.String getKeys(int index); + java.util.List + getItemsOrBuilderList(); /** *
-     * The keys to get.
+     * The list of configuration items to save.
+     * To delete a exist item, set the key (also label) and let content to be empty
      * 
* - * repeated string keys = 5; - * @param index The index of the value to return. - * @return The bytes of the keys at the given index. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - com.google.protobuf.ByteString - getKeysBytes(int index); + spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder getItemsOrBuilder( + int index); /** *
      * The metadata which will be sent to configuration store components.
      * 
* - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ int getMetadataCount(); /** @@ -15509,7 +25037,7 @@ public interface SubscribeConfigurationRequestOrBuilder extends * The metadata which will be sent to configuration store components. * * - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ boolean containsMetadata( java.lang.String key); @@ -15524,7 +25052,7 @@ boolean containsMetadata( * The metadata which will be sent to configuration store components. * * - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ java.util.Map getMetadataMap(); @@ -15533,7 +25061,7 @@ boolean containsMetadata( * The metadata which will be sent to configuration store components. * * - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ java.lang.String getMetadataOrDefault( @@ -15544,7 +25072,7 @@ java.lang.String getMetadataOrDefault( * The metadata which will be sent to configuration store components. * * - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ java.lang.String getMetadataOrThrow( @@ -15552,33 +25080,31 @@ java.lang.String getMetadataOrThrow( } /** *
-   * SubscribeConfigurationRequest is the message to get a list of key-value configuration from specified configuration store.
+   * SaveConfigurationRequest is the message to save a list of key-value configuration into specified configuration store.
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.SubscribeConfigurationRequest} + * Protobuf type {@code spec.proto.runtime.v1.SaveConfigurationRequest} */ - public static final class SubscribeConfigurationRequest extends + public static final class SaveConfigurationRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.SubscribeConfigurationRequest) - SubscribeConfigurationRequestOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.SaveConfigurationRequest) + SaveConfigurationRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use SubscribeConfigurationRequest.newBuilder() to construct. - private SubscribeConfigurationRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use SaveConfigurationRequest.newBuilder() to construct. + private SaveConfigurationRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private SubscribeConfigurationRequest() { + private SaveConfigurationRequest() { storeName_ = ""; appId_ = ""; - group_ = ""; - label_ = ""; - keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; + items_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new SubscribeConfigurationRequest(); + return new SaveConfigurationRequest(); } @java.lang.Override @@ -15586,7 +25112,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private SubscribeConfigurationRequest( + private SaveConfigurationRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -15618,27 +25144,15 @@ private SubscribeConfigurationRequest( break; } case 26: { - java.lang.String s = input.readStringRequireUtf8(); - - group_ = s; - break; - } - case 34: { - java.lang.String s = input.readStringRequireUtf8(); - - label_ = s; - break; - } - case 42: { - java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000001) != 0)) { - keys_ = new com.google.protobuf.LazyStringArrayList(); + items_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } - keys_.add(s); + items_.add( + input.readMessage(spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.parser(), extensionRegistry)); break; } - case 50: { + case 34: { if (!((mutable_bitField0_ & 0x00000002) != 0)) { metadata_ = com.google.protobuf.MapField.newMapField( MetadataDefaultEntryHolder.defaultEntry); @@ -15667,7 +25181,7 @@ private SubscribeConfigurationRequest( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { - keys_ = keys_.getUnmodifiableView(); + items_ = java.util.Collections.unmodifiableList(items_); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); @@ -15675,7 +25189,7 @@ private SubscribeConfigurationRequest( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveConfigurationRequest_descriptor; } @SuppressWarnings({"rawtypes"}) @@ -15683,7 +25197,7 @@ private SubscribeConfigurationRequest( protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { - case 6: + case 4: return internalGetMetadata(); default: throw new RuntimeException( @@ -15693,9 +25207,9 @@ protected com.google.protobuf.MapField internalGetMapField( @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveConfigurationRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest.class, spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest.class, spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest.Builder.class); } public static final int STORE_NAME_FIELD_NUMBER = 1; @@ -15792,156 +25306,78 @@ public java.lang.String getAppId() { } } - public static final int GROUP_FIELD_NUMBER = 3; - private volatile java.lang.Object group_; + public static final int ITEMS_FIELD_NUMBER = 3; + private java.util.List items_; /** *
-     * The group of keys.
+     * The list of configuration items to save.
+     * To delete a exist item, set the key (also label) and let content to be empty
      * 
* - * string group = 3; - * @return The group. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ @java.lang.Override - public java.lang.String getGroup() { - java.lang.Object ref = group_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - group_ = s; - return s; - } + public java.util.List getItemsList() { + return items_; } /** *
-     * The group of keys.
+     * The list of configuration items to save.
+     * To delete a exist item, set the key (also label) and let content to be empty
      * 
* - * string group = 3; - * @return The bytes for group. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ @java.lang.Override - public com.google.protobuf.ByteString - getGroupBytes() { - java.lang.Object ref = group_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - group_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + public java.util.List + getItemsOrBuilderList() { + return items_; } - - public static final int LABEL_FIELD_NUMBER = 4; - private volatile java.lang.Object label_; /** *
-     * The label for keys.
+     * The list of configuration items to save.
+     * To delete a exist item, set the key (also label) and let content to be empty
      * 
* - * string label = 4; - * @return The label. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ @java.lang.Override - public java.lang.String getLabel() { - java.lang.Object ref = label_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - label_ = s; - return s; - } + public int getItemsCount() { + return items_.size(); } /** *
-     * The label for keys.
+     * The list of configuration items to save.
+     * To delete a exist item, set the key (also label) and let content to be empty
      * 
* - * string label = 4; - * @return The bytes for label. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ @java.lang.Override - public com.google.protobuf.ByteString - getLabelBytes() { - java.lang.Object ref = label_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - label_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int KEYS_FIELD_NUMBER = 5; - private com.google.protobuf.LazyStringList keys_; - /** - *
-     * The keys to get.
-     * 
- * - * repeated string keys = 5; - * @return A list containing the keys. - */ - public com.google.protobuf.ProtocolStringList - getKeysList() { - return keys_; - } - /** - *
-     * The keys to get.
-     * 
- * - * repeated string keys = 5; - * @return The count of keys. - */ - public int getKeysCount() { - return keys_.size(); - } - /** - *
-     * The keys to get.
-     * 
- * - * repeated string keys = 5; - * @param index The index of the element to return. - * @return The keys at the given index. - */ - public java.lang.String getKeys(int index) { - return keys_.get(index); + public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getItems(int index) { + return items_.get(index); } /** *
-     * The keys to get.
+     * The list of configuration items to save.
+     * To delete a exist item, set the key (also label) and let content to be empty
      * 
* - * repeated string keys = 5; - * @param index The index of the value to return. - * @return The bytes of the keys at the given index. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public com.google.protobuf.ByteString - getKeysBytes(int index) { - return keys_.getByteString(index); + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder getItemsOrBuilder( + int index) { + return items_.get(index); } - public static final int METADATA_FIELD_NUMBER = 6; + public static final int METADATA_FIELD_NUMBER = 4; private static final class MetadataDefaultEntryHolder { static final com.google.protobuf.MapEntry< java.lang.String, java.lang.String> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( - spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationRequest_MetadataEntry_descriptor, + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveConfigurationRequest_MetadataEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.STRING, @@ -15966,7 +25402,7 @@ public int getMetadataCount() { * The metadata which will be sent to configuration store components. * * - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ @java.lang.Override @@ -15988,7 +25424,7 @@ public java.util.Map getMetadata() { * The metadata which will be sent to configuration store components. * * - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ @java.lang.Override @@ -16000,7 +25436,7 @@ public java.util.Map getMetadataMap() { * The metadata which will be sent to configuration store components. * * - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ @java.lang.Override @@ -16017,7 +25453,7 @@ public java.lang.String getMetadataOrDefault( * The metadata which will be sent to configuration store components. * * - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ @java.lang.Override @@ -16052,21 +25488,15 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getAppIdBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, appId_); } - if (!getGroupBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 3, group_); - } - if (!getLabelBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 4, label_); - } - for (int i = 0; i < keys_.size(); i++) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 5, keys_.getRaw(i)); + for (int i = 0; i < items_.size(); i++) { + output.writeMessage(3, items_.get(i)); } com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( output, internalGetMetadata(), MetadataDefaultEntryHolder.defaultEntry, - 6); + 4); unknownFields.writeTo(output); } @@ -16082,19 +25512,9 @@ public int getSerializedSize() { if (!getAppIdBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, appId_); } - if (!getGroupBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, group_); - } - if (!getLabelBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, label_); - } - { - int dataSize = 0; - for (int i = 0; i < keys_.size(); i++) { - dataSize += computeStringSizeNoTag(keys_.getRaw(i)); - } - size += dataSize; - size += 1 * getKeysList().size(); + for (int i = 0; i < items_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, items_.get(i)); } for (java.util.Map.Entry entry : internalGetMetadata().getMap().entrySet()) { @@ -16104,7 +25524,7 @@ public int getSerializedSize() { .setValue(entry.getValue()) .build(); size += com.google.protobuf.CodedOutputStream - .computeMessageSize(6, metadata__); + .computeMessageSize(4, metadata__); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -16116,21 +25536,17 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest other = (spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest) obj; + spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest other = (spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest) obj; if (!getStoreName() .equals(other.getStoreName())) return false; if (!getAppId() .equals(other.getAppId())) return false; - if (!getGroup() - .equals(other.getGroup())) return false; - if (!getLabel() - .equals(other.getLabel())) return false; - if (!getKeysList() - .equals(other.getKeysList())) return false; + if (!getItemsList() + .equals(other.getItemsList())) return false; if (!internalGetMetadata().equals( other.internalGetMetadata())) return false; if (!unknownFields.equals(other.unknownFields)) return false; @@ -16148,13 +25564,9 @@ public int hashCode() { hash = (53 * hash) + getStoreName().hashCode(); hash = (37 * hash) + APP_ID_FIELD_NUMBER; hash = (53 * hash) + getAppId().hashCode(); - hash = (37 * hash) + GROUP_FIELD_NUMBER; - hash = (53 * hash) + getGroup().hashCode(); - hash = (37 * hash) + LABEL_FIELD_NUMBER; - hash = (53 * hash) + getLabel().hashCode(); - if (getKeysCount() > 0) { - hash = (37 * hash) + KEYS_FIELD_NUMBER; - hash = (53 * hash) + getKeysList().hashCode(); + if (getItemsCount() > 0) { + hash = (37 * hash) + ITEMS_FIELD_NUMBER; + hash = (53 * hash) + getItemsList().hashCode(); } if (!internalGetMetadata().getMap().isEmpty()) { hash = (37 * hash) + METADATA_FIELD_NUMBER; @@ -16165,69 +25577,69 @@ public int hashCode() { return hash; } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -16240,7 +25652,7 @@ public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest p public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -16257,25 +25669,25 @@ protected Builder newBuilderForType( } /** *
-     * SubscribeConfigurationRequest is the message to get a list of key-value configuration from specified configuration store.
+     * SaveConfigurationRequest is the message to save a list of key-value configuration into specified configuration store.
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.SubscribeConfigurationRequest} + * Protobuf type {@code spec.proto.runtime.v1.SaveConfigurationRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.SubscribeConfigurationRequest) - spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequestOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.SaveConfigurationRequest) + spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveConfigurationRequest_descriptor; } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { - case 6: + case 4: return internalGetMetadata(); default: throw new RuntimeException( @@ -16286,7 +25698,7 @@ protected com.google.protobuf.MapField internalGetMapField( protected com.google.protobuf.MapField internalGetMutableMapField( int number) { switch (number) { - case 6: + case 4: return internalGetMutableMetadata(); default: throw new RuntimeException( @@ -16296,12 +25708,12 @@ protected com.google.protobuf.MapField internalGetMutableMapField( @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveConfigurationRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest.class, spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest.class, spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -16314,6 +25726,7 @@ private Builder( private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getItemsFieldBuilder(); } } @java.lang.Override @@ -16323,12 +25736,12 @@ public Builder clear() { appId_ = ""; - group_ = ""; - - label_ = ""; - - keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; - bitField0_ = (bitField0_ & ~0x00000001); + if (itemsBuilder_ == null) { + items_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + itemsBuilder_.clear(); + } internalGetMutableMetadata().clear(); return this; } @@ -16336,17 +25749,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveConfigurationRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest build() { - spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest build() { + spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -16354,18 +25767,20 @@ public spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest build() } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest buildPartial() { - spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest result = new spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest(this); + public spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest result = new spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest(this); int from_bitField0_ = bitField0_; result.storeName_ = storeName_; result.appId_ = appId_; - result.group_ = group_; - result.label_ = label_; - if (((bitField0_ & 0x00000001) != 0)) { - keys_ = keys_.getUnmodifiableView(); - bitField0_ = (bitField0_ & ~0x00000001); + if (itemsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + items_ = java.util.Collections.unmodifiableList(items_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.items_ = items_; + } else { + result.items_ = itemsBuilder_.build(); } - result.keys_ = keys_; result.metadata_ = internalGetMetadata(); result.metadata_.makeImmutable(); onBuilt(); @@ -16406,16 +25821,16 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest other) { - if (other == spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest.getDefaultInstance()) return this; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest.getDefaultInstance()) return this; if (!other.getStoreName().isEmpty()) { storeName_ = other.storeName_; onChanged(); @@ -16424,23 +25839,31 @@ public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurati appId_ = other.appId_; onChanged(); } - if (!other.getGroup().isEmpty()) { - group_ = other.group_; - onChanged(); - } - if (!other.getLabel().isEmpty()) { - label_ = other.label_; - onChanged(); - } - if (!other.keys_.isEmpty()) { - if (keys_.isEmpty()) { - keys_ = other.keys_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureKeysIsMutable(); - keys_.addAll(other.keys_); + if (itemsBuilder_ == null) { + if (!other.items_.isEmpty()) { + if (items_.isEmpty()) { + items_ = other.items_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureItemsIsMutable(); + items_.addAll(other.items_); + } + onChanged(); + } + } else { + if (!other.items_.isEmpty()) { + if (itemsBuilder_.isEmpty()) { + itemsBuilder_.dispose(); + itemsBuilder_ = null; + items_ = other.items_; + bitField0_ = (bitField0_ & ~0x00000001); + itemsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getItemsFieldBuilder() : null; + } else { + itemsBuilder_.addAllMessages(other.items_); + } } - onChanged(); } internalGetMutableMetadata().mergeFrom( other.internalGetMetadata()); @@ -16459,11 +25882,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -16671,342 +26094,334 @@ public Builder setAppIdBytes( return this; } - private java.lang.Object group_ = ""; + private java.util.List items_ = + java.util.Collections.emptyList(); + private void ensureItemsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + items_ = new java.util.ArrayList(items_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.ConfigurationItem, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder, spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder> itemsBuilder_; + /** *
-       * The group of keys.
+       * The list of configuration items to save.
+       * To delete a exist item, set the key (also label) and let content to be empty
        * 
* - * string group = 3; - * @return The group. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public java.lang.String getGroup() { - java.lang.Object ref = group_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - group_ = s; - return s; + public java.util.List getItemsList() { + if (itemsBuilder_ == null) { + return java.util.Collections.unmodifiableList(items_); } else { - return (java.lang.String) ref; + return itemsBuilder_.getMessageList(); } } /** *
-       * The group of keys.
+       * The list of configuration items to save.
+       * To delete a exist item, set the key (also label) and let content to be empty
        * 
* - * string group = 3; - * @return The bytes for group. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public com.google.protobuf.ByteString - getGroupBytes() { - java.lang.Object ref = group_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - group_ = b; - return b; + public int getItemsCount() { + if (itemsBuilder_ == null) { + return items_.size(); } else { - return (com.google.protobuf.ByteString) ref; + return itemsBuilder_.getCount(); } } /** *
-       * The group of keys.
+       * The list of configuration items to save.
+       * To delete a exist item, set the key (also label) and let content to be empty
        * 
* - * string group = 3; - * @param value The group to set. - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public Builder setGroup( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - group_ = value; - onChanged(); - return this; + public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getItems(int index) { + if (itemsBuilder_ == null) { + return items_.get(index); + } else { + return itemsBuilder_.getMessage(index); + } } /** *
-       * The group of keys.
+       * The list of configuration items to save.
+       * To delete a exist item, set the key (also label) and let content to be empty
        * 
* - * string group = 3; - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public Builder clearGroup() { - - group_ = getDefaultInstance().getGroup(); - onChanged(); + public Builder setItems( + int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem value) { + if (itemsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureItemsIsMutable(); + items_.set(index, value); + onChanged(); + } else { + itemsBuilder_.setMessage(index, value); + } return this; } /** *
-       * The group of keys.
+       * The list of configuration items to save.
+       * To delete a exist item, set the key (also label) and let content to be empty
        * 
* - * string group = 3; - * @param value The bytes for group to set. - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public Builder setGroupBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - group_ = value; - onChanged(); + public Builder setItems( + int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder builderForValue) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + items_.set(index, builderForValue.build()); + onChanged(); + } else { + itemsBuilder_.setMessage(index, builderForValue.build()); + } return this; } - - private java.lang.Object label_ = ""; /** *
-       * The label for keys.
+       * The list of configuration items to save.
+       * To delete a exist item, set the key (also label) and let content to be empty
        * 
* - * string label = 4; - * @return The label. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public java.lang.String getLabel() { - java.lang.Object ref = label_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - label_ = s; - return s; + public Builder addItems(spec.proto.runtime.v1.RuntimeProto.ConfigurationItem value) { + if (itemsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureItemsIsMutable(); + items_.add(value); + onChanged(); } else { - return (java.lang.String) ref; + itemsBuilder_.addMessage(value); } + return this; } /** *
-       * The label for keys.
+       * The list of configuration items to save.
+       * To delete a exist item, set the key (also label) and let content to be empty
        * 
* - * string label = 4; - * @return The bytes for label. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public com.google.protobuf.ByteString - getLabelBytes() { - java.lang.Object ref = label_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - label_ = b; - return b; + public Builder addItems( + int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem value) { + if (itemsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureItemsIsMutable(); + items_.add(index, value); + onChanged(); } else { - return (com.google.protobuf.ByteString) ref; + itemsBuilder_.addMessage(index, value); } + return this; } /** *
-       * The label for keys.
+       * The list of configuration items to save.
+       * To delete a exist item, set the key (also label) and let content to be empty
        * 
* - * string label = 4; - * @param value The label to set. - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public Builder setLabel( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - label_ = value; - onChanged(); + public Builder addItems( + spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder builderForValue) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + items_.add(builderForValue.build()); + onChanged(); + } else { + itemsBuilder_.addMessage(builderForValue.build()); + } return this; } /** *
-       * The label for keys.
+       * The list of configuration items to save.
+       * To delete a exist item, set the key (also label) and let content to be empty
        * 
* - * string label = 4; - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public Builder clearLabel() { - - label_ = getDefaultInstance().getLabel(); - onChanged(); + public Builder addItems( + int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder builderForValue) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + items_.add(index, builderForValue.build()); + onChanged(); + } else { + itemsBuilder_.addMessage(index, builderForValue.build()); + } return this; } /** *
-       * The label for keys.
+       * The list of configuration items to save.
+       * To delete a exist item, set the key (also label) and let content to be empty
        * 
* - * string label = 4; - * @param value The bytes for label to set. - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public Builder setLabelBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - label_ = value; - onChanged(); + public Builder addAllItems( + java.lang.Iterable values) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, items_); + onChanged(); + } else { + itemsBuilder_.addAllMessages(values); + } return this; } - - private com.google.protobuf.LazyStringList keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; - private void ensureKeysIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - keys_ = new com.google.protobuf.LazyStringArrayList(keys_); - bitField0_ |= 0x00000001; - } - } /** *
-       * The keys to get.
+       * The list of configuration items to save.
+       * To delete a exist item, set the key (also label) and let content to be empty
        * 
* - * repeated string keys = 5; - * @return A list containing the keys. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public com.google.protobuf.ProtocolStringList - getKeysList() { - return keys_.getUnmodifiableView(); + public Builder clearItems() { + if (itemsBuilder_ == null) { + items_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + itemsBuilder_.clear(); + } + return this; } /** *
-       * The keys to get.
+       * The list of configuration items to save.
+       * To delete a exist item, set the key (also label) and let content to be empty
        * 
* - * repeated string keys = 5; - * @return The count of keys. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public int getKeysCount() { - return keys_.size(); + public Builder removeItems(int index) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + items_.remove(index); + onChanged(); + } else { + itemsBuilder_.remove(index); + } + return this; } /** *
-       * The keys to get.
+       * The list of configuration items to save.
+       * To delete a exist item, set the key (also label) and let content to be empty
        * 
* - * repeated string keys = 5; - * @param index The index of the element to return. - * @return The keys at the given index. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public java.lang.String getKeys(int index) { - return keys_.get(index); + public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder getItemsBuilder( + int index) { + return getItemsFieldBuilder().getBuilder(index); } /** *
-       * The keys to get.
+       * The list of configuration items to save.
+       * To delete a exist item, set the key (also label) and let content to be empty
        * 
* - * repeated string keys = 5; - * @param index The index of the value to return. - * @return The bytes of the keys at the given index. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public com.google.protobuf.ByteString - getKeysBytes(int index) { - return keys_.getByteString(index); + public spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder getItemsOrBuilder( + int index) { + if (itemsBuilder_ == null) { + return items_.get(index); } else { + return itemsBuilder_.getMessageOrBuilder(index); + } } /** *
-       * The keys to get.
+       * The list of configuration items to save.
+       * To delete a exist item, set the key (also label) and let content to be empty
        * 
* - * repeated string keys = 5; - * @param index The index to set the value at. - * @param value The keys to set. - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public Builder setKeys( - int index, java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - ensureKeysIsMutable(); - keys_.set(index, value); - onChanged(); - return this; + public java.util.List + getItemsOrBuilderList() { + if (itemsBuilder_ != null) { + return itemsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(items_); + } } /** *
-       * The keys to get.
+       * The list of configuration items to save.
+       * To delete a exist item, set the key (also label) and let content to be empty
        * 
* - * repeated string keys = 5; - * @param value The keys to add. - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public Builder addKeys( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - ensureKeysIsMutable(); - keys_.add(value); - onChanged(); - return this; + public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder addItemsBuilder() { + return getItemsFieldBuilder().addBuilder( + spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.getDefaultInstance()); } /** *
-       * The keys to get.
+       * The list of configuration items to save.
+       * To delete a exist item, set the key (also label) and let content to be empty
        * 
* - * repeated string keys = 5; - * @param values The keys to add. - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public Builder addAllKeys( - java.lang.Iterable values) { - ensureKeysIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, keys_); - onChanged(); - return this; + public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder addItemsBuilder( + int index) { + return getItemsFieldBuilder().addBuilder( + index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.getDefaultInstance()); } /** *
-       * The keys to get.
+       * The list of configuration items to save.
+       * To delete a exist item, set the key (also label) and let content to be empty
        * 
* - * repeated string keys = 5; - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; */ - public Builder clearKeys() { - keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; + public java.util.List + getItemsBuilderList() { + return getItemsFieldBuilder().getBuilderList(); } - /** - *
-       * The keys to get.
-       * 
- * - * repeated string keys = 5; - * @param value The bytes of the keys to add. - * @return This builder for chaining. - */ - public Builder addKeysBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - ensureKeysIsMutable(); - keys_.add(value); - onChanged(); - return this; + private com.google.protobuf.RepeatedFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.ConfigurationItem, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder, spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder> + getItemsFieldBuilder() { + if (itemsBuilder_ == null) { + itemsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.ConfigurationItem, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder, spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder>( + items_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + items_ = null; + } + return itemsBuilder_; } private com.google.protobuf.MapField< @@ -17040,7 +26455,7 @@ public int getMetadataCount() { * The metadata which will be sent to configuration store components. * * - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ @java.lang.Override @@ -17062,7 +26477,7 @@ public java.util.Map getMetadata() { * The metadata which will be sent to configuration store components. * * - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ @java.lang.Override @@ -17074,7 +26489,7 @@ public java.util.Map getMetadataMap() { * The metadata which will be sent to configuration store components. * * - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ @java.lang.Override @@ -17091,7 +26506,7 @@ public java.lang.String getMetadataOrDefault( * The metadata which will be sent to configuration store components. * * - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ @java.lang.Override @@ -17116,7 +26531,7 @@ public Builder clearMetadata() { * The metadata which will be sent to configuration store components. * * - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ public Builder removeMetadata( @@ -17139,7 +26554,7 @@ public Builder removeMetadata( * The metadata which will be sent to configuration store components. * * - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ public Builder putMetadata( java.lang.String key, @@ -17155,7 +26570,7 @@ public Builder putMetadata( * The metadata which will be sent to configuration store components. * * - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ public Builder putAllMetadata( @@ -17177,48 +26592,48 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.SubscribeConfigurationRequest) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.SaveConfigurationRequest) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.SubscribeConfigurationRequest) - private static final spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.SaveConfigurationRequest) + private static final spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest(); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public SubscribeConfigurationRequest parsePartialFrom( + public SaveConfigurationRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new SubscribeConfigurationRequest(input, extensionRegistry); + return new SaveConfigurationRequest(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationRequest getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface SubscribeConfigurationResponseOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.SubscribeConfigurationResponse) + public interface DeleteConfigurationRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.DeleteConfigurationRequest) com.google.protobuf.MessageOrBuilder { /** @@ -17243,8 +26658,8 @@ public interface SubscribeConfigurationResponseOrBuilder extends /** *
-     * The application id.
-     * Only used for admin client.
+     * The application id which
+     * Only used for admin, Ignored and reset for normal client
      * 
* * string app_id = 2; @@ -17253,8 +26668,8 @@ public interface SubscribeConfigurationResponseOrBuilder extends java.lang.String getAppId(); /** *
-     * The application id.
-     * Only used for admin client.
+     * The application id which
+     * Only used for admin, Ignored and reset for normal client
      * 
* * string app_id = 2; @@ -17265,75 +26680,168 @@ public interface SubscribeConfigurationResponseOrBuilder extends /** *
-     * The list of items containing configuration values.
+     * The group of keys.
      * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * string group = 3; + * @return The group. */ - java.util.List - getItemsList(); + java.lang.String getGroup(); /** *
-     * The list of items containing configuration values.
+     * The group of keys.
      * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * string group = 3; + * @return The bytes for group. */ - spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getItems(int index); + com.google.protobuf.ByteString + getGroupBytes(); + /** *
-     * The list of items containing configuration values.
+     * The label for keys.
      * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * string label = 4; + * @return The label. */ - int getItemsCount(); + java.lang.String getLabel(); /** *
-     * The list of items containing configuration values.
+     * The label for keys.
      * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * string label = 4; + * @return The bytes for label. */ - java.util.List - getItemsOrBuilderList(); + com.google.protobuf.ByteString + getLabelBytes(); + /** *
-     * The list of items containing configuration values.
+     * The keys to get.
      * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * repeated string keys = 5; + * @return A list containing the keys. */ - spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder getItemsOrBuilder( - int index); + java.util.List + getKeysList(); + /** + *
+     * The keys to get.
+     * 
+ * + * repeated string keys = 5; + * @return The count of keys. + */ + int getKeysCount(); + /** + *
+     * The keys to get.
+     * 
+ * + * repeated string keys = 5; + * @param index The index of the element to return. + * @return The keys at the given index. + */ + java.lang.String getKeys(int index); + /** + *
+     * The keys to get.
+     * 
+ * + * repeated string keys = 5; + * @param index The index of the value to return. + * @return The bytes of the keys at the given index. + */ + com.google.protobuf.ByteString + getKeysBytes(int index); + + /** + *
+     * The metadata which will be sent to configuration store components.
+     * 
+ * + * map<string, string> metadata = 6; + */ + int getMetadataCount(); + /** + *
+     * The metadata which will be sent to configuration store components.
+     * 
+ * + * map<string, string> metadata = 6; + */ + boolean containsMetadata( + java.lang.String key); + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getMetadata(); + /** + *
+     * The metadata which will be sent to configuration store components.
+     * 
+ * + * map<string, string> metadata = 6; + */ + java.util.Map + getMetadataMap(); + /** + *
+     * The metadata which will be sent to configuration store components.
+     * 
+ * + * map<string, string> metadata = 6; + */ + + java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue); + /** + *
+     * The metadata which will be sent to configuration store components.
+     * 
+ * + * map<string, string> metadata = 6; + */ + + java.lang.String getMetadataOrThrow( + java.lang.String key); } /** *
-   * SubscribeConfigurationResponse is the response conveying the list of configuration values.
+   * DeleteConfigurationRequest is the message to delete a list of key-value configuration from specified configuration store.
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.SubscribeConfigurationResponse} + * Protobuf type {@code spec.proto.runtime.v1.DeleteConfigurationRequest} */ - public static final class SubscribeConfigurationResponse extends + public static final class DeleteConfigurationRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.SubscribeConfigurationResponse) - SubscribeConfigurationResponseOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.DeleteConfigurationRequest) + DeleteConfigurationRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use SubscribeConfigurationResponse.newBuilder() to construct. - private SubscribeConfigurationResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use DeleteConfigurationRequest.newBuilder() to construct. + private DeleteConfigurationRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private SubscribeConfigurationResponse() { + private DeleteConfigurationRequest() { storeName_ = ""; appId_ = ""; - items_ = java.util.Collections.emptyList(); + group_ = ""; + label_ = ""; + keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new SubscribeConfigurationResponse(); + return new DeleteConfigurationRequest(); } @java.lang.Override @@ -17341,7 +26849,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private SubscribeConfigurationResponse( + private DeleteConfigurationRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -17373,12 +26881,37 @@ private SubscribeConfigurationResponse( break; } case 26: { + java.lang.String s = input.readStringRequireUtf8(); + + group_ = s; + break; + } + case 34: { + java.lang.String s = input.readStringRequireUtf8(); + + label_ = s; + break; + } + case 42: { + java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000001) != 0)) { - items_ = new java.util.ArrayList(); + keys_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000001; } - items_.add( - input.readMessage(spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.parser(), extensionRegistry)); + keys_.add(s); + break; + } + case 50: { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); + mutable_bitField0_ |= 0x00000002; + } + com.google.protobuf.MapEntry + metadata__ = input.readMessage( + MetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + metadata_.getMutableMap().put( + metadata__.getKey(), metadata__.getValue()); break; } default: { @@ -17397,7 +26930,7 @@ private SubscribeConfigurationResponse( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { - items_ = java.util.Collections.unmodifiableList(items_); + keys_ = keys_.getUnmodifiableView(); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); @@ -17405,15 +26938,27 @@ private SubscribeConfigurationResponse( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteConfigurationRequest_descriptor; } + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 6: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationResponse_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteConfigurationRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse.class, spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse.Builder.class); + spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest.class, spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest.Builder.class); } public static final int STORE_NAME_FIELD_NUMBER = 1; @@ -17466,8 +27011,8 @@ public java.lang.String getStoreName() { private volatile java.lang.Object appId_; /** *
-     * The application id.
-     * Only used for admin client.
+     * The application id which
+     * Only used for admin, Ignored and reset for normal client
      * 
* * string app_id = 2; @@ -17488,8 +27033,8 @@ public java.lang.String getAppId() { } /** *
-     * The application id.
-     * Only used for admin client.
+     * The application id which
+     * Only used for admin, Ignored and reset for normal client
      * 
* * string app_id = 2; @@ -17510,64 +27055,244 @@ public java.lang.String getAppId() { } } - public static final int ITEMS_FIELD_NUMBER = 3; - private java.util.List items_; + public static final int GROUP_FIELD_NUMBER = 3; + private volatile java.lang.Object group_; /** *
-     * The list of items containing configuration values.
+     * The group of keys.
      * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * string group = 3; + * @return The group. */ @java.lang.Override - public java.util.List getItemsList() { - return items_; + public java.lang.String getGroup() { + java.lang.Object ref = group_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + group_ = s; + return s; + } } /** *
-     * The list of items containing configuration values.
+     * The group of keys.
      * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * string group = 3; + * @return The bytes for group. */ @java.lang.Override - public java.util.List - getItemsOrBuilderList() { - return items_; + public com.google.protobuf.ByteString + getGroupBytes() { + java.lang.Object ref = group_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + group_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } + + public static final int LABEL_FIELD_NUMBER = 4; + private volatile java.lang.Object label_; /** *
-     * The list of items containing configuration values.
+     * The label for keys.
      * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * string label = 4; + * @return The label. */ @java.lang.Override - public int getItemsCount() { - return items_.size(); + public java.lang.String getLabel() { + java.lang.Object ref = label_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + label_ = s; + return s; + } } /** *
-     * The list of items containing configuration values.
+     * The label for keys.
      * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * string label = 4; + * @return The bytes for label. */ @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getItems(int index) { - return items_.get(index); + public com.google.protobuf.ByteString + getLabelBytes() { + java.lang.Object ref = label_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + label_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } + + public static final int KEYS_FIELD_NUMBER = 5; + private com.google.protobuf.LazyStringList keys_; /** *
-     * The list of items containing configuration values.
+     * The keys to get.
      * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * repeated string keys = 5; + * @return A list containing the keys. + */ + public com.google.protobuf.ProtocolStringList + getKeysList() { + return keys_; + } + /** + *
+     * The keys to get.
+     * 
+ * + * repeated string keys = 5; + * @return The count of keys. + */ + public int getKeysCount() { + return keys_.size(); + } + /** + *
+     * The keys to get.
+     * 
+ * + * repeated string keys = 5; + * @param index The index of the element to return. + * @return The keys at the given index. + */ + public java.lang.String getKeys(int index) { + return keys_.get(index); + } + /** + *
+     * The keys to get.
+     * 
+ * + * repeated string keys = 5; + * @param index The index of the value to return. + * @return The bytes of the keys at the given index. + */ + public com.google.protobuf.ByteString + getKeysBytes(int index) { + return keys_.getByteString(index); + } + + public static final int METADATA_FIELD_NUMBER = 6; + private static final class MetadataDefaultEntryHolder { + static final com.google.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteConfigurationRequest_MetadataEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + return metadata_; + } + + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); + } + /** + *
+     * The metadata which will be sent to configuration store components.
+     * 
+ * + * map<string, string> metadata = 6; */ + @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder getItemsOrBuilder( - int index) { - return items_.get(index); + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); + } + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); + } + /** + *
+     * The metadata which will be sent to configuration store components.
+     * 
+ * + * map<string, string> metadata = 6; + */ + @java.lang.Override + + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); + } + /** + *
+     * The metadata which will be sent to configuration store components.
+     * 
+ * + * map<string, string> metadata = 6; + */ + @java.lang.Override + + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+     * The metadata which will be sent to configuration store components.
+     * 
+ * + * map<string, string> metadata = 6; + */ + @java.lang.Override + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); } private byte memoizedIsInitialized = -1; @@ -17590,9 +27315,21 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getAppIdBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, appId_); } - for (int i = 0; i < items_.size(); i++) { - output.writeMessage(3, items_.get(i)); + if (!getGroupBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, group_); + } + if (!getLabelBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, label_); + } + for (int i = 0; i < keys_.size(); i++) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 5, keys_.getRaw(i)); } + com.google.protobuf.GeneratedMessageV3 + .serializeStringMapTo( + output, + internalGetMetadata(), + MetadataDefaultEntryHolder.defaultEntry, + 6); unknownFields.writeTo(output); } @@ -17605,12 +27342,32 @@ public int getSerializedSize() { if (!getStoreNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); } - if (!getAppIdBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, appId_); + if (!getAppIdBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, appId_); + } + if (!getGroupBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, group_); + } + if (!getLabelBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, label_); } - for (int i = 0; i < items_.size(); i++) { + { + int dataSize = 0; + for (int i = 0; i < keys_.size(); i++) { + dataSize += computeStringSizeNoTag(keys_.getRaw(i)); + } + size += dataSize; + size += 1 * getKeysList().size(); + } + for (java.util.Map.Entry entry + : internalGetMetadata().getMap().entrySet()) { + com.google.protobuf.MapEntry + metadata__ = MetadataDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, items_.get(i)); + .computeMessageSize(6, metadata__); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -17622,17 +27379,23 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse other = (spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse) obj; + spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest other = (spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest) obj; if (!getStoreName() .equals(other.getStoreName())) return false; if (!getAppId() .equals(other.getAppId())) return false; - if (!getItemsList() - .equals(other.getItemsList())) return false; + if (!getGroup() + .equals(other.getGroup())) return false; + if (!getLabel() + .equals(other.getLabel())) return false; + if (!getKeysList() + .equals(other.getKeysList())) return false; + if (!internalGetMetadata().equals( + other.internalGetMetadata())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -17648,78 +27411,86 @@ public int hashCode() { hash = (53 * hash) + getStoreName().hashCode(); hash = (37 * hash) + APP_ID_FIELD_NUMBER; hash = (53 * hash) + getAppId().hashCode(); - if (getItemsCount() > 0) { - hash = (37 * hash) + ITEMS_FIELD_NUMBER; - hash = (53 * hash) + getItemsList().hashCode(); + hash = (37 * hash) + GROUP_FIELD_NUMBER; + hash = (53 * hash) + getGroup().hashCode(); + hash = (37 * hash) + LABEL_FIELD_NUMBER; + hash = (53 * hash) + getLabel().hashCode(); + if (getKeysCount() > 0) { + hash = (37 * hash) + KEYS_FIELD_NUMBER; + hash = (53 * hash) + getKeysList().hashCode(); + } + if (!internalGetMetadata().getMap().isEmpty()) { + hash = (37 * hash) + METADATA_FIELD_NUMBER; + hash = (53 * hash) + internalGetMetadata().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -17732,7 +27503,7 @@ public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -17749,29 +27520,51 @@ protected Builder newBuilderForType( } /** *
-     * SubscribeConfigurationResponse is the response conveying the list of configuration values.
+     * DeleteConfigurationRequest is the message to delete a list of key-value configuration from specified configuration store.
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.SubscribeConfigurationResponse} + * Protobuf type {@code spec.proto.runtime.v1.DeleteConfigurationRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.SubscribeConfigurationResponse) - spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponseOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.DeleteConfigurationRequest) + spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteConfigurationRequest_descriptor; } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 6: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMutableMapField( + int number) { + switch (number) { + case 6: + return internalGetMutableMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationResponse_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteConfigurationRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse.class, spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse.Builder.class); + spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest.class, spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -17784,7 +27577,6 @@ private Builder( private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getItemsFieldBuilder(); } } @java.lang.Override @@ -17794,29 +27586,30 @@ public Builder clear() { appId_ = ""; - if (itemsBuilder_ == null) { - items_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - itemsBuilder_.clear(); - } + group_ = ""; + + label_ = ""; + + keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + internalGetMutableMetadata().clear(); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SubscribeConfigurationResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteConfigurationRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse build() { - spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest build() { + spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -17824,20 +27617,20 @@ public spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse build() } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse buildPartial() { - spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse result = new spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse(this); + public spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest result = new spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest(this); int from_bitField0_ = bitField0_; result.storeName_ = storeName_; result.appId_ = appId_; - if (itemsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - items_ = java.util.Collections.unmodifiableList(items_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.items_ = items_; - } else { - result.items_ = itemsBuilder_.build(); + result.group_ = group_; + result.label_ = label_; + if (((bitField0_ & 0x00000001) != 0)) { + keys_ = keys_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000001); } + result.keys_ = keys_; + result.metadata_ = internalGetMetadata(); + result.metadata_.makeImmutable(); onBuilt(); return result; } @@ -17876,16 +27669,16 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse other) { - if (other == spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse.getDefaultInstance()) return this; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest.getDefaultInstance()) return this; if (!other.getStoreName().isEmpty()) { storeName_ = other.storeName_; onChanged(); @@ -17894,32 +27687,26 @@ public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurati appId_ = other.appId_; onChanged(); } - if (itemsBuilder_ == null) { - if (!other.items_.isEmpty()) { - if (items_.isEmpty()) { - items_ = other.items_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureItemsIsMutable(); - items_.addAll(other.items_); - } - onChanged(); - } - } else { - if (!other.items_.isEmpty()) { - if (itemsBuilder_.isEmpty()) { - itemsBuilder_.dispose(); - itemsBuilder_ = null; - items_ = other.items_; - bitField0_ = (bitField0_ & ~0x00000001); - itemsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getItemsFieldBuilder() : null; - } else { - itemsBuilder_.addAllMessages(other.items_); - } + if (!other.getGroup().isEmpty()) { + group_ = other.group_; + onChanged(); + } + if (!other.getLabel().isEmpty()) { + label_ = other.label_; + onChanged(); + } + if (!other.keys_.isEmpty()) { + if (keys_.isEmpty()) { + keys_ = other.keys_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureKeysIsMutable(); + keys_.addAll(other.keys_); } + onChanged(); } + internalGetMutableMetadata().mergeFrom( + other.internalGetMetadata()); this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -17935,11 +27722,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -18049,8 +27836,8 @@ public Builder setStoreNameBytes( private java.lang.Object appId_ = ""; /** *
-       * The application id.
-       * Only used for admin client.
+       * The application id which
+       * Only used for admin, Ignored and reset for normal client
        * 
* * string app_id = 2; @@ -18070,8 +27857,8 @@ public java.lang.String getAppId() { } /** *
-       * The application id.
-       * Only used for admin client.
+       * The application id which
+       * Only used for admin, Ignored and reset for normal client
        * 
* * string app_id = 2; @@ -18092,8 +27879,8 @@ public java.lang.String getAppId() { } /** *
-       * The application id.
-       * Only used for admin client.
+       * The application id which
+       * Only used for admin, Ignored and reset for normal client
        * 
* * string app_id = 2; @@ -18112,8 +27899,8 @@ public Builder setAppId( } /** *
-       * The application id.
-       * Only used for admin client.
+       * The application id which
+       * Only used for admin, Ignored and reset for normal client
        * 
* * string app_id = 2; @@ -18127,8 +27914,8 @@ public Builder clearAppId() { } /** *
-       * The application id.
-       * Only used for admin client.
+       * The application id which
+       * Only used for admin, Ignored and reset for normal client
        * 
* * string app_id = 2; @@ -18147,316 +27934,498 @@ public Builder setAppIdBytes( return this; } - private java.util.List items_ = - java.util.Collections.emptyList(); - private void ensureItemsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - items_ = new java.util.ArrayList(items_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.ConfigurationItem, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder, spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder> itemsBuilder_; - + private java.lang.Object group_ = ""; /** *
-       * The list of items containing configuration values.
+       * The group of keys.
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * string group = 3; + * @return The group. */ - public java.util.List getItemsList() { - if (itemsBuilder_ == null) { - return java.util.Collections.unmodifiableList(items_); + public java.lang.String getGroup() { + java.lang.Object ref = group_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + group_ = s; + return s; } else { - return itemsBuilder_.getMessageList(); + return (java.lang.String) ref; } } /** *
-       * The list of items containing configuration values.
+       * The group of keys.
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * string group = 3; + * @return The bytes for group. */ - public int getItemsCount() { - if (itemsBuilder_ == null) { - return items_.size(); + public com.google.protobuf.ByteString + getGroupBytes() { + java.lang.Object ref = group_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + group_ = b; + return b; } else { - return itemsBuilder_.getCount(); + return (com.google.protobuf.ByteString) ref; } } /** *
-       * The list of items containing configuration values.
+       * The group of keys.
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * string group = 3; + * @param value The group to set. + * @return This builder for chaining. */ - public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getItems(int index) { - if (itemsBuilder_ == null) { - return items_.get(index); + public Builder setGroup( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + group_ = value; + onChanged(); + return this; + } + /** + *
+       * The group of keys.
+       * 
+ * + * string group = 3; + * @return This builder for chaining. + */ + public Builder clearGroup() { + + group_ = getDefaultInstance().getGroup(); + onChanged(); + return this; + } + /** + *
+       * The group of keys.
+       * 
+ * + * string group = 3; + * @param value The bytes for group to set. + * @return This builder for chaining. + */ + public Builder setGroupBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + group_ = value; + onChanged(); + return this; + } + + private java.lang.Object label_ = ""; + /** + *
+       * The label for keys.
+       * 
+ * + * string label = 4; + * @return The label. + */ + public java.lang.String getLabel() { + java.lang.Object ref = label_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + label_ = s; + return s; } else { - return itemsBuilder_.getMessage(index); + return (java.lang.String) ref; } } /** *
-       * The list of items containing configuration values.
+       * The label for keys.
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * string label = 4; + * @return The bytes for label. */ - public Builder setItems( - int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem value) { - if (itemsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureItemsIsMutable(); - items_.set(index, value); - onChanged(); + public com.google.protobuf.ByteString + getLabelBytes() { + java.lang.Object ref = label_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + label_ = b; + return b; } else { - itemsBuilder_.setMessage(index, value); + return (com.google.protobuf.ByteString) ref; } + } + /** + *
+       * The label for keys.
+       * 
+ * + * string label = 4; + * @param value The label to set. + * @return This builder for chaining. + */ + public Builder setLabel( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + label_ = value; + onChanged(); return this; } /** *
-       * The list of items containing configuration values.
+       * The label for keys.
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * string label = 4; + * @return This builder for chaining. */ - public Builder setItems( - int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder builderForValue) { - if (itemsBuilder_ == null) { - ensureItemsIsMutable(); - items_.set(index, builderForValue.build()); - onChanged(); - } else { - itemsBuilder_.setMessage(index, builderForValue.build()); - } + public Builder clearLabel() { + + label_ = getDefaultInstance().getLabel(); + onChanged(); return this; } /** *
-       * The list of items containing configuration values.
+       * The label for keys.
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * string label = 4; + * @param value The bytes for label to set. + * @return This builder for chaining. */ - public Builder addItems(spec.proto.runtime.v1.RuntimeProto.ConfigurationItem value) { - if (itemsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureItemsIsMutable(); - items_.add(value); - onChanged(); - } else { - itemsBuilder_.addMessage(value); - } + public Builder setLabelBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + label_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringList keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; + private void ensureKeysIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + keys_ = new com.google.protobuf.LazyStringArrayList(keys_); + bitField0_ |= 0x00000001; + } + } + /** + *
+       * The keys to get.
+       * 
+ * + * repeated string keys = 5; + * @return A list containing the keys. + */ + public com.google.protobuf.ProtocolStringList + getKeysList() { + return keys_.getUnmodifiableView(); + } + /** + *
+       * The keys to get.
+       * 
+ * + * repeated string keys = 5; + * @return The count of keys. + */ + public int getKeysCount() { + return keys_.size(); + } + /** + *
+       * The keys to get.
+       * 
+ * + * repeated string keys = 5; + * @param index The index of the element to return. + * @return The keys at the given index. + */ + public java.lang.String getKeys(int index) { + return keys_.get(index); + } + /** + *
+       * The keys to get.
+       * 
+ * + * repeated string keys = 5; + * @param index The index of the value to return. + * @return The bytes of the keys at the given index. + */ + public com.google.protobuf.ByteString + getKeysBytes(int index) { + return keys_.getByteString(index); + } + /** + *
+       * The keys to get.
+       * 
+ * + * repeated string keys = 5; + * @param index The index to set the value at. + * @param value The keys to set. + * @return This builder for chaining. + */ + public Builder setKeys( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureKeysIsMutable(); + keys_.set(index, value); + onChanged(); return this; } /** *
-       * The list of items containing configuration values.
+       * The keys to get.
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * repeated string keys = 5; + * @param value The keys to add. + * @return This builder for chaining. */ - public Builder addItems( - int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem value) { - if (itemsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureItemsIsMutable(); - items_.add(index, value); - onChanged(); - } else { - itemsBuilder_.addMessage(index, value); - } + public Builder addKeys( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureKeysIsMutable(); + keys_.add(value); + onChanged(); return this; } /** *
-       * The list of items containing configuration values.
+       * The keys to get.
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * repeated string keys = 5; + * @param values The keys to add. + * @return This builder for chaining. */ - public Builder addItems( - spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder builderForValue) { - if (itemsBuilder_ == null) { - ensureItemsIsMutable(); - items_.add(builderForValue.build()); - onChanged(); - } else { - itemsBuilder_.addMessage(builderForValue.build()); - } + public Builder addAllKeys( + java.lang.Iterable values) { + ensureKeysIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, keys_); + onChanged(); return this; } /** *
-       * The list of items containing configuration values.
+       * The keys to get.
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * repeated string keys = 5; + * @return This builder for chaining. */ - public Builder addItems( - int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder builderForValue) { - if (itemsBuilder_ == null) { - ensureItemsIsMutable(); - items_.add(index, builderForValue.build()); - onChanged(); - } else { - itemsBuilder_.addMessage(index, builderForValue.build()); - } + public Builder clearKeys() { + keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); return this; } /** *
-       * The list of items containing configuration values.
+       * The keys to get.
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * repeated string keys = 5; + * @param value The bytes of the keys to add. + * @return This builder for chaining. */ - public Builder addAllItems( - java.lang.Iterable values) { - if (itemsBuilder_ == null) { - ensureItemsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, items_); - onChanged(); - } else { - itemsBuilder_.addAllMessages(values); - } + public Builder addKeysBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureKeysIsMutable(); + keys_.add(value); + onChanged(); return this; } + + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + return metadata_; + } + private com.google.protobuf.MapField + internalGetMutableMetadata() { + onChanged();; + if (metadata_ == null) { + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + if (!metadata_.isMutable()) { + metadata_ = metadata_.copy(); + } + return metadata_; + } + + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); + } /** *
-       * The list of items containing configuration values.
+       * The metadata which will be sent to configuration store components.
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * map<string, string> metadata = 6; */ - public Builder clearItems() { - if (itemsBuilder_ == null) { - items_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - } else { - itemsBuilder_.clear(); - } - return this; + + @java.lang.Override + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); } /** - *
-       * The list of items containing configuration values.
-       * 
- * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * Use {@link #getMetadataMap()} instead. */ - public Builder removeItems(int index) { - if (itemsBuilder_ == null) { - ensureItemsIsMutable(); - items_.remove(index); - onChanged(); - } else { - itemsBuilder_.remove(index); - } - return this; + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); } /** *
-       * The list of items containing configuration values.
+       * The metadata which will be sent to configuration store components.
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * map<string, string> metadata = 6; */ - public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder getItemsBuilder( - int index) { - return getItemsFieldBuilder().getBuilder(index); + @java.lang.Override + + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); } /** *
-       * The list of items containing configuration values.
+       * The metadata which will be sent to configuration store components.
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * map<string, string> metadata = 6; */ - public spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder getItemsOrBuilder( - int index) { - if (itemsBuilder_ == null) { - return items_.get(index); } else { - return itemsBuilder_.getMessageOrBuilder(index); - } + @java.lang.Override + + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
-       * The list of items containing configuration values.
+       * The metadata which will be sent to configuration store components.
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * map<string, string> metadata = 6; */ - public java.util.List - getItemsOrBuilderList() { - if (itemsBuilder_ != null) { - return itemsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(items_); + @java.lang.Override + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); } + return map.get(key); + } + + public Builder clearMetadata() { + internalGetMutableMetadata().getMutableMap() + .clear(); + return this; } /** *
-       * The list of items containing configuration values.
+       * The metadata which will be sent to configuration store components.
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * map<string, string> metadata = 6; */ - public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder addItemsBuilder() { - return getItemsFieldBuilder().addBuilder( - spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.getDefaultInstance()); + + public Builder removeMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .remove(key); + return this; + } + /** + * Use alternate mutation accessors instead. + */ + @java.lang.Deprecated + public java.util.Map + getMutableMetadata() { + return internalGetMutableMetadata().getMutableMap(); } /** *
-       * The list of items containing configuration values.
+       * The metadata which will be sent to configuration store components.
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * map<string, string> metadata = 6; */ - public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder addItemsBuilder( - int index) { - return getItemsFieldBuilder().addBuilder( - index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.getDefaultInstance()); + public Builder putMetadata( + java.lang.String key, + java.lang.String value) { + if (key == null) { throw new java.lang.NullPointerException(); } + if (value == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .put(key, value); + return this; } /** *
-       * The list of items containing configuration values.
+       * The metadata which will be sent to configuration store components.
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * map<string, string> metadata = 6; */ - public java.util.List - getItemsBuilderList() { - return getItemsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.ConfigurationItem, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder, spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder> - getItemsFieldBuilder() { - if (itemsBuilder_ == null) { - itemsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.ConfigurationItem, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder, spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder>( - items_, - ((bitField0_ & 0x00000001) != 0), - getParentForChildren(), - isClean()); - items_ = null; - } - return itemsBuilder_; + + public Builder putAllMetadata( + java.util.Map values) { + internalGetMutableMetadata().getMutableMap() + .putAll(values); + return this; } @java.lang.Override public final Builder setUnknownFields( @@ -18471,53 +28440,53 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.SubscribeConfigurationResponse) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.DeleteConfigurationRequest) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.SubscribeConfigurationResponse) - private static final spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.DeleteConfigurationRequest) + private static final spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest(); } - public static spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public SubscribeConfigurationResponse parsePartialFrom( + public DeleteConfigurationRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new SubscribeConfigurationResponse(input, extensionRegistry); + return new DeleteConfigurationRequest(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SubscribeConfigurationResponse getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface SaveConfigurationRequestOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.SaveConfigurationRequest) + public interface GetStateRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.GetStateRequest) com.google.protobuf.MessageOrBuilder { /** *
-     * The name of configuration store.
+     * Required. The name of state store.
      * 
* * string store_name = 1; @@ -18526,7 +28495,7 @@ public interface SaveConfigurationRequestOrBuilder extends java.lang.String getStoreName(); /** *
-     * The name of configuration store.
+     * Required. The name of state store.
      * 
* * string store_name = 1; @@ -18537,78 +28506,46 @@ public interface SaveConfigurationRequestOrBuilder extends /** *
-     * The application id which
-     * Only used for admin, ignored and reset for normal client
+     * Required. The key of the desired state
      * 
* - * string app_id = 2; - * @return The appId. + * string key = 2; + * @return The key. */ - java.lang.String getAppId(); + java.lang.String getKey(); /** *
-     * The application id which
-     * Only used for admin, ignored and reset for normal client
+     * Required. The key of the desired state
      * 
* - * string app_id = 2; - * @return The bytes for appId. + * string key = 2; + * @return The bytes for key. */ com.google.protobuf.ByteString - getAppIdBytes(); + getKeyBytes(); /** *
-     * The list of configuration items to save.
-     * To delete a exist item, set the key (also label) and let content to be empty
-     * 
- * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; - */ - java.util.List - getItemsList(); - /** - *
-     * The list of configuration items to save.
-     * To delete a exist item, set the key (also label) and let content to be empty
-     * 
- * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; - */ - spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getItems(int index); - /** - *
-     * The list of configuration items to save.
-     * To delete a exist item, set the key (also label) and let content to be empty
-     * 
- * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; - */ - int getItemsCount(); - /** - *
-     * The list of configuration items to save.
-     * To delete a exist item, set the key (also label) and let content to be empty
+     * (optional) read consistency mode
      * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 3; + * @return The enum numeric value on the wire for consistency. */ - java.util.List - getItemsOrBuilderList(); + int getConsistencyValue(); /** *
-     * The list of configuration items to save.
-     * To delete a exist item, set the key (also label) and let content to be empty
+     * (optional) read consistency mode
      * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 3; + * @return The consistency. */ - spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder getItemsOrBuilder( - int index); + spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency getConsistency(); /** *
-     * The metadata which will be sent to configuration store components.
+     * (optional) The metadata which will be sent to state store components.
      * 
* * map<string, string> metadata = 4; @@ -18616,7 +28553,7 @@ spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder getItemsOrBuilder( int getMetadataCount(); /** *
-     * The metadata which will be sent to configuration store components.
+     * (optional) The metadata which will be sent to state store components.
      * 
* * map<string, string> metadata = 4; @@ -18631,7 +28568,7 @@ boolean containsMetadata( getMetadata(); /** *
-     * The metadata which will be sent to configuration store components.
+     * (optional) The metadata which will be sent to state store components.
      * 
* * map<string, string> metadata = 4; @@ -18640,7 +28577,7 @@ boolean containsMetadata( getMetadataMap(); /** *
-     * The metadata which will be sent to configuration store components.
+     * (optional) The metadata which will be sent to state store components.
      * 
* * map<string, string> metadata = 4; @@ -18651,7 +28588,7 @@ java.lang.String getMetadataOrDefault( java.lang.String defaultValue); /** *
-     * The metadata which will be sent to configuration store components.
+     * (optional) The metadata which will be sent to state store components.
      * 
* * map<string, string> metadata = 4; @@ -18662,31 +28599,31 @@ java.lang.String getMetadataOrThrow( } /** *
-   * SaveConfigurationRequest is the message to save a list of key-value configuration into specified configuration store.
+   * GetStateRequest is the message to get key-value states from specific state store.
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.SaveConfigurationRequest} + * Protobuf type {@code spec.proto.runtime.v1.GetStateRequest} */ - public static final class SaveConfigurationRequest extends + public static final class GetStateRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.SaveConfigurationRequest) - SaveConfigurationRequestOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.GetStateRequest) + GetStateRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use SaveConfigurationRequest.newBuilder() to construct. - private SaveConfigurationRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use GetStateRequest.newBuilder() to construct. + private GetStateRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private SaveConfigurationRequest() { + private GetStateRequest() { storeName_ = ""; - appId_ = ""; - items_ = java.util.Collections.emptyList(); + key_ = ""; + consistency_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new SaveConfigurationRequest(); + return new GetStateRequest(); } @java.lang.Override @@ -18694,7 +28631,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private SaveConfigurationRequest( + private GetStateRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -18722,23 +28659,20 @@ private SaveConfigurationRequest( case 18: { java.lang.String s = input.readStringRequireUtf8(); - appId_ = s; + key_ = s; break; } - case 26: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - items_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - items_.add( - input.readMessage(spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.parser(), extensionRegistry)); + case 24: { + int rawValue = input.readEnum(); + + consistency_ = rawValue; break; } case 34: { - if (!((mutable_bitField0_ & 0x00000002) != 0)) { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { metadata_ = com.google.protobuf.MapField.newMapField( MetadataDefaultEntryHolder.defaultEntry); - mutable_bitField0_ |= 0x00000002; + mutable_bitField0_ |= 0x00000001; } com.google.protobuf.MapEntry metadata__ = input.readMessage( @@ -18762,16 +28696,13 @@ private SaveConfigurationRequest( throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - items_ = java.util.Collections.unmodifiableList(items_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveConfigurationRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateRequest_descriptor; } @SuppressWarnings({"rawtypes"}) @@ -18789,16 +28720,16 @@ protected com.google.protobuf.MapField internalGetMapField( @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveConfigurationRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest.class, spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.GetStateRequest.class, spec.proto.runtime.v1.RuntimeProto.GetStateRequest.Builder.class); } public static final int STORE_NAME_FIELD_NUMBER = 1; private volatile java.lang.Object storeName_; /** *
-     * The name of configuration store.
+     * Required. The name of state store.
      * 
* * string store_name = 1; @@ -18819,7 +28750,7 @@ public java.lang.String getStoreName() { } /** *
-     * The name of configuration store.
+     * Required. The name of state store.
      * 
* * string store_name = 1; @@ -18840,117 +28771,77 @@ public java.lang.String getStoreName() { } } - public static final int APP_ID_FIELD_NUMBER = 2; - private volatile java.lang.Object appId_; + public static final int KEY_FIELD_NUMBER = 2; + private volatile java.lang.Object key_; /** *
-     * The application id which
-     * Only used for admin, ignored and reset for normal client
+     * Required. The key of the desired state
      * 
* - * string app_id = 2; - * @return The appId. + * string key = 2; + * @return The key. */ @java.lang.Override - public java.lang.String getAppId() { - java.lang.Object ref = appId_; + public java.lang.String getKey() { + java.lang.Object ref = key_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - appId_ = s; + key_ = s; return s; } } /** *
-     * The application id which
-     * Only used for admin, ignored and reset for normal client
-     * 
- * - * string app_id = 2; - * @return The bytes for appId. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getAppIdBytes() { - java.lang.Object ref = appId_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - appId_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int ITEMS_FIELD_NUMBER = 3; - private java.util.List items_; - /** - *
-     * The list of configuration items to save.
-     * To delete a exist item, set the key (also label) and let content to be empty
-     * 
- * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; - */ - @java.lang.Override - public java.util.List getItemsList() { - return items_; - } - /** - *
-     * The list of configuration items to save.
-     * To delete a exist item, set the key (also label) and let content to be empty
-     * 
- * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; - */ - @java.lang.Override - public java.util.List - getItemsOrBuilderList() { - return items_; - } - /** - *
-     * The list of configuration items to save.
-     * To delete a exist item, set the key (also label) and let content to be empty
+     * Required. The key of the desired state
      * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * string key = 2; + * @return The bytes for key. */ @java.lang.Override - public int getItemsCount() { - return items_.size(); + public com.google.protobuf.ByteString + getKeyBytes() { + java.lang.Object ref = key_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + key_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } + + public static final int CONSISTENCY_FIELD_NUMBER = 3; + private int consistency_; /** *
-     * The list of configuration items to save.
-     * To delete a exist item, set the key (also label) and let content to be empty
+     * (optional) read consistency mode
      * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 3; + * @return The enum numeric value on the wire for consistency. */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getItems(int index) { - return items_.get(index); + @java.lang.Override public int getConsistencyValue() { + return consistency_; } /** *
-     * The list of configuration items to save.
-     * To delete a exist item, set the key (also label) and let content to be empty
+     * (optional) read consistency mode
      * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 3; + * @return The consistency. */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder getItemsOrBuilder( - int index) { - return items_.get(index); + @java.lang.Override public spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency getConsistency() { + @SuppressWarnings("deprecation") + spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency result = spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.valueOf(consistency_); + return result == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.UNRECOGNIZED : result; } public static final int METADATA_FIELD_NUMBER = 4; @@ -18959,7 +28850,7 @@ private static final class MetadataDefaultEntryHolder { java.lang.String, java.lang.String> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( - spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveConfigurationRequest_MetadataEntry_descriptor, + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateRequest_MetadataEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.STRING, @@ -18981,7 +28872,7 @@ public int getMetadataCount() { } /** *
-     * The metadata which will be sent to configuration store components.
+     * (optional) The metadata which will be sent to state store components.
      * 
* * map<string, string> metadata = 4; @@ -19003,7 +28894,7 @@ public java.util.Map getMetadata() { } /** *
-     * The metadata which will be sent to configuration store components.
+     * (optional) The metadata which will be sent to state store components.
      * 
* * map<string, string> metadata = 4; @@ -19015,7 +28906,7 @@ public java.util.Map getMetadataMap() { } /** *
-     * The metadata which will be sent to configuration store components.
+     * (optional) The metadata which will be sent to state store components.
      * 
* * map<string, string> metadata = 4; @@ -19032,7 +28923,7 @@ public java.lang.String getMetadataOrDefault( } /** *
-     * The metadata which will be sent to configuration store components.
+     * (optional) The metadata which will be sent to state store components.
      * 
* * map<string, string> metadata = 4; @@ -19067,11 +28958,11 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getStoreNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); } - if (!getAppIdBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, appId_); + if (!getKeyBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, key_); } - for (int i = 0; i < items_.size(); i++) { - output.writeMessage(3, items_.get(i)); + if (consistency_ != spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.CONSISTENCY_UNSPECIFIED.getNumber()) { + output.writeEnum(3, consistency_); } com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( @@ -19091,12 +28982,12 @@ public int getSerializedSize() { if (!getStoreNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); } - if (!getAppIdBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, appId_); + if (!getKeyBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, key_); } - for (int i = 0; i < items_.size(); i++) { + if (consistency_ != spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.CONSISTENCY_UNSPECIFIED.getNumber()) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, items_.get(i)); + .computeEnumSize(3, consistency_); } for (java.util.Map.Entry entry : internalGetMetadata().getMap().entrySet()) { @@ -19118,17 +29009,16 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.GetStateRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest other = (spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest) obj; + spec.proto.runtime.v1.RuntimeProto.GetStateRequest other = (spec.proto.runtime.v1.RuntimeProto.GetStateRequest) obj; if (!getStoreName() .equals(other.getStoreName())) return false; - if (!getAppId() - .equals(other.getAppId())) return false; - if (!getItemsList() - .equals(other.getItemsList())) return false; + if (!getKey() + .equals(other.getKey())) return false; + if (consistency_ != other.consistency_) return false; if (!internalGetMetadata().equals( other.internalGetMetadata())) return false; if (!unknownFields.equals(other.unknownFields)) return false; @@ -19144,12 +29034,10 @@ public int hashCode() { hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + STORE_NAME_FIELD_NUMBER; hash = (53 * hash) + getStoreName().hashCode(); - hash = (37 * hash) + APP_ID_FIELD_NUMBER; - hash = (53 * hash) + getAppId().hashCode(); - if (getItemsCount() > 0) { - hash = (37 * hash) + ITEMS_FIELD_NUMBER; - hash = (53 * hash) + getItemsList().hashCode(); - } + hash = (37 * hash) + KEY_FIELD_NUMBER; + hash = (53 * hash) + getKey().hashCode(); + hash = (37 * hash) + CONSISTENCY_FIELD_NUMBER; + hash = (53 * hash) + consistency_; if (!internalGetMetadata().getMap().isEmpty()) { hash = (37 * hash) + METADATA_FIELD_NUMBER; hash = (53 * hash) + internalGetMetadata().hashCode(); @@ -19159,69 +29047,69 @@ public int hashCode() { return hash; } - public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -19234,7 +29122,7 @@ public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parseF public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.GetStateRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -19251,18 +29139,18 @@ protected Builder newBuilderForType( } /** *
-     * SaveConfigurationRequest is the message to save a list of key-value configuration into specified configuration store.
+     * GetStateRequest is the message to get key-value states from specific state store.
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.SaveConfigurationRequest} + * Protobuf type {@code spec.proto.runtime.v1.GetStateRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.SaveConfigurationRequest) - spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequestOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.GetStateRequest) + spec.proto.runtime.v1.RuntimeProto.GetStateRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveConfigurationRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateRequest_descriptor; } @SuppressWarnings({"rawtypes"}) @@ -19290,12 +29178,12 @@ protected com.google.protobuf.MapField internalGetMutableMapField( @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveConfigurationRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest.class, spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.GetStateRequest.class, spec.proto.runtime.v1.RuntimeProto.GetStateRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.GetStateRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -19308,7 +29196,6 @@ private Builder( private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getItemsFieldBuilder(); } } @java.lang.Override @@ -19316,14 +29203,10 @@ public Builder clear() { super.clear(); storeName_ = ""; - appId_ = ""; + key_ = ""; + + consistency_ = 0; - if (itemsBuilder_ == null) { - items_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - itemsBuilder_.clear(); - } internalGetMutableMetadata().clear(); return this; } @@ -19331,17 +29214,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveConfigurationRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.GetStateRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.GetStateRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest build() { - spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.GetStateRequest build() { + spec.proto.runtime.v1.RuntimeProto.GetStateRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -19349,20 +29232,12 @@ public spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest buildPartial() { - spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest result = new spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest(this); + public spec.proto.runtime.v1.RuntimeProto.GetStateRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.GetStateRequest result = new spec.proto.runtime.v1.RuntimeProto.GetStateRequest(this); int from_bitField0_ = bitField0_; result.storeName_ = storeName_; - result.appId_ = appId_; - if (itemsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - items_ = java.util.Collections.unmodifiableList(items_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.items_ = items_; - } else { - result.items_ = itemsBuilder_.build(); - } + result.key_ = key_; + result.consistency_ = consistency_; result.metadata_ = internalGetMetadata(); result.metadata_.makeImmutable(); onBuilt(); @@ -19403,49 +29278,26 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.GetStateRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.GetStateRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest other) { - if (other == spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest.getDefaultInstance()) return this; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetStateRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.GetStateRequest.getDefaultInstance()) return this; if (!other.getStoreName().isEmpty()) { storeName_ = other.storeName_; onChanged(); } - if (!other.getAppId().isEmpty()) { - appId_ = other.appId_; + if (!other.getKey().isEmpty()) { + key_ = other.key_; onChanged(); } - if (itemsBuilder_ == null) { - if (!other.items_.isEmpty()) { - if (items_.isEmpty()) { - items_ = other.items_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureItemsIsMutable(); - items_.addAll(other.items_); - } - onChanged(); - } - } else { - if (!other.items_.isEmpty()) { - if (itemsBuilder_.isEmpty()) { - itemsBuilder_.dispose(); - itemsBuilder_ = null; - items_ = other.items_; - bitField0_ = (bitField0_ & ~0x00000001); - itemsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getItemsFieldBuilder() : null; - } else { - itemsBuilder_.addAllMessages(other.items_); - } - } + if (other.consistency_ != 0) { + setConsistencyValue(other.getConsistencyValue()); } internalGetMutableMetadata().mergeFrom( other.internalGetMetadata()); @@ -19464,11 +29316,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.GetStateRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.GetStateRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -19482,7 +29334,7 @@ public Builder mergeFrom( private java.lang.Object storeName_ = ""; /** *
-       * The name of configuration store.
+       * Required. The name of state store.
        * 
* * string store_name = 1; @@ -19502,7 +29354,7 @@ public java.lang.String getStoreName() { } /** *
-       * The name of configuration store.
+       * Required. The name of state store.
        * 
* * string store_name = 1; @@ -19523,7 +29375,7 @@ public java.lang.String getStoreName() { } /** *
-       * The name of configuration store.
+       * Required. The name of state store.
        * 
* * string store_name = 1; @@ -19542,7 +29394,7 @@ public Builder setStoreName( } /** *
-       * The name of configuration store.
+       * Required. The name of state store.
        * 
* * string store_name = 1; @@ -19556,7 +29408,7 @@ public Builder clearStoreName() { } /** *
-       * The name of configuration store.
+       * Required. The name of state store.
        * 
* * string store_name = 1; @@ -19575,23 +29427,22 @@ public Builder setStoreNameBytes( return this; } - private java.lang.Object appId_ = ""; + private java.lang.Object key_ = ""; /** *
-       * The application id which
-       * Only used for admin, ignored and reset for normal client
+       * Required. The key of the desired state
        * 
* - * string app_id = 2; - * @return The appId. + * string key = 2; + * @return The key. */ - public java.lang.String getAppId() { - java.lang.Object ref = appId_; + public java.lang.String getKey() { + java.lang.Object ref = key_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - appId_ = s; + key_ = s; return s; } else { return (java.lang.String) ref; @@ -19599,411 +29450,151 @@ public java.lang.String getAppId() { } /** *
-       * The application id which
-       * Only used for admin, ignored and reset for normal client
+       * Required. The key of the desired state
        * 
* - * string app_id = 2; - * @return The bytes for appId. + * string key = 2; + * @return The bytes for key. */ public com.google.protobuf.ByteString - getAppIdBytes() { - java.lang.Object ref = appId_; + getKeyBytes() { + java.lang.Object ref = key_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - appId_ = b; + key_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** - *
-       * The application id which
-       * Only used for admin, ignored and reset for normal client
-       * 
- * - * string app_id = 2; - * @param value The appId to set. - * @return This builder for chaining. - */ - public Builder setAppId( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - appId_ = value; - onChanged(); - return this; - } - /** - *
-       * The application id which
-       * Only used for admin, ignored and reset for normal client
-       * 
- * - * string app_id = 2; - * @return This builder for chaining. - */ - public Builder clearAppId() { - - appId_ = getDefaultInstance().getAppId(); - onChanged(); - return this; - } - /** - *
-       * The application id which
-       * Only used for admin, ignored and reset for normal client
-       * 
- * - * string app_id = 2; - * @param value The bytes for appId to set. - * @return This builder for chaining. - */ - public Builder setAppIdBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - appId_ = value; - onChanged(); - return this; - } - - private java.util.List items_ = - java.util.Collections.emptyList(); - private void ensureItemsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - items_ = new java.util.ArrayList(items_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.ConfigurationItem, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder, spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder> itemsBuilder_; - - /** - *
-       * The list of configuration items to save.
-       * To delete a exist item, set the key (also label) and let content to be empty
-       * 
- * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; - */ - public java.util.List getItemsList() { - if (itemsBuilder_ == null) { - return java.util.Collections.unmodifiableList(items_); - } else { - return itemsBuilder_.getMessageList(); - } - } - /** - *
-       * The list of configuration items to save.
-       * To delete a exist item, set the key (also label) and let content to be empty
-       * 
- * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; - */ - public int getItemsCount() { - if (itemsBuilder_ == null) { - return items_.size(); - } else { - return itemsBuilder_.getCount(); - } - } - /** - *
-       * The list of configuration items to save.
-       * To delete a exist item, set the key (also label) and let content to be empty
-       * 
- * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; - */ - public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem getItems(int index) { - if (itemsBuilder_ == null) { - return items_.get(index); - } else { - return itemsBuilder_.getMessage(index); - } - } - /** - *
-       * The list of configuration items to save.
-       * To delete a exist item, set the key (also label) and let content to be empty
-       * 
- * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; - */ - public Builder setItems( - int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem value) { - if (itemsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureItemsIsMutable(); - items_.set(index, value); - onChanged(); - } else { - itemsBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-       * The list of configuration items to save.
-       * To delete a exist item, set the key (also label) and let content to be empty
-       * 
- * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; - */ - public Builder setItems( - int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder builderForValue) { - if (itemsBuilder_ == null) { - ensureItemsIsMutable(); - items_.set(index, builderForValue.build()); - onChanged(); - } else { - itemsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * The list of configuration items to save.
-       * To delete a exist item, set the key (also label) and let content to be empty
-       * 
- * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; - */ - public Builder addItems(spec.proto.runtime.v1.RuntimeProto.ConfigurationItem value) { - if (itemsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureItemsIsMutable(); - items_.add(value); - onChanged(); - } else { - itemsBuilder_.addMessage(value); - } - return this; - } - /** - *
-       * The list of configuration items to save.
-       * To delete a exist item, set the key (also label) and let content to be empty
-       * 
- * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; - */ - public Builder addItems( - int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem value) { - if (itemsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureItemsIsMutable(); - items_.add(index, value); - onChanged(); - } else { - itemsBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-       * The list of configuration items to save.
-       * To delete a exist item, set the key (also label) and let content to be empty
-       * 
- * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; - */ - public Builder addItems( - spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder builderForValue) { - if (itemsBuilder_ == null) { - ensureItemsIsMutable(); - items_.add(builderForValue.build()); - onChanged(); - } else { - itemsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-       * The list of configuration items to save.
-       * To delete a exist item, set the key (also label) and let content to be empty
-       * 
- * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; - */ - public Builder addItems( - int index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder builderForValue) { - if (itemsBuilder_ == null) { - ensureItemsIsMutable(); - items_.add(index, builderForValue.build()); - onChanged(); - } else { - itemsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * The list of configuration items to save.
-       * To delete a exist item, set the key (also label) and let content to be empty
-       * 
- * - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; - */ - public Builder addAllItems( - java.lang.Iterable values) { - if (itemsBuilder_ == null) { - ensureItemsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, items_); - onChanged(); - } else { - itemsBuilder_.addAllMessages(values); - } - return this; - } - /** - *
-       * The list of configuration items to save.
-       * To delete a exist item, set the key (also label) and let content to be empty
+       * 
+       * Required. The key of the desired state
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * string key = 2; + * @param value The key to set. + * @return This builder for chaining. */ - public Builder clearItems() { - if (itemsBuilder_ == null) { - items_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - } else { - itemsBuilder_.clear(); - } + public Builder setKey( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + key_ = value; + onChanged(); return this; } /** *
-       * The list of configuration items to save.
-       * To delete a exist item, set the key (also label) and let content to be empty
+       * Required. The key of the desired state
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * string key = 2; + * @return This builder for chaining. */ - public Builder removeItems(int index) { - if (itemsBuilder_ == null) { - ensureItemsIsMutable(); - items_.remove(index); - onChanged(); - } else { - itemsBuilder_.remove(index); - } + public Builder clearKey() { + + key_ = getDefaultInstance().getKey(); + onChanged(); return this; } /** *
-       * The list of configuration items to save.
-       * To delete a exist item, set the key (also label) and let content to be empty
+       * Required. The key of the desired state
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * string key = 2; + * @param value The bytes for key to set. + * @return This builder for chaining. */ - public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder getItemsBuilder( - int index) { - return getItemsFieldBuilder().getBuilder(index); + public Builder setKeyBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + key_ = value; + onChanged(); + return this; } + + private int consistency_ = 0; /** *
-       * The list of configuration items to save.
-       * To delete a exist item, set the key (also label) and let content to be empty
+       * (optional) read consistency mode
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 3; + * @return The enum numeric value on the wire for consistency. */ - public spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder getItemsOrBuilder( - int index) { - if (itemsBuilder_ == null) { - return items_.get(index); } else { - return itemsBuilder_.getMessageOrBuilder(index); - } + @java.lang.Override public int getConsistencyValue() { + return consistency_; } /** *
-       * The list of configuration items to save.
-       * To delete a exist item, set the key (also label) and let content to be empty
+       * (optional) read consistency mode
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 3; + * @param value The enum numeric value on the wire for consistency to set. + * @return This builder for chaining. */ - public java.util.List - getItemsOrBuilderList() { - if (itemsBuilder_ != null) { - return itemsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(items_); - } + public Builder setConsistencyValue(int value) { + + consistency_ = value; + onChanged(); + return this; } /** *
-       * The list of configuration items to save.
-       * To delete a exist item, set the key (also label) and let content to be empty
+       * (optional) read consistency mode
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 3; + * @return The consistency. */ - public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder addItemsBuilder() { - return getItemsFieldBuilder().addBuilder( - spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.getDefaultInstance()); + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency getConsistency() { + @SuppressWarnings("deprecation") + spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency result = spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.valueOf(consistency_); + return result == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.UNRECOGNIZED : result; } /** *
-       * The list of configuration items to save.
-       * To delete a exist item, set the key (also label) and let content to be empty
+       * (optional) read consistency mode
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 3; + * @param value The consistency to set. + * @return This builder for chaining. */ - public spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder addItemsBuilder( - int index) { - return getItemsFieldBuilder().addBuilder( - index, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.getDefaultInstance()); + public Builder setConsistency(spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency value) { + if (value == null) { + throw new NullPointerException(); + } + + consistency_ = value.getNumber(); + onChanged(); + return this; } /** *
-       * The list of configuration items to save.
-       * To delete a exist item, set the key (also label) and let content to be empty
+       * (optional) read consistency mode
        * 
* - * repeated .spec.proto.runtime.v1.ConfigurationItem items = 3; + * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 3; + * @return This builder for chaining. */ - public java.util.List - getItemsBuilderList() { - return getItemsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.ConfigurationItem, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder, spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder> - getItemsFieldBuilder() { - if (itemsBuilder_ == null) { - itemsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.ConfigurationItem, spec.proto.runtime.v1.RuntimeProto.ConfigurationItem.Builder, spec.proto.runtime.v1.RuntimeProto.ConfigurationItemOrBuilder>( - items_, - ((bitField0_ & 0x00000001) != 0), - getParentForChildren(), - isClean()); - items_ = null; - } - return itemsBuilder_; + public Builder clearConsistency() { + + consistency_ = 0; + onChanged(); + return this; } private com.google.protobuf.MapField< @@ -20034,7 +29625,7 @@ public int getMetadataCount() { } /** *
-       * The metadata which will be sent to configuration store components.
+       * (optional) The metadata which will be sent to state store components.
        * 
* * map<string, string> metadata = 4; @@ -20056,7 +29647,7 @@ public java.util.Map getMetadata() { } /** *
-       * The metadata which will be sent to configuration store components.
+       * (optional) The metadata which will be sent to state store components.
        * 
* * map<string, string> metadata = 4; @@ -20068,7 +29659,7 @@ public java.util.Map getMetadataMap() { } /** *
-       * The metadata which will be sent to configuration store components.
+       * (optional) The metadata which will be sent to state store components.
        * 
* * map<string, string> metadata = 4; @@ -20085,7 +29676,7 @@ public java.lang.String getMetadataOrDefault( } /** *
-       * The metadata which will be sent to configuration store components.
+       * (optional) The metadata which will be sent to state store components.
        * 
* * map<string, string> metadata = 4; @@ -20110,7 +29701,7 @@ public Builder clearMetadata() { } /** *
-       * The metadata which will be sent to configuration store components.
+       * (optional) The metadata which will be sent to state store components.
        * 
* * map<string, string> metadata = 4; @@ -20133,7 +29724,7 @@ public Builder removeMetadata( } /** *
-       * The metadata which will be sent to configuration store components.
+       * (optional) The metadata which will be sent to state store components.
        * 
* * map<string, string> metadata = 4; @@ -20149,7 +29740,7 @@ public Builder putMetadata( } /** *
-       * The metadata which will be sent to configuration store components.
+       * (optional) The metadata which will be sent to state store components.
        * 
* * map<string, string> metadata = 4; @@ -20174,53 +29765,53 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.SaveConfigurationRequest) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.GetStateRequest) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.SaveConfigurationRequest) - private static final spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.GetStateRequest) + private static final spec.proto.runtime.v1.RuntimeProto.GetStateRequest DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.GetStateRequest(); } - public static spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public SaveConfigurationRequest parsePartialFrom( + public GetStateRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new SaveConfigurationRequest(input, extensionRegistry); + return new GetStateRequest(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SaveConfigurationRequest getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.GetStateRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface DeleteConfigurationRequestOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.DeleteConfigurationRequest) + public interface GetBulkStateRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.GetBulkStateRequest) com.google.protobuf.MessageOrBuilder { /** *
-     * The name of configuration store.
+     * Required. The name of state store.
      * 
* * string store_name = 1; @@ -20229,7 +29820,7 @@ public interface DeleteConfigurationRequestOrBuilder extends java.lang.String getStoreName(); /** *
-     * The name of configuration store.
+     * Required. The name of state store.
      * 
* * string store_name = 1; @@ -20240,101 +29831,39 @@ public interface DeleteConfigurationRequestOrBuilder extends /** *
-     * The application id which
-     * Only used for admin, Ignored and reset for normal client
-     * 
- * - * string app_id = 2; - * @return The appId. - */ - java.lang.String getAppId(); - /** - *
-     * The application id which
-     * Only used for admin, Ignored and reset for normal client
-     * 
- * - * string app_id = 2; - * @return The bytes for appId. - */ - com.google.protobuf.ByteString - getAppIdBytes(); - - /** - *
-     * The group of keys.
-     * 
- * - * string group = 3; - * @return The group. - */ - java.lang.String getGroup(); - /** - *
-     * The group of keys.
-     * 
- * - * string group = 3; - * @return The bytes for group. - */ - com.google.protobuf.ByteString - getGroupBytes(); - - /** - *
-     * The label for keys.
-     * 
- * - * string label = 4; - * @return The label. - */ - java.lang.String getLabel(); - /** - *
-     * The label for keys.
-     * 
- * - * string label = 4; - * @return The bytes for label. - */ - com.google.protobuf.ByteString - getLabelBytes(); - - /** - *
-     * The keys to get.
+     * Required. The keys to get.
      * 
* - * repeated string keys = 5; + * repeated string keys = 2; * @return A list containing the keys. */ java.util.List getKeysList(); /** *
-     * The keys to get.
+     * Required. The keys to get.
      * 
* - * repeated string keys = 5; + * repeated string keys = 2; * @return The count of keys. */ int getKeysCount(); /** *
-     * The keys to get.
+     * Required. The keys to get.
      * 
* - * repeated string keys = 5; + * repeated string keys = 2; * @param index The index of the element to return. * @return The keys at the given index. */ java.lang.String getKeys(int index); /** *
-     * The keys to get.
+     * Required. The keys to get.
      * 
* - * repeated string keys = 5; + * repeated string keys = 2; * @param index The index of the value to return. * @return The bytes of the keys at the given index. */ @@ -20343,18 +29872,28 @@ public interface DeleteConfigurationRequestOrBuilder extends /** *
-     * The metadata which will be sent to configuration store components.
+     * (optional) The number of parallel operations executed on the state store for a get operation.
      * 
* - * map<string, string> metadata = 6; + * int32 parallelism = 3; + * @return The parallelism. + */ + int getParallelism(); + + /** + *
+     * (optional) The metadata which will be sent to state store components.
+     * 
+ * + * map<string, string> metadata = 4; */ int getMetadataCount(); /** *
-     * The metadata which will be sent to configuration store components.
+     * (optional) The metadata which will be sent to state store components.
      * 
* - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ boolean containsMetadata( java.lang.String key); @@ -20366,19 +29905,19 @@ boolean containsMetadata( getMetadata(); /** *
-     * The metadata which will be sent to configuration store components.
+     * (optional) The metadata which will be sent to state store components.
      * 
* - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ java.util.Map getMetadataMap(); /** *
-     * The metadata which will be sent to configuration store components.
+     * (optional) The metadata which will be sent to state store components.
      * 
* - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ java.lang.String getMetadataOrDefault( @@ -20386,10 +29925,10 @@ java.lang.String getMetadataOrDefault( java.lang.String defaultValue); /** *
-     * The metadata which will be sent to configuration store components.
+     * (optional) The metadata which will be sent to state store components.
      * 
* - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ java.lang.String getMetadataOrThrow( @@ -20397,25 +29936,22 @@ java.lang.String getMetadataOrThrow( } /** *
-   * DeleteConfigurationRequest is the message to delete a list of key-value configuration from specified configuration store.
+   * GetBulkStateRequest is the message to get a list of key-value states from specific state store.
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.DeleteConfigurationRequest} + * Protobuf type {@code spec.proto.runtime.v1.GetBulkStateRequest} */ - public static final class DeleteConfigurationRequest extends + public static final class GetBulkStateRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.DeleteConfigurationRequest) - DeleteConfigurationRequestOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.GetBulkStateRequest) + GetBulkStateRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use DeleteConfigurationRequest.newBuilder() to construct. - private DeleteConfigurationRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use GetBulkStateRequest.newBuilder() to construct. + private GetBulkStateRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private DeleteConfigurationRequest() { + private GetBulkStateRequest() { storeName_ = ""; - appId_ = ""; - group_ = ""; - label_ = ""; keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; } @@ -20423,7 +29959,7 @@ private DeleteConfigurationRequest() { @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new DeleteConfigurationRequest(); + return new GetBulkStateRequest(); } @java.lang.Override @@ -20431,7 +29967,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private DeleteConfigurationRequest( + private GetBulkStateRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -20458,24 +29994,6 @@ private DeleteConfigurationRequest( } case 18: { java.lang.String s = input.readStringRequireUtf8(); - - appId_ = s; - break; - } - case 26: { - java.lang.String s = input.readStringRequireUtf8(); - - group_ = s; - break; - } - case 34: { - java.lang.String s = input.readStringRequireUtf8(); - - label_ = s; - break; - } - case 42: { - java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000001) != 0)) { keys_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000001; @@ -20483,7 +30001,12 @@ private DeleteConfigurationRequest( keys_.add(s); break; } - case 50: { + case 24: { + + parallelism_ = input.readInt32(); + break; + } + case 34: { if (!((mutable_bitField0_ & 0x00000002) != 0)) { metadata_ = com.google.protobuf.MapField.newMapField( MetadataDefaultEntryHolder.defaultEntry); @@ -20520,7 +30043,7 @@ private DeleteConfigurationRequest( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteConfigurationRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateRequest_descriptor; } @SuppressWarnings({"rawtypes"}) @@ -20528,7 +30051,7 @@ private DeleteConfigurationRequest( protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { - case 6: + case 4: return internalGetMetadata(); default: throw new RuntimeException( @@ -20538,16 +30061,16 @@ protected com.google.protobuf.MapField internalGetMapField( @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteConfigurationRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest.class, spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest.class, spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest.Builder.class); } public static final int STORE_NAME_FIELD_NUMBER = 1; private volatile java.lang.Object storeName_; /** *
-     * The name of configuration store.
+     * Required. The name of state store.
      * 
* * string store_name = 1; @@ -20568,7 +30091,7 @@ public java.lang.String getStoreName() { } /** *
-     * The name of configuration store.
+     * Required. The name of state store.
      * 
* * string store_name = 1; @@ -20576,167 +30099,27 @@ public java.lang.String getStoreName() { */ @java.lang.Override public com.google.protobuf.ByteString - getStoreNameBytes() { - java.lang.Object ref = storeName_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - storeName_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int APP_ID_FIELD_NUMBER = 2; - private volatile java.lang.Object appId_; - /** - *
-     * The application id which
-     * Only used for admin, Ignored and reset for normal client
-     * 
- * - * string app_id = 2; - * @return The appId. - */ - @java.lang.Override - public java.lang.String getAppId() { - java.lang.Object ref = appId_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - appId_ = s; - return s; - } - } - /** - *
-     * The application id which
-     * Only used for admin, Ignored and reset for normal client
-     * 
- * - * string app_id = 2; - * @return The bytes for appId. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getAppIdBytes() { - java.lang.Object ref = appId_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - appId_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int GROUP_FIELD_NUMBER = 3; - private volatile java.lang.Object group_; - /** - *
-     * The group of keys.
-     * 
- * - * string group = 3; - * @return The group. - */ - @java.lang.Override - public java.lang.String getGroup() { - java.lang.Object ref = group_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - group_ = s; - return s; - } - } - /** - *
-     * The group of keys.
-     * 
- * - * string group = 3; - * @return The bytes for group. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getGroupBytes() { - java.lang.Object ref = group_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - group_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int LABEL_FIELD_NUMBER = 4; - private volatile java.lang.Object label_; - /** - *
-     * The label for keys.
-     * 
- * - * string label = 4; - * @return The label. - */ - @java.lang.Override - public java.lang.String getLabel() { - java.lang.Object ref = label_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - label_ = s; - return s; - } - } - /** - *
-     * The label for keys.
-     * 
- * - * string label = 4; - * @return The bytes for label. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getLabelBytes() { - java.lang.Object ref = label_; + getStoreNameBytes() { + java.lang.Object ref = storeName_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - label_ = b; + storeName_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } - public static final int KEYS_FIELD_NUMBER = 5; + public static final int KEYS_FIELD_NUMBER = 2; private com.google.protobuf.LazyStringList keys_; /** *
-     * The keys to get.
+     * Required. The keys to get.
      * 
* - * repeated string keys = 5; + * repeated string keys = 2; * @return A list containing the keys. */ public com.google.protobuf.ProtocolStringList @@ -20745,10 +30128,10 @@ public java.lang.String getLabel() { } /** *
-     * The keys to get.
+     * Required. The keys to get.
      * 
* - * repeated string keys = 5; + * repeated string keys = 2; * @return The count of keys. */ public int getKeysCount() { @@ -20756,10 +30139,10 @@ public int getKeysCount() { } /** *
-     * The keys to get.
+     * Required. The keys to get.
      * 
* - * repeated string keys = 5; + * repeated string keys = 2; * @param index The index of the element to return. * @return The keys at the given index. */ @@ -20768,10 +30151,10 @@ public java.lang.String getKeys(int index) { } /** *
-     * The keys to get.
+     * Required. The keys to get.
      * 
* - * repeated string keys = 5; + * repeated string keys = 2; * @param index The index of the value to return. * @return The bytes of the keys at the given index. */ @@ -20780,13 +30163,28 @@ public java.lang.String getKeys(int index) { return keys_.getByteString(index); } - public static final int METADATA_FIELD_NUMBER = 6; + public static final int PARALLELISM_FIELD_NUMBER = 3; + private int parallelism_; + /** + *
+     * (optional) The number of parallel operations executed on the state store for a get operation.
+     * 
+ * + * int32 parallelism = 3; + * @return The parallelism. + */ + @java.lang.Override + public int getParallelism() { + return parallelism_; + } + + public static final int METADATA_FIELD_NUMBER = 4; private static final class MetadataDefaultEntryHolder { static final com.google.protobuf.MapEntry< java.lang.String, java.lang.String> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( - spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteConfigurationRequest_MetadataEntry_descriptor, + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateRequest_MetadataEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.STRING, @@ -20808,10 +30206,10 @@ public int getMetadataCount() { } /** *
-     * The metadata which will be sent to configuration store components.
+     * (optional) The metadata which will be sent to state store components.
      * 
* - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ @java.lang.Override @@ -20830,10 +30228,10 @@ public java.util.Map getMetadata() { } /** *
-     * The metadata which will be sent to configuration store components.
+     * (optional) The metadata which will be sent to state store components.
      * 
* - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ @java.lang.Override @@ -20842,10 +30240,10 @@ public java.util.Map getMetadataMap() { } /** *
-     * The metadata which will be sent to configuration store components.
+     * (optional) The metadata which will be sent to state store components.
      * 
* - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ @java.lang.Override @@ -20859,10 +30257,10 @@ public java.lang.String getMetadataOrDefault( } /** *
-     * The metadata which will be sent to configuration store components.
+     * (optional) The metadata which will be sent to state store components.
      * 
* - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ @java.lang.Override @@ -20894,24 +30292,18 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getStoreNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); } - if (!getAppIdBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, appId_); - } - if (!getGroupBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 3, group_); - } - if (!getLabelBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 4, label_); - } for (int i = 0; i < keys_.size(); i++) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 5, keys_.getRaw(i)); + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, keys_.getRaw(i)); + } + if (parallelism_ != 0) { + output.writeInt32(3, parallelism_); } com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( output, internalGetMetadata(), MetadataDefaultEntryHolder.defaultEntry, - 6); + 4); unknownFields.writeTo(output); } @@ -20924,15 +30316,6 @@ public int getSerializedSize() { if (!getStoreNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); } - if (!getAppIdBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, appId_); - } - if (!getGroupBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, group_); - } - if (!getLabelBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, label_); - } { int dataSize = 0; for (int i = 0; i < keys_.size(); i++) { @@ -20941,6 +30324,10 @@ public int getSerializedSize() { size += dataSize; size += 1 * getKeysList().size(); } + if (parallelism_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, parallelism_); + } for (java.util.Map.Entry entry : internalGetMetadata().getMap().entrySet()) { com.google.protobuf.MapEntry @@ -20949,7 +30336,7 @@ public int getSerializedSize() { .setValue(entry.getValue()) .build(); size += com.google.protobuf.CodedOutputStream - .computeMessageSize(6, metadata__); + .computeMessageSize(4, metadata__); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -20961,21 +30348,17 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest other = (spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest) obj; + spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest other = (spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest) obj; if (!getStoreName() .equals(other.getStoreName())) return false; - if (!getAppId() - .equals(other.getAppId())) return false; - if (!getGroup() - .equals(other.getGroup())) return false; - if (!getLabel() - .equals(other.getLabel())) return false; if (!getKeysList() .equals(other.getKeysList())) return false; + if (getParallelism() + != other.getParallelism()) return false; if (!internalGetMetadata().equals( other.internalGetMetadata())) return false; if (!unknownFields.equals(other.unknownFields)) return false; @@ -20991,16 +30374,12 @@ public int hashCode() { hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + STORE_NAME_FIELD_NUMBER; hash = (53 * hash) + getStoreName().hashCode(); - hash = (37 * hash) + APP_ID_FIELD_NUMBER; - hash = (53 * hash) + getAppId().hashCode(); - hash = (37 * hash) + GROUP_FIELD_NUMBER; - hash = (53 * hash) + getGroup().hashCode(); - hash = (37 * hash) + LABEL_FIELD_NUMBER; - hash = (53 * hash) + getLabel().hashCode(); if (getKeysCount() > 0) { hash = (37 * hash) + KEYS_FIELD_NUMBER; hash = (53 * hash) + getKeysList().hashCode(); } + hash = (37 * hash) + PARALLELISM_FIELD_NUMBER; + hash = (53 * hash) + getParallelism(); if (!internalGetMetadata().getMap().isEmpty()) { hash = (37 * hash) + METADATA_FIELD_NUMBER; hash = (53 * hash) + internalGetMetadata().hashCode(); @@ -21010,69 +30389,69 @@ public int hashCode() { return hash; } - public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -21085,7 +30464,7 @@ public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest pars public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -21102,25 +30481,25 @@ protected Builder newBuilderForType( } /** *
-     * DeleteConfigurationRequest is the message to delete a list of key-value configuration from specified configuration store.
+     * GetBulkStateRequest is the message to get a list of key-value states from specific state store.
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.DeleteConfigurationRequest} + * Protobuf type {@code spec.proto.runtime.v1.GetBulkStateRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.DeleteConfigurationRequest) - spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequestOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.GetBulkStateRequest) + spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteConfigurationRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateRequest_descriptor; } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { - case 6: + case 4: return internalGetMetadata(); default: throw new RuntimeException( @@ -21131,7 +30510,7 @@ protected com.google.protobuf.MapField internalGetMapField( protected com.google.protobuf.MapField internalGetMutableMapField( int number) { switch (number) { - case 6: + case 4: return internalGetMutableMetadata(); default: throw new RuntimeException( @@ -21141,12 +30520,12 @@ protected com.google.protobuf.MapField internalGetMutableMapField( @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteConfigurationRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest.class, spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest.class, spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -21166,14 +30545,10 @@ public Builder clear() { super.clear(); storeName_ = ""; - appId_ = ""; - - group_ = ""; - - label_ = ""; - keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000001); + parallelism_ = 0; + internalGetMutableMetadata().clear(); return this; } @@ -21181,17 +30556,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteConfigurationRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest build() { - spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest build() { + spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -21199,18 +30574,16 @@ public spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest buildPartial() { - spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest result = new spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest(this); + public spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest result = new spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest(this); int from_bitField0_ = bitField0_; result.storeName_ = storeName_; - result.appId_ = appId_; - result.group_ = group_; - result.label_ = label_; if (((bitField0_ & 0x00000001) != 0)) { keys_ = keys_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000001); } result.keys_ = keys_; + result.parallelism_ = parallelism_; result.metadata_ = internalGetMetadata(); result.metadata_.makeImmutable(); onBuilt(); @@ -21251,32 +30624,20 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest other) { - if (other == spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest.getDefaultInstance()) return this; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest.getDefaultInstance()) return this; if (!other.getStoreName().isEmpty()) { storeName_ = other.storeName_; onChanged(); } - if (!other.getAppId().isEmpty()) { - appId_ = other.appId_; - onChanged(); - } - if (!other.getGroup().isEmpty()) { - group_ = other.group_; - onChanged(); - } - if (!other.getLabel().isEmpty()) { - label_ = other.label_; - onChanged(); - } if (!other.keys_.isEmpty()) { if (keys_.isEmpty()) { keys_ = other.keys_; @@ -21287,6 +30648,9 @@ public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationR } onChanged(); } + if (other.getParallelism() != 0) { + setParallelism(other.getParallelism()); + } internalGetMutableMetadata().mergeFrom( other.internalGetMetadata()); this.mergeUnknownFields(other.unknownFields); @@ -21300,334 +30664,41 @@ public final boolean isInitialized() { } @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - private java.lang.Object storeName_ = ""; - /** - *
-       * The name of configuration store.
-       * 
- * - * string store_name = 1; - * @return The storeName. - */ - public java.lang.String getStoreName() { - java.lang.Object ref = storeName_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - storeName_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * The name of configuration store.
-       * 
- * - * string store_name = 1; - * @return The bytes for storeName. - */ - public com.google.protobuf.ByteString - getStoreNameBytes() { - java.lang.Object ref = storeName_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - storeName_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * The name of configuration store.
-       * 
- * - * string store_name = 1; - * @param value The storeName to set. - * @return This builder for chaining. - */ - public Builder setStoreName( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - storeName_ = value; - onChanged(); - return this; - } - /** - *
-       * The name of configuration store.
-       * 
- * - * string store_name = 1; - * @return This builder for chaining. - */ - public Builder clearStoreName() { - - storeName_ = getDefaultInstance().getStoreName(); - onChanged(); - return this; - } - /** - *
-       * The name of configuration store.
-       * 
- * - * string store_name = 1; - * @param value The bytes for storeName to set. - * @return This builder for chaining. - */ - public Builder setStoreNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - storeName_ = value; - onChanged(); - return this; - } - - private java.lang.Object appId_ = ""; - /** - *
-       * The application id which
-       * Only used for admin, Ignored and reset for normal client
-       * 
- * - * string app_id = 2; - * @return The appId. - */ - public java.lang.String getAppId() { - java.lang.Object ref = appId_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - appId_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * The application id which
-       * Only used for admin, Ignored and reset for normal client
-       * 
- * - * string app_id = 2; - * @return The bytes for appId. - */ - public com.google.protobuf.ByteString - getAppIdBytes() { - java.lang.Object ref = appId_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - appId_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * The application id which
-       * Only used for admin, Ignored and reset for normal client
-       * 
- * - * string app_id = 2; - * @param value The appId to set. - * @return This builder for chaining. - */ - public Builder setAppId( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - appId_ = value; - onChanged(); - return this; - } - /** - *
-       * The application id which
-       * Only used for admin, Ignored and reset for normal client
-       * 
- * - * string app_id = 2; - * @return This builder for chaining. - */ - public Builder clearAppId() { - - appId_ = getDefaultInstance().getAppId(); - onChanged(); - return this; - } - /** - *
-       * The application id which
-       * Only used for admin, Ignored and reset for normal client
-       * 
- * - * string app_id = 2; - * @param value The bytes for appId to set. - * @return This builder for chaining. - */ - public Builder setAppIdBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - appId_ = value; - onChanged(); - return this; - } - - private java.lang.Object group_ = ""; - /** - *
-       * The group of keys.
-       * 
- * - * string group = 3; - * @return The group. - */ - public java.lang.String getGroup() { - java.lang.Object ref = group_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - group_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * The group of keys.
-       * 
- * - * string group = 3; - * @return The bytes for group. - */ - public com.google.protobuf.ByteString - getGroupBytes() { - java.lang.Object ref = group_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - group_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * The group of keys.
-       * 
- * - * string group = 3; - * @param value The group to set. - * @return This builder for chaining. - */ - public Builder setGroup( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - group_ = value; - onChanged(); - return this; - } - /** - *
-       * The group of keys.
-       * 
- * - * string group = 3; - * @return This builder for chaining. - */ - public Builder clearGroup() { - - group_ = getDefaultInstance().getGroup(); - onChanged(); - return this; - } - /** - *
-       * The group of keys.
-       * 
- * - * string group = 3; - * @param value The bytes for group to set. - * @return This builder for chaining. - */ - public Builder setGroupBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - group_ = value; - onChanged(); + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } return this; } + private int bitField0_; - private java.lang.Object label_ = ""; + private java.lang.Object storeName_ = ""; /** *
-       * The label for keys.
+       * Required. The name of state store.
        * 
* - * string label = 4; - * @return The label. + * string store_name = 1; + * @return The storeName. */ - public java.lang.String getLabel() { - java.lang.Object ref = label_; + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - label_ = s; + storeName_ = s; return s; } else { return (java.lang.String) ref; @@ -21635,20 +30706,20 @@ public java.lang.String getLabel() { } /** *
-       * The label for keys.
+       * Required. The name of state store.
        * 
* - * string label = 4; - * @return The bytes for label. + * string store_name = 1; + * @return The bytes for storeName. */ public com.google.protobuf.ByteString - getLabelBytes() { - java.lang.Object ref = label_; + getStoreNameBytes() { + java.lang.Object ref = storeName_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - label_ = b; + storeName_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; @@ -21656,54 +30727,54 @@ public java.lang.String getLabel() { } /** *
-       * The label for keys.
+       * Required. The name of state store.
        * 
* - * string label = 4; - * @param value The label to set. + * string store_name = 1; + * @param value The storeName to set. * @return This builder for chaining. */ - public Builder setLabel( + public Builder setStoreName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - label_ = value; + storeName_ = value; onChanged(); return this; } /** *
-       * The label for keys.
+       * Required. The name of state store.
        * 
* - * string label = 4; + * string store_name = 1; * @return This builder for chaining. */ - public Builder clearLabel() { + public Builder clearStoreName() { - label_ = getDefaultInstance().getLabel(); + storeName_ = getDefaultInstance().getStoreName(); onChanged(); return this; } /** *
-       * The label for keys.
+       * Required. The name of state store.
        * 
* - * string label = 4; - * @param value The bytes for label to set. + * string store_name = 1; + * @param value The bytes for storeName to set. * @return This builder for chaining. */ - public Builder setLabelBytes( + public Builder setStoreNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); - label_ = value; + storeName_ = value; onChanged(); return this; } @@ -21717,10 +30788,10 @@ private void ensureKeysIsMutable() { } /** *
-       * The keys to get.
+       * Required. The keys to get.
        * 
* - * repeated string keys = 5; + * repeated string keys = 2; * @return A list containing the keys. */ public com.google.protobuf.ProtocolStringList @@ -21729,10 +30800,10 @@ private void ensureKeysIsMutable() { } /** *
-       * The keys to get.
+       * Required. The keys to get.
        * 
* - * repeated string keys = 5; + * repeated string keys = 2; * @return The count of keys. */ public int getKeysCount() { @@ -21740,10 +30811,10 @@ public int getKeysCount() { } /** *
-       * The keys to get.
+       * Required. The keys to get.
        * 
* - * repeated string keys = 5; + * repeated string keys = 2; * @param index The index of the element to return. * @return The keys at the given index. */ @@ -21752,10 +30823,10 @@ public java.lang.String getKeys(int index) { } /** *
-       * The keys to get.
+       * Required. The keys to get.
        * 
* - * repeated string keys = 5; + * repeated string keys = 2; * @param index The index of the value to return. * @return The bytes of the keys at the given index. */ @@ -21765,10 +30836,10 @@ public java.lang.String getKeys(int index) { } /** *
-       * The keys to get.
+       * Required. The keys to get.
        * 
* - * repeated string keys = 5; + * repeated string keys = 2; * @param index The index to set the value at. * @param value The keys to set. * @return This builder for chaining. @@ -21785,10 +30856,10 @@ public Builder setKeys( } /** *
-       * The keys to get.
+       * Required. The keys to get.
        * 
* - * repeated string keys = 5; + * repeated string keys = 2; * @param value The keys to add. * @return This builder for chaining. */ @@ -21804,10 +30875,10 @@ public Builder addKeys( } /** *
-       * The keys to get.
+       * Required. The keys to get.
        * 
* - * repeated string keys = 5; + * repeated string keys = 2; * @param values The keys to add. * @return This builder for chaining. */ @@ -21821,10 +30892,10 @@ public Builder addAllKeys( } /** *
-       * The keys to get.
+       * Required. The keys to get.
        * 
* - * repeated string keys = 5; + * repeated string keys = 2; * @return This builder for chaining. */ public Builder clearKeys() { @@ -21835,10 +30906,10 @@ public Builder clearKeys() { } /** *
-       * The keys to get.
+       * Required. The keys to get.
        * 
* - * repeated string keys = 5; + * repeated string keys = 2; * @param value The bytes of the keys to add. * @return This builder for chaining. */ @@ -21854,6 +30925,49 @@ public Builder addKeysBytes( return this; } + private int parallelism_ ; + /** + *
+       * (optional) The number of parallel operations executed on the state store for a get operation.
+       * 
+ * + * int32 parallelism = 3; + * @return The parallelism. + */ + @java.lang.Override + public int getParallelism() { + return parallelism_; + } + /** + *
+       * (optional) The number of parallel operations executed on the state store for a get operation.
+       * 
+ * + * int32 parallelism = 3; + * @param value The parallelism to set. + * @return This builder for chaining. + */ + public Builder setParallelism(int value) { + + parallelism_ = value; + onChanged(); + return this; + } + /** + *
+       * (optional) The number of parallel operations executed on the state store for a get operation.
+       * 
+ * + * int32 parallelism = 3; + * @return This builder for chaining. + */ + public Builder clearParallelism() { + + parallelism_ = 0; + onChanged(); + return this; + } + private com.google.protobuf.MapField< java.lang.String, java.lang.String> metadata_; private com.google.protobuf.MapField @@ -21882,10 +30996,10 @@ public int getMetadataCount() { } /** *
-       * The metadata which will be sent to configuration store components.
+       * (optional) The metadata which will be sent to state store components.
        * 
* - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ @java.lang.Override @@ -21904,10 +31018,10 @@ public java.util.Map getMetadata() { } /** *
-       * The metadata which will be sent to configuration store components.
+       * (optional) The metadata which will be sent to state store components.
        * 
* - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ @java.lang.Override @@ -21916,10 +31030,10 @@ public java.util.Map getMetadataMap() { } /** *
-       * The metadata which will be sent to configuration store components.
+       * (optional) The metadata which will be sent to state store components.
        * 
* - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ @java.lang.Override @@ -21933,10 +31047,10 @@ public java.lang.String getMetadataOrDefault( } /** *
-       * The metadata which will be sent to configuration store components.
+       * (optional) The metadata which will be sent to state store components.
        * 
* - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ @java.lang.Override @@ -21958,10 +31072,10 @@ public Builder clearMetadata() { } /** *
-       * The metadata which will be sent to configuration store components.
+       * (optional) The metadata which will be sent to state store components.
        * 
* - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ public Builder removeMetadata( @@ -21981,10 +31095,10 @@ public Builder removeMetadata( } /** *
-       * The metadata which will be sent to configuration store components.
+       * (optional) The metadata which will be sent to state store components.
        * 
* - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ public Builder putMetadata( java.lang.String key, @@ -21997,10 +31111,10 @@ public Builder putMetadata( } /** *
-       * The metadata which will be sent to configuration store components.
+       * (optional) The metadata which will be sent to state store components.
        * 
* - * map<string, string> metadata = 6; + * map<string, string> metadata = 4; */ public Builder putAllMetadata( @@ -22022,505 +31136,247 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.DeleteConfigurationRequest) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.GetBulkStateRequest) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.DeleteConfigurationRequest) - private static final spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.GetBulkStateRequest) + private static final spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest(); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public DeleteConfigurationRequest parsePartialFrom( + public GetBulkStateRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new DeleteConfigurationRequest(input, extensionRegistry); + return new GetBulkStateRequest(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.DeleteConfigurationRequest getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface GetStateRequestOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.GetStateRequest) + public interface GetBulkStateResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.GetBulkStateResponse) com.google.protobuf.MessageOrBuilder { /** *
-     * Required. The name of state store.
-     * 
- * - * string store_name = 1; - * @return The storeName. - */ - java.lang.String getStoreName(); - /** - *
-     * Required. The name of state store.
-     * 
- * - * string store_name = 1; - * @return The bytes for storeName. - */ - com.google.protobuf.ByteString - getStoreNameBytes(); - - /** - *
-     * Required. The key of the desired state
-     * 
- * - * string key = 2; - * @return The key. - */ - java.lang.String getKey(); - /** - *
-     * Required. The key of the desired state
-     * 
- * - * string key = 2; - * @return The bytes for key. - */ - com.google.protobuf.ByteString - getKeyBytes(); - - /** - *
-     * (optional) read consistency mode
-     * 
- * - * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 3; - * @return The enum numeric value on the wire for consistency. - */ - int getConsistencyValue(); - /** - *
-     * (optional) read consistency mode
-     * 
- * - * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 3; - * @return The consistency. - */ - spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency getConsistency(); - - /** - *
-     * (optional) The metadata which will be sent to state store components.
-     * 
- * - * map<string, string> metadata = 4; - */ - int getMetadataCount(); - /** - *
-     * (optional) The metadata which will be sent to state store components.
-     * 
- * - * map<string, string> metadata = 4; - */ - boolean containsMetadata( - java.lang.String key); - /** - * Use {@link #getMetadataMap()} instead. - */ - @java.lang.Deprecated - java.util.Map - getMetadata(); - /** - *
-     * (optional) The metadata which will be sent to state store components.
-     * 
- * - * map<string, string> metadata = 4; - */ - java.util.Map - getMetadataMap(); - /** - *
-     * (optional) The metadata which will be sent to state store components.
-     * 
- * - * map<string, string> metadata = 4; - */ - - java.lang.String getMetadataOrDefault( - java.lang.String key, - java.lang.String defaultValue); - /** - *
-     * (optional) The metadata which will be sent to state store components.
-     * 
- * - * map<string, string> metadata = 4; - */ - - java.lang.String getMetadataOrThrow( - java.lang.String key); - } - /** - *
-   * GetStateRequest is the message to get key-value states from specific state store.
-   * 
- * - * Protobuf type {@code spec.proto.runtime.v1.GetStateRequest} - */ - public static final class GetStateRequest extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.GetStateRequest) - GetStateRequestOrBuilder { - private static final long serialVersionUID = 0L; - // Use GetStateRequest.newBuilder() to construct. - private GetStateRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private GetStateRequest() { - storeName_ = ""; - key_ = ""; - consistency_ = 0; - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new GetStateRequest(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private GetStateRequest( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - int mutable_bitField0_ = 0; - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - java.lang.String s = input.readStringRequireUtf8(); - - storeName_ = s; - break; - } - case 18: { - java.lang.String s = input.readStringRequireUtf8(); - - key_ = s; - break; - } - case 24: { - int rawValue = input.readEnum(); - - consistency_ = rawValue; - break; - } - case 34: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - metadata_ = com.google.protobuf.MapField.newMapField( - MetadataDefaultEntryHolder.defaultEntry); - mutable_bitField0_ |= 0x00000001; - } - com.google.protobuf.MapEntry - metadata__ = input.readMessage( - MetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); - metadata_.getMutableMap().put( - metadata__.getKey(), metadata__.getValue()); - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateRequest_descriptor; - } - - @SuppressWarnings({"rawtypes"}) - @java.lang.Override - protected com.google.protobuf.MapField internalGetMapField( - int number) { - switch (number) { - case 4: - return internalGetMetadata(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateRequest_fieldAccessorTable - .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.GetStateRequest.class, spec.proto.runtime.v1.RuntimeProto.GetStateRequest.Builder.class); - } - - public static final int STORE_NAME_FIELD_NUMBER = 1; - private volatile java.lang.Object storeName_; - /** - *
-     * Required. The name of state store.
-     * 
- * - * string store_name = 1; - * @return The storeName. - */ - @java.lang.Override - public java.lang.String getStoreName() { - java.lang.Object ref = storeName_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - storeName_ = s; - return s; - } - } - /** - *
-     * Required. The name of state store.
+     * The list of items containing the keys to get values for.
      * 
* - * string store_name = 1; - * @return The bytes for storeName. + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - @java.lang.Override - public com.google.protobuf.ByteString - getStoreNameBytes() { - java.lang.Object ref = storeName_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - storeName_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int KEY_FIELD_NUMBER = 2; - private volatile java.lang.Object key_; + java.util.List + getItemsList(); /** *
-     * Required. The key of the desired state
+     * The list of items containing the keys to get values for.
      * 
* - * string key = 2; - * @return The key. + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - @java.lang.Override - public java.lang.String getKey() { - java.lang.Object ref = key_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - key_ = s; - return s; - } - } + spec.proto.runtime.v1.RuntimeProto.BulkStateItem getItems(int index); /** *
-     * Required. The key of the desired state
+     * The list of items containing the keys to get values for.
      * 
* - * string key = 2; - * @return The bytes for key. + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - @java.lang.Override - public com.google.protobuf.ByteString - getKeyBytes() { - java.lang.Object ref = key_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - key_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int CONSISTENCY_FIELD_NUMBER = 3; - private int consistency_; + int getItemsCount(); /** *
-     * (optional) read consistency mode
+     * The list of items containing the keys to get values for.
      * 
* - * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 3; - * @return The enum numeric value on the wire for consistency. + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - @java.lang.Override public int getConsistencyValue() { - return consistency_; - } + java.util.List + getItemsOrBuilderList(); /** *
-     * (optional) read consistency mode
+     * The list of items containing the keys to get values for.
      * 
* - * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 3; - * @return The consistency. + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - @java.lang.Override public spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency getConsistency() { - @SuppressWarnings("deprecation") - spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency result = spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.valueOf(consistency_); - return result == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.UNRECOGNIZED : result; + spec.proto.runtime.v1.RuntimeProto.BulkStateItemOrBuilder getItemsOrBuilder( + int index); + } + /** + *
+   * GetBulkStateResponse is the response conveying the list of state values.
+   * 
+ * + * Protobuf type {@code spec.proto.runtime.v1.GetBulkStateResponse} + */ + public static final class GetBulkStateResponse extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.GetBulkStateResponse) + GetBulkStateResponseOrBuilder { + private static final long serialVersionUID = 0L; + // Use GetBulkStateResponse.newBuilder() to construct. + private GetBulkStateResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private GetBulkStateResponse() { + items_ = java.util.Collections.emptyList(); } - public static final int METADATA_FIELD_NUMBER = 4; - private static final class MetadataDefaultEntryHolder { - static final com.google.protobuf.MapEntry< - java.lang.String, java.lang.String> defaultEntry = - com.google.protobuf.MapEntry - .newDefaultInstance( - spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateRequest_MetadataEntry_descriptor, - com.google.protobuf.WireFormat.FieldType.STRING, - "", - com.google.protobuf.WireFormat.FieldType.STRING, - ""); + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new GetBulkStateResponse(); } - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> metadata_; - private com.google.protobuf.MapField - internalGetMetadata() { - if (metadata_ == null) { - return com.google.protobuf.MapField.emptyMapField( - MetadataDefaultEntryHolder.defaultEntry); + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private GetBulkStateResponse( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); } - return metadata_; + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + items_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + items_.add( + input.readMessage(spec.proto.runtime.v1.RuntimeProto.BulkStateItem.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + items_ = java.util.Collections.unmodifiableList(items_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateResponse_descriptor; } - public int getMetadataCount() { - return internalGetMetadata().getMap().size(); + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse.class, spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse.Builder.class); } + + public static final int ITEMS_FIELD_NUMBER = 1; + private java.util.List items_; /** *
-     * (optional) The metadata which will be sent to state store components.
+     * The list of items containing the keys to get values for.
      * 
* - * map<string, string> metadata = 4; + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - @java.lang.Override - public boolean containsMetadata( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - return internalGetMetadata().getMap().containsKey(key); + public java.util.List getItemsList() { + return items_; } /** - * Use {@link #getMetadataMap()} instead. + *
+     * The list of items containing the keys to get values for.
+     * 
+ * + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ @java.lang.Override - @java.lang.Deprecated - public java.util.Map getMetadata() { - return getMetadataMap(); + public java.util.List + getItemsOrBuilderList() { + return items_; } /** *
-     * (optional) The metadata which will be sent to state store components.
+     * The list of items containing the keys to get values for.
      * 
* - * map<string, string> metadata = 4; + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ @java.lang.Override - - public java.util.Map getMetadataMap() { - return internalGetMetadata().getMap(); + public int getItemsCount() { + return items_.size(); } /** *
-     * (optional) The metadata which will be sent to state store components.
+     * The list of items containing the keys to get values for.
      * 
* - * map<string, string> metadata = 4; + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ @java.lang.Override - - public java.lang.String getMetadataOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; + public spec.proto.runtime.v1.RuntimeProto.BulkStateItem getItems(int index) { + return items_.get(index); } /** *
-     * (optional) The metadata which will be sent to state store components.
+     * The list of items containing the keys to get values for.
      * 
* - * map<string, string> metadata = 4; + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ @java.lang.Override - - public java.lang.String getMetadataOrThrow( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); - } - return map.get(key); + public spec.proto.runtime.v1.RuntimeProto.BulkStateItemOrBuilder getItemsOrBuilder( + int index) { + return items_.get(index); } private byte memoizedIsInitialized = -1; @@ -22537,21 +31393,9 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!getStoreNameBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); - } - if (!getKeyBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, key_); - } - if (consistency_ != spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.CONSISTENCY_UNSPECIFIED.getNumber()) { - output.writeEnum(3, consistency_); + for (int i = 0; i < items_.size(); i++) { + output.writeMessage(1, items_.get(i)); } - com.google.protobuf.GeneratedMessageV3 - .serializeStringMapTo( - output, - internalGetMetadata(), - MetadataDefaultEntryHolder.defaultEntry, - 4); unknownFields.writeTo(output); } @@ -22561,25 +31405,9 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!getStoreNameBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); - } - if (!getKeyBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, key_); - } - if (consistency_ != spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.CONSISTENCY_UNSPECIFIED.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(3, consistency_); - } - for (java.util.Map.Entry entry - : internalGetMetadata().getMap().entrySet()) { - com.google.protobuf.MapEntry - metadata__ = MetadataDefaultEntryHolder.defaultEntry.newBuilderForType() - .setKey(entry.getKey()) - .setValue(entry.getValue()) - .build(); + for (int i = 0; i < items_.size(); i++) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(4, metadata__); + .computeMessageSize(1, items_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -22591,18 +31419,13 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.GetStateRequest)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.GetStateRequest other = (spec.proto.runtime.v1.RuntimeProto.GetStateRequest) obj; + spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse other = (spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse) obj; - if (!getStoreName() - .equals(other.getStoreName())) return false; - if (!getKey() - .equals(other.getKey())) return false; - if (consistency_ != other.consistency_) return false; - if (!internalGetMetadata().equals( - other.internalGetMetadata())) return false; + if (!getItemsList() + .equals(other.getItemsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -22614,84 +31437,78 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + STORE_NAME_FIELD_NUMBER; - hash = (53 * hash) + getStoreName().hashCode(); - hash = (37 * hash) + KEY_FIELD_NUMBER; - hash = (53 * hash) + getKey().hashCode(); - hash = (37 * hash) + CONSISTENCY_FIELD_NUMBER; - hash = (53 * hash) + consistency_; - if (!internalGetMetadata().getMap().isEmpty()) { - hash = (37 * hash) + METADATA_FIELD_NUMBER; - hash = (53 * hash) + internalGetMetadata().hashCode(); + if (getItemsCount() > 0) { + hash = (37 * hash) + ITEMS_FIELD_NUMBER; + hash = (53 * hash) + getItemsList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -22704,7 +31521,7 @@ public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.GetStateRequest prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -22721,51 +31538,29 @@ protected Builder newBuilderForType( } /** *
-     * GetStateRequest is the message to get key-value states from specific state store.
+     * GetBulkStateResponse is the response conveying the list of state values.
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.GetStateRequest} + * Protobuf type {@code spec.proto.runtime.v1.GetBulkStateResponse} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.GetStateRequest) - spec.proto.runtime.v1.RuntimeProto.GetStateRequestOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.GetBulkStateResponse) + spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponseOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateResponse_descriptor; } - @SuppressWarnings({"rawtypes"}) - protected com.google.protobuf.MapField internalGetMapField( - int number) { - switch (number) { - case 4: - return internalGetMetadata(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } - @SuppressWarnings({"rawtypes"}) - protected com.google.protobuf.MapField internalGetMutableMapField( - int number) { - switch (number) { - case 4: - return internalGetMutableMetadata(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.GetStateRequest.class, spec.proto.runtime.v1.RuntimeProto.GetStateRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse.class, spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.GetStateRequest.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -22778,35 +31573,35 @@ private Builder( private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getItemsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - storeName_ = ""; - - key_ = ""; - - consistency_ = 0; - - internalGetMutableMetadata().clear(); + if (itemsBuilder_ == null) { + items_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + itemsBuilder_.clear(); + } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateResponse_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetStateRequest getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.GetStateRequest.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetStateRequest build() { - spec.proto.runtime.v1.RuntimeProto.GetStateRequest result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse build() { + spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -22814,14 +31609,18 @@ public spec.proto.runtime.v1.RuntimeProto.GetStateRequest build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetStateRequest buildPartial() { - spec.proto.runtime.v1.RuntimeProto.GetStateRequest result = new spec.proto.runtime.v1.RuntimeProto.GetStateRequest(this); + public spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse buildPartial() { + spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse result = new spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse(this); int from_bitField0_ = bitField0_; - result.storeName_ = storeName_; - result.key_ = key_; - result.consistency_ = consistency_; - result.metadata_ = internalGetMetadata(); - result.metadata_.makeImmutable(); + if (itemsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + items_ = java.util.Collections.unmodifiableList(items_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.items_ = items_; + } else { + result.items_ = itemsBuilder_.build(); + } onBuilt(); return result; } @@ -22860,479 +31659,382 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.GetStateRequest) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.GetStateRequest)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetStateRequest other) { - if (other == spec.proto.runtime.v1.RuntimeProto.GetStateRequest.getDefaultInstance()) return this; - if (!other.getStoreName().isEmpty()) { - storeName_ = other.storeName_; - onChanged(); - } - if (!other.getKey().isEmpty()) { - key_ = other.key_; - onChanged(); - } - if (other.consistency_ != 0) { - setConsistencyValue(other.getConsistencyValue()); - } - internalGetMutableMetadata().mergeFrom( - other.internalGetMetadata()); - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.GetStateRequest parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.GetStateRequest) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse other) { + if (other == spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse.getDefaultInstance()) return this; + if (itemsBuilder_ == null) { + if (!other.items_.isEmpty()) { + if (items_.isEmpty()) { + items_ = other.items_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureItemsIsMutable(); + items_.addAll(other.items_); + } + onChanged(); } - } - return this; - } - private int bitField0_; - - private java.lang.Object storeName_ = ""; - /** - *
-       * Required. The name of state store.
-       * 
- * - * string store_name = 1; - * @return The storeName. - */ - public java.lang.String getStoreName() { - java.lang.Object ref = storeName_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - storeName_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * Required. The name of state store.
-       * 
- * - * string store_name = 1; - * @return The bytes for storeName. - */ - public com.google.protobuf.ByteString - getStoreNameBytes() { - java.lang.Object ref = storeName_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - storeName_ = b; - return b; } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * Required. The name of state store.
-       * 
- * - * string store_name = 1; - * @param value The storeName to set. - * @return This builder for chaining. - */ - public Builder setStoreName( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - storeName_ = value; + if (!other.items_.isEmpty()) { + if (itemsBuilder_.isEmpty()) { + itemsBuilder_.dispose(); + itemsBuilder_ = null; + items_ = other.items_; + bitField0_ = (bitField0_ & ~0x00000001); + itemsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getItemsFieldBuilder() : null; + } else { + itemsBuilder_.addAllMessages(other.items_); + } + } + } + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } - /** - *
-       * Required. The name of state store.
-       * 
- * - * string store_name = 1; - * @return This builder for chaining. - */ - public Builder clearStoreName() { - - storeName_ = getDefaultInstance().getStoreName(); - onChanged(); + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } return this; } + private int bitField0_; + + private java.util.List items_ = + java.util.Collections.emptyList(); + private void ensureItemsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + items_ = new java.util.ArrayList(items_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.BulkStateItem, spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder, spec.proto.runtime.v1.RuntimeProto.BulkStateItemOrBuilder> itemsBuilder_; + /** *
-       * Required. The name of state store.
+       * The list of items containing the keys to get values for.
        * 
* - * string store_name = 1; - * @param value The bytes for storeName to set. - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - public Builder setStoreNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - storeName_ = value; - onChanged(); - return this; + public java.util.List getItemsList() { + if (itemsBuilder_ == null) { + return java.util.Collections.unmodifiableList(items_); + } else { + return itemsBuilder_.getMessageList(); + } } - - private java.lang.Object key_ = ""; /** *
-       * Required. The key of the desired state
+       * The list of items containing the keys to get values for.
        * 
* - * string key = 2; - * @return The key. + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - public java.lang.String getKey() { - java.lang.Object ref = key_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - key_ = s; - return s; + public int getItemsCount() { + if (itemsBuilder_ == null) { + return items_.size(); } else { - return (java.lang.String) ref; + return itemsBuilder_.getCount(); } } /** *
-       * Required. The key of the desired state
+       * The list of items containing the keys to get values for.
        * 
* - * string key = 2; - * @return The bytes for key. + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - public com.google.protobuf.ByteString - getKeyBytes() { - java.lang.Object ref = key_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - key_ = b; - return b; + public spec.proto.runtime.v1.RuntimeProto.BulkStateItem getItems(int index) { + if (itemsBuilder_ == null) { + return items_.get(index); } else { - return (com.google.protobuf.ByteString) ref; + return itemsBuilder_.getMessage(index); } } /** *
-       * Required. The key of the desired state
+       * The list of items containing the keys to get values for.
        * 
* - * string key = 2; - * @param value The key to set. - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - public Builder setKey( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - key_ = value; - onChanged(); + public Builder setItems( + int index, spec.proto.runtime.v1.RuntimeProto.BulkStateItem value) { + if (itemsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureItemsIsMutable(); + items_.set(index, value); + onChanged(); + } else { + itemsBuilder_.setMessage(index, value); + } return this; } /** *
-       * Required. The key of the desired state
+       * The list of items containing the keys to get values for.
        * 
* - * string key = 2; - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - public Builder clearKey() { - - key_ = getDefaultInstance().getKey(); - onChanged(); + public Builder setItems( + int index, spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder builderForValue) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + items_.set(index, builderForValue.build()); + onChanged(); + } else { + itemsBuilder_.setMessage(index, builderForValue.build()); + } return this; } /** *
-       * Required. The key of the desired state
+       * The list of items containing the keys to get values for.
        * 
* - * string key = 2; - * @param value The bytes for key to set. - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - public Builder setKeyBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - key_ = value; - onChanged(); + public Builder addItems(spec.proto.runtime.v1.RuntimeProto.BulkStateItem value) { + if (itemsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureItemsIsMutable(); + items_.add(value); + onChanged(); + } else { + itemsBuilder_.addMessage(value); + } return this; } - - private int consistency_ = 0; /** *
-       * (optional) read consistency mode
+       * The list of items containing the keys to get values for.
        * 
* - * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 3; - * @return The enum numeric value on the wire for consistency. + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - @java.lang.Override public int getConsistencyValue() { - return consistency_; + public Builder addItems( + int index, spec.proto.runtime.v1.RuntimeProto.BulkStateItem value) { + if (itemsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureItemsIsMutable(); + items_.add(index, value); + onChanged(); + } else { + itemsBuilder_.addMessage(index, value); + } + return this; } /** *
-       * (optional) read consistency mode
+       * The list of items containing the keys to get values for.
        * 
* - * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 3; - * @param value The enum numeric value on the wire for consistency to set. - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - public Builder setConsistencyValue(int value) { - - consistency_ = value; - onChanged(); + public Builder addItems( + spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder builderForValue) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + items_.add(builderForValue.build()); + onChanged(); + } else { + itemsBuilder_.addMessage(builderForValue.build()); + } return this; } /** *
-       * (optional) read consistency mode
+       * The list of items containing the keys to get values for.
        * 
* - * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 3; - * @return The consistency. + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency getConsistency() { - @SuppressWarnings("deprecation") - spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency result = spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.valueOf(consistency_); - return result == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.UNRECOGNIZED : result; + public Builder addItems( + int index, spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder builderForValue) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + items_.add(index, builderForValue.build()); + onChanged(); + } else { + itemsBuilder_.addMessage(index, builderForValue.build()); + } + return this; } /** *
-       * (optional) read consistency mode
+       * The list of items containing the keys to get values for.
        * 
* - * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 3; - * @param value The consistency to set. - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - public Builder setConsistency(spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency value) { - if (value == null) { - throw new NullPointerException(); + public Builder addAllItems( + java.lang.Iterable values) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, items_); + onChanged(); + } else { + itemsBuilder_.addAllMessages(values); } - - consistency_ = value.getNumber(); - onChanged(); return this; } /** *
-       * (optional) read consistency mode
+       * The list of items containing the keys to get values for.
        * 
* - * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 3; - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - public Builder clearConsistency() { - - consistency_ = 0; - onChanged(); - return this; - } - - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> metadata_; - private com.google.protobuf.MapField - internalGetMetadata() { - if (metadata_ == null) { - return com.google.protobuf.MapField.emptyMapField( - MetadataDefaultEntryHolder.defaultEntry); - } - return metadata_; - } - private com.google.protobuf.MapField - internalGetMutableMetadata() { - onChanged();; - if (metadata_ == null) { - metadata_ = com.google.protobuf.MapField.newMapField( - MetadataDefaultEntryHolder.defaultEntry); - } - if (!metadata_.isMutable()) { - metadata_ = metadata_.copy(); + public Builder clearItems() { + if (itemsBuilder_ == null) { + items_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + itemsBuilder_.clear(); } - return metadata_; - } - - public int getMetadataCount() { - return internalGetMetadata().getMap().size(); + return this; } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * The list of items containing the keys to get values for.
        * 
* - * map<string, string> metadata = 4; - */ - - @java.lang.Override - public boolean containsMetadata( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - return internalGetMetadata().getMap().containsKey(key); - } - /** - * Use {@link #getMetadataMap()} instead. + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - @java.lang.Override - @java.lang.Deprecated - public java.util.Map getMetadata() { - return getMetadataMap(); + public Builder removeItems(int index) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + items_.remove(index); + onChanged(); + } else { + itemsBuilder_.remove(index); + } + return this; } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * The list of items containing the keys to get values for.
        * 
* - * map<string, string> metadata = 4; + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - @java.lang.Override - - public java.util.Map getMetadataMap() { - return internalGetMetadata().getMap(); + public spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder getItemsBuilder( + int index) { + return getItemsFieldBuilder().getBuilder(index); } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * The list of items containing the keys to get values for.
        * 
* - * map<string, string> metadata = 4; + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - @java.lang.Override - - public java.lang.String getMetadataOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; + public spec.proto.runtime.v1.RuntimeProto.BulkStateItemOrBuilder getItemsOrBuilder( + int index) { + if (itemsBuilder_ == null) { + return items_.get(index); } else { + return itemsBuilder_.getMessageOrBuilder(index); + } } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * The list of items containing the keys to get values for.
        * 
* - * map<string, string> metadata = 4; + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - @java.lang.Override - - public java.lang.String getMetadataOrThrow( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); + public java.util.List + getItemsOrBuilderList() { + if (itemsBuilder_ != null) { + return itemsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(items_); } - return map.get(key); - } - - public Builder clearMetadata() { - internalGetMutableMetadata().getMutableMap() - .clear(); - return this; } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * The list of items containing the keys to get values for.
        * 
* - * map<string, string> metadata = 4; - */ - - public Builder removeMetadata( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - internalGetMutableMetadata().getMutableMap() - .remove(key); - return this; - } - /** - * Use alternate mutation accessors instead. + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - @java.lang.Deprecated - public java.util.Map - getMutableMetadata() { - return internalGetMutableMetadata().getMutableMap(); + public spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder addItemsBuilder() { + return getItemsFieldBuilder().addBuilder( + spec.proto.runtime.v1.RuntimeProto.BulkStateItem.getDefaultInstance()); } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * The list of items containing the keys to get values for.
        * 
* - * map<string, string> metadata = 4; + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - public Builder putMetadata( - java.lang.String key, - java.lang.String value) { - if (key == null) { throw new java.lang.NullPointerException(); } - if (value == null) { throw new java.lang.NullPointerException(); } - internalGetMutableMetadata().getMutableMap() - .put(key, value); - return this; + public spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder addItemsBuilder( + int index) { + return getItemsFieldBuilder().addBuilder( + index, spec.proto.runtime.v1.RuntimeProto.BulkStateItem.getDefaultInstance()); } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * The list of items containing the keys to get values for.
        * 
* - * map<string, string> metadata = 4; + * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; */ - - public Builder putAllMetadata( - java.util.Map values) { - internalGetMutableMetadata().getMutableMap() - .putAll(values); - return this; + public java.util.List + getItemsBuilderList() { + return getItemsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.BulkStateItem, spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder, spec.proto.runtime.v1.RuntimeProto.BulkStateItemOrBuilder> + getItemsFieldBuilder() { + if (itemsBuilder_ == null) { + itemsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.BulkStateItem, spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder, spec.proto.runtime.v1.RuntimeProto.BulkStateItemOrBuilder>( + items_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + items_ = null; + } + return itemsBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -23347,135 +32049,136 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.GetStateRequest) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.GetBulkStateResponse) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.GetStateRequest) - private static final spec.proto.runtime.v1.RuntimeProto.GetStateRequest DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.GetBulkStateResponse) + private static final spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.GetStateRequest(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse(); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateRequest getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public GetStateRequest parsePartialFrom( + public GetBulkStateResponse parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new GetStateRequest(input, extensionRegistry); + return new GetBulkStateResponse(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetStateRequest getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface GetBulkStateRequestOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.GetBulkStateRequest) + public interface BulkStateItemOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.BulkStateItem) com.google.protobuf.MessageOrBuilder { /** *
-     * Required. The name of state store.
+     * state item key
      * 
* - * string store_name = 1; - * @return The storeName. + * string key = 1; + * @return The key. */ - java.lang.String getStoreName(); + java.lang.String getKey(); /** *
-     * Required. The name of state store.
+     * state item key
      * 
* - * string store_name = 1; - * @return The bytes for storeName. + * string key = 1; + * @return The bytes for key. */ com.google.protobuf.ByteString - getStoreNameBytes(); + getKeyBytes(); /** *
-     * Required. The keys to get.
+     * The byte array data
      * 
* - * repeated string keys = 2; - * @return A list containing the keys. - */ - java.util.List - getKeysList(); + * bytes data = 2; + * @return The data. + */ + com.google.protobuf.ByteString getData(); + /** *
-     * Required. The keys to get.
+     * The entity tag which represents the specific version of data.
+     * ETag format is defined by the corresponding data store.
      * 
* - * repeated string keys = 2; - * @return The count of keys. + * string etag = 3; + * @return The etag. */ - int getKeysCount(); + java.lang.String getEtag(); /** *
-     * Required. The keys to get.
+     * The entity tag which represents the specific version of data.
+     * ETag format is defined by the corresponding data store.
      * 
* - * repeated string keys = 2; - * @param index The index of the element to return. - * @return The keys at the given index. + * string etag = 3; + * @return The bytes for etag. */ - java.lang.String getKeys(int index); + com.google.protobuf.ByteString + getEtagBytes(); + /** *
-     * Required. The keys to get.
+     * The error that was returned from the state store in case of a failed get operation.
      * 
* - * repeated string keys = 2; - * @param index The index of the value to return. - * @return The bytes of the keys at the given index. + * string error = 4; + * @return The error. */ - com.google.protobuf.ByteString - getKeysBytes(int index); - + java.lang.String getError(); /** *
-     * (optional) The number of parallel operations executed on the state store for a get operation.
+     * The error that was returned from the state store in case of a failed get operation.
      * 
* - * int32 parallelism = 3; - * @return The parallelism. + * string error = 4; + * @return The bytes for error. */ - int getParallelism(); + com.google.protobuf.ByteString + getErrorBytes(); /** *
-     * (optional) The metadata which will be sent to state store components.
+     * The metadata which will be sent to app.
      * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 5; */ int getMetadataCount(); /** *
-     * (optional) The metadata which will be sent to state store components.
+     * The metadata which will be sent to app.
      * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 5; */ boolean containsMetadata( java.lang.String key); @@ -23487,19 +32190,19 @@ boolean containsMetadata( getMetadata(); /** *
-     * (optional) The metadata which will be sent to state store components.
+     * The metadata which will be sent to app.
      * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 5; */ java.util.Map getMetadataMap(); /** *
-     * (optional) The metadata which will be sent to state store components.
+     * The metadata which will be sent to app.
      * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 5; */ java.lang.String getMetadataOrDefault( @@ -23507,10 +32210,10 @@ java.lang.String getMetadataOrDefault( java.lang.String defaultValue); /** *
-     * (optional) The metadata which will be sent to state store components.
+     * The metadata which will be sent to app.
      * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 5; */ java.lang.String getMetadataOrThrow( @@ -23518,30 +32221,33 @@ java.lang.String getMetadataOrThrow( } /** *
-   * GetBulkStateRequest is the message to get a list of key-value states from specific state store.
+   * BulkStateItem is the response item for a bulk get operation.
+   * Return values include the item key, data and etag.
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.GetBulkStateRequest} + * Protobuf type {@code spec.proto.runtime.v1.BulkStateItem} */ - public static final class GetBulkStateRequest extends + public static final class BulkStateItem extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.GetBulkStateRequest) - GetBulkStateRequestOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.BulkStateItem) + BulkStateItemOrBuilder { private static final long serialVersionUID = 0L; - // Use GetBulkStateRequest.newBuilder() to construct. - private GetBulkStateRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use BulkStateItem.newBuilder() to construct. + private BulkStateItem(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private GetBulkStateRequest() { - storeName_ = ""; - keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; + private BulkStateItem() { + key_ = ""; + data_ = com.google.protobuf.ByteString.EMPTY; + etag_ = ""; + error_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new GetBulkStateRequest(); + return new BulkStateItem(); } @java.lang.Override @@ -23549,7 +32255,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private GetBulkStateRequest( + private BulkStateItem( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -23571,28 +32277,31 @@ private GetBulkStateRequest( case 10: { java.lang.String s = input.readStringRequireUtf8(); - storeName_ = s; + key_ = s; break; } case 18: { - java.lang.String s = input.readStringRequireUtf8(); - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - keys_ = new com.google.protobuf.LazyStringArrayList(); - mutable_bitField0_ |= 0x00000001; - } - keys_.add(s); + + data_ = input.readBytes(); break; } - case 24: { + case 26: { + java.lang.String s = input.readStringRequireUtf8(); - parallelism_ = input.readInt32(); + etag_ = s; break; } case 34: { - if (!((mutable_bitField0_ & 0x00000002) != 0)) { + java.lang.String s = input.readStringRequireUtf8(); + + error_ = s; + break; + } + case 42: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { metadata_ = com.google.protobuf.MapField.newMapField( MetadataDefaultEntryHolder.defaultEntry); - mutable_bitField0_ |= 0x00000002; + mutable_bitField0_ |= 0x00000001; } com.google.protobuf.MapEntry metadata__ = input.readMessage( @@ -23616,16 +32325,13 @@ private GetBulkStateRequest( throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - keys_ = keys_.getUnmodifiableView(); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_BulkStateItem_descriptor; } @SuppressWarnings({"rawtypes"}) @@ -23633,7 +32339,7 @@ private GetBulkStateRequest( protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { - case 4: + case 5: return internalGetMetadata(); default: throw new RuntimeException( @@ -23643,130 +32349,173 @@ protected com.google.protobuf.MapField internalGetMapField( @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_BulkStateItem_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest.class, spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.BulkStateItem.class, spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder.class); } - public static final int STORE_NAME_FIELD_NUMBER = 1; - private volatile java.lang.Object storeName_; + public static final int KEY_FIELD_NUMBER = 1; + private volatile java.lang.Object key_; /** *
-     * Required. The name of state store.
+     * state item key
      * 
* - * string store_name = 1; - * @return The storeName. + * string key = 1; + * @return The key. */ @java.lang.Override - public java.lang.String getStoreName() { - java.lang.Object ref = storeName_; + public java.lang.String getKey() { + java.lang.Object ref = key_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - storeName_ = s; + key_ = s; return s; } } /** *
-     * Required. The name of state store.
+     * state item key
      * 
* - * string store_name = 1; - * @return The bytes for storeName. + * string key = 1; + * @return The bytes for key. */ @java.lang.Override public com.google.protobuf.ByteString - getStoreNameBytes() { - java.lang.Object ref = storeName_; + getKeyBytes() { + java.lang.Object ref = key_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - storeName_ = b; + key_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } - public static final int KEYS_FIELD_NUMBER = 2; - private com.google.protobuf.LazyStringList keys_; + public static final int DATA_FIELD_NUMBER = 2; + private com.google.protobuf.ByteString data_; /** *
-     * Required. The keys to get.
+     * The byte array data
      * 
* - * repeated string keys = 2; - * @return A list containing the keys. + * bytes data = 2; + * @return The data. */ - public com.google.protobuf.ProtocolStringList - getKeysList() { - return keys_; + @java.lang.Override + public com.google.protobuf.ByteString getData() { + return data_; } + + public static final int ETAG_FIELD_NUMBER = 3; + private volatile java.lang.Object etag_; /** *
-     * Required. The keys to get.
+     * The entity tag which represents the specific version of data.
+     * ETag format is defined by the corresponding data store.
      * 
* - * repeated string keys = 2; - * @return The count of keys. + * string etag = 3; + * @return The etag. */ - public int getKeysCount() { - return keys_.size(); + @java.lang.Override + public java.lang.String getEtag() { + java.lang.Object ref = etag_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + etag_ = s; + return s; + } } /** *
-     * Required. The keys to get.
+     * The entity tag which represents the specific version of data.
+     * ETag format is defined by the corresponding data store.
      * 
* - * repeated string keys = 2; - * @param index The index of the element to return. - * @return The keys at the given index. + * string etag = 3; + * @return The bytes for etag. */ - public java.lang.String getKeys(int index) { - return keys_.get(index); + @java.lang.Override + public com.google.protobuf.ByteString + getEtagBytes() { + java.lang.Object ref = etag_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + etag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } + + public static final int ERROR_FIELD_NUMBER = 4; + private volatile java.lang.Object error_; /** *
-     * Required. The keys to get.
+     * The error that was returned from the state store in case of a failed get operation.
      * 
* - * repeated string keys = 2; - * @param index The index of the value to return. - * @return The bytes of the keys at the given index. + * string error = 4; + * @return The error. */ - public com.google.protobuf.ByteString - getKeysBytes(int index) { - return keys_.getByteString(index); + @java.lang.Override + public java.lang.String getError() { + java.lang.Object ref = error_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + error_ = s; + return s; + } } - - public static final int PARALLELISM_FIELD_NUMBER = 3; - private int parallelism_; /** *
-     * (optional) The number of parallel operations executed on the state store for a get operation.
+     * The error that was returned from the state store in case of a failed get operation.
      * 
* - * int32 parallelism = 3; - * @return The parallelism. + * string error = 4; + * @return The bytes for error. */ @java.lang.Override - public int getParallelism() { - return parallelism_; + public com.google.protobuf.ByteString + getErrorBytes() { + java.lang.Object ref = error_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + error_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } - public static final int METADATA_FIELD_NUMBER = 4; + public static final int METADATA_FIELD_NUMBER = 5; private static final class MetadataDefaultEntryHolder { static final com.google.protobuf.MapEntry< java.lang.String, java.lang.String> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( - spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateRequest_MetadataEntry_descriptor, + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_BulkStateItem_MetadataEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.STRING, @@ -23788,10 +32537,10 @@ public int getMetadataCount() { } /** *
-     * (optional) The metadata which will be sent to state store components.
+     * The metadata which will be sent to app.
      * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 5; */ @java.lang.Override @@ -23810,10 +32559,10 @@ public java.util.Map getMetadata() { } /** *
-     * (optional) The metadata which will be sent to state store components.
+     * The metadata which will be sent to app.
      * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 5; */ @java.lang.Override @@ -23822,10 +32571,10 @@ public java.util.Map getMetadataMap() { } /** *
-     * (optional) The metadata which will be sent to state store components.
+     * The metadata which will be sent to app.
      * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 5; */ @java.lang.Override @@ -23839,10 +32588,10 @@ public java.lang.String getMetadataOrDefault( } /** *
-     * (optional) The metadata which will be sent to state store components.
+     * The metadata which will be sent to app.
      * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 5; */ @java.lang.Override @@ -23871,21 +32620,24 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!getStoreNameBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); + if (!getKeyBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, key_); } - for (int i = 0; i < keys_.size(); i++) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, keys_.getRaw(i)); + if (!data_.isEmpty()) { + output.writeBytes(2, data_); } - if (parallelism_ != 0) { - output.writeInt32(3, parallelism_); + if (!getEtagBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, etag_); + } + if (!getErrorBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, error_); } com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( output, internalGetMetadata(), MetadataDefaultEntryHolder.defaultEntry, - 4); + 5); unknownFields.writeTo(output); } @@ -23895,20 +32647,18 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!getStoreNameBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); - } - { - int dataSize = 0; - for (int i = 0; i < keys_.size(); i++) { - dataSize += computeStringSizeNoTag(keys_.getRaw(i)); - } - size += dataSize; - size += 1 * getKeysList().size(); + if (!getKeyBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, key_); } - if (parallelism_ != 0) { + if (!data_.isEmpty()) { size += com.google.protobuf.CodedOutputStream - .computeInt32Size(3, parallelism_); + .computeBytesSize(2, data_); + } + if (!getEtagBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, etag_); + } + if (!getErrorBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, error_); } for (java.util.Map.Entry entry : internalGetMetadata().getMap().entrySet()) { @@ -23918,7 +32668,7 @@ public int getSerializedSize() { .setValue(entry.getValue()) .build(); size += com.google.protobuf.CodedOutputStream - .computeMessageSize(4, metadata__); + .computeMessageSize(5, metadata__); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -23930,17 +32680,19 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.BulkStateItem)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest other = (spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest) obj; + spec.proto.runtime.v1.RuntimeProto.BulkStateItem other = (spec.proto.runtime.v1.RuntimeProto.BulkStateItem) obj; - if (!getStoreName() - .equals(other.getStoreName())) return false; - if (!getKeysList() - .equals(other.getKeysList())) return false; - if (getParallelism() - != other.getParallelism()) return false; + if (!getKey() + .equals(other.getKey())) return false; + if (!getData() + .equals(other.getData())) return false; + if (!getEtag() + .equals(other.getEtag())) return false; + if (!getError() + .equals(other.getError())) return false; if (!internalGetMetadata().equals( other.internalGetMetadata())) return false; if (!unknownFields.equals(other.unknownFields)) return false; @@ -23954,14 +32706,14 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + STORE_NAME_FIELD_NUMBER; - hash = (53 * hash) + getStoreName().hashCode(); - if (getKeysCount() > 0) { - hash = (37 * hash) + KEYS_FIELD_NUMBER; - hash = (53 * hash) + getKeysList().hashCode(); - } - hash = (37 * hash) + PARALLELISM_FIELD_NUMBER; - hash = (53 * hash) + getParallelism(); + hash = (37 * hash) + KEY_FIELD_NUMBER; + hash = (53 * hash) + getKey().hashCode(); + hash = (37 * hash) + DATA_FIELD_NUMBER; + hash = (53 * hash) + getData().hashCode(); + hash = (37 * hash) + ETAG_FIELD_NUMBER; + hash = (53 * hash) + getEtag().hashCode(); + hash = (37 * hash) + ERROR_FIELD_NUMBER; + hash = (53 * hash) + getError().hashCode(); if (!internalGetMetadata().getMap().isEmpty()) { hash = (37 * hash) + METADATA_FIELD_NUMBER; hash = (53 * hash) + internalGetMetadata().hashCode(); @@ -23971,69 +32723,69 @@ public int hashCode() { return hash; } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -24046,7 +32798,7 @@ public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.BulkStateItem prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -24063,25 +32815,26 @@ protected Builder newBuilderForType( } /** *
-     * GetBulkStateRequest is the message to get a list of key-value states from specific state store.
+     * BulkStateItem is the response item for a bulk get operation.
+     * Return values include the item key, data and etag.
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.GetBulkStateRequest} + * Protobuf type {@code spec.proto.runtime.v1.BulkStateItem} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.GetBulkStateRequest) - spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequestOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.BulkStateItem) + spec.proto.runtime.v1.RuntimeProto.BulkStateItemOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_BulkStateItem_descriptor; } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { - case 4: + case 5: return internalGetMetadata(); default: throw new RuntimeException( @@ -24092,7 +32845,7 @@ protected com.google.protobuf.MapField internalGetMapField( protected com.google.protobuf.MapField internalGetMutableMapField( int number) { switch (number) { - case 4: + case 5: return internalGetMutableMetadata(); default: throw new RuntimeException( @@ -24102,12 +32855,12 @@ protected com.google.protobuf.MapField internalGetMutableMapField( @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_BulkStateItem_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest.class, spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.BulkStateItem.class, spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.BulkStateItem.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -24125,11 +32878,13 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - storeName_ = ""; + key_ = ""; - keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; - bitField0_ = (bitField0_ & ~0x00000001); - parallelism_ = 0; + data_ = com.google.protobuf.ByteString.EMPTY; + + etag_ = ""; + + error_ = ""; internalGetMutableMetadata().clear(); return this; @@ -24138,17 +32893,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_BulkStateItem_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.BulkStateItem getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.BulkStateItem.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest build() { - spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.BulkStateItem build() { + spec.proto.runtime.v1.RuntimeProto.BulkStateItem result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -24156,16 +32911,13 @@ public spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest buildPartial() { - spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest result = new spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest(this); + public spec.proto.runtime.v1.RuntimeProto.BulkStateItem buildPartial() { + spec.proto.runtime.v1.RuntimeProto.BulkStateItem result = new spec.proto.runtime.v1.RuntimeProto.BulkStateItem(this); int from_bitField0_ = bitField0_; - result.storeName_ = storeName_; - if (((bitField0_ & 0x00000001) != 0)) { - keys_ = keys_.getUnmodifiableView(); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.keys_ = keys_; - result.parallelism_ = parallelism_; + result.key_ = key_; + result.data_ = data_; + result.etag_ = etag_; + result.error_ = error_; result.metadata_ = internalGetMetadata(); result.metadata_.makeImmutable(); onBuilt(); @@ -24206,32 +32958,30 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.BulkStateItem) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.BulkStateItem)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest other) { - if (other == spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest.getDefaultInstance()) return this; - if (!other.getStoreName().isEmpty()) { - storeName_ = other.storeName_; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.BulkStateItem other) { + if (other == spec.proto.runtime.v1.RuntimeProto.BulkStateItem.getDefaultInstance()) return this; + if (!other.getKey().isEmpty()) { + key_ = other.key_; onChanged(); } - if (!other.keys_.isEmpty()) { - if (keys_.isEmpty()) { - keys_ = other.keys_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureKeysIsMutable(); - keys_.addAll(other.keys_); - } + if (other.getData() != com.google.protobuf.ByteString.EMPTY) { + setData(other.getData()); + } + if (!other.getEtag().isEmpty()) { + etag_ = other.etag_; onChanged(); } - if (other.getParallelism() != 0) { - setParallelism(other.getParallelism()); + if (!other.getError().isEmpty()) { + error_ = other.error_; + onChanged(); } internalGetMutableMetadata().mergeFrom( other.internalGetMetadata()); @@ -24250,11 +33000,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.BulkStateItem parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.BulkStateItem) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -24265,22 +33015,22 @@ public Builder mergeFrom( } private int bitField0_; - private java.lang.Object storeName_ = ""; + private java.lang.Object key_ = ""; /** *
-       * Required. The name of state store.
+       * state item key
        * 
* - * string store_name = 1; - * @return The storeName. + * string key = 1; + * @return The key. */ - public java.lang.String getStoreName() { - java.lang.Object ref = storeName_; + public java.lang.String getKey() { + java.lang.Object ref = key_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - storeName_ = s; + key_ = s; return s; } else { return (java.lang.String) ref; @@ -24288,20 +33038,20 @@ public java.lang.String getStoreName() { } /** *
-       * Required. The name of state store.
+       * state item key
        * 
* - * string store_name = 1; - * @return The bytes for storeName. + * string key = 1; + * @return The bytes for key. */ public com.google.protobuf.ByteString - getStoreNameBytes() { - java.lang.Object ref = storeName_; + getKeyBytes() { + java.lang.Object ref = key_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - storeName_ = b; + key_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; @@ -24309,243 +33059,297 @@ public java.lang.String getStoreName() { } /** *
-       * Required. The name of state store.
+       * state item key
        * 
* - * string store_name = 1; - * @param value The storeName to set. + * string key = 1; + * @param value The key to set. * @return This builder for chaining. */ - public Builder setStoreName( + public Builder setKey( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - storeName_ = value; + key_ = value; onChanged(); return this; } /** *
-       * Required. The name of state store.
+       * state item key
        * 
* - * string store_name = 1; + * string key = 1; * @return This builder for chaining. */ - public Builder clearStoreName() { + public Builder clearKey() { - storeName_ = getDefaultInstance().getStoreName(); + key_ = getDefaultInstance().getKey(); onChanged(); return this; } /** *
-       * Required. The name of state store.
+       * state item key
        * 
* - * string store_name = 1; - * @param value The bytes for storeName to set. + * string key = 1; + * @param value The bytes for key to set. * @return This builder for chaining. */ - public Builder setStoreNameBytes( + public Builder setKeyBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); - storeName_ = value; + key_ = value; onChanged(); return this; } - private com.google.protobuf.LazyStringList keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; - private void ensureKeysIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - keys_ = new com.google.protobuf.LazyStringArrayList(keys_); - bitField0_ |= 0x00000001; - } + private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; + /** + *
+       * The byte array data
+       * 
+ * + * bytes data = 2; + * @return The data. + */ + @java.lang.Override + public com.google.protobuf.ByteString getData() { + return data_; } /** *
-       * Required. The keys to get.
+       * The byte array data
        * 
* - * repeated string keys = 2; - * @return A list containing the keys. + * bytes data = 2; + * @param value The data to set. + * @return This builder for chaining. */ - public com.google.protobuf.ProtocolStringList - getKeysList() { - return keys_.getUnmodifiableView(); + public Builder setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + + data_ = value; + onChanged(); + return this; } /** *
-       * Required. The keys to get.
+       * The byte array data
        * 
* - * repeated string keys = 2; - * @return The count of keys. + * bytes data = 2; + * @return This builder for chaining. */ - public int getKeysCount() { - return keys_.size(); + public Builder clearData() { + + data_ = getDefaultInstance().getData(); + onChanged(); + return this; } + + private java.lang.Object etag_ = ""; /** *
-       * Required. The keys to get.
+       * The entity tag which represents the specific version of data.
+       * ETag format is defined by the corresponding data store.
        * 
* - * repeated string keys = 2; - * @param index The index of the element to return. - * @return The keys at the given index. + * string etag = 3; + * @return The etag. */ - public java.lang.String getKeys(int index) { - return keys_.get(index); + public java.lang.String getEtag() { + java.lang.Object ref = etag_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + etag_ = s; + return s; + } else { + return (java.lang.String) ref; + } } /** *
-       * Required. The keys to get.
+       * The entity tag which represents the specific version of data.
+       * ETag format is defined by the corresponding data store.
        * 
* - * repeated string keys = 2; - * @param index The index of the value to return. - * @return The bytes of the keys at the given index. + * string etag = 3; + * @return The bytes for etag. */ public com.google.protobuf.ByteString - getKeysBytes(int index) { - return keys_.getByteString(index); + getEtagBytes() { + java.lang.Object ref = etag_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + etag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } /** *
-       * Required. The keys to get.
+       * The entity tag which represents the specific version of data.
+       * ETag format is defined by the corresponding data store.
        * 
* - * repeated string keys = 2; - * @param index The index to set the value at. - * @param value The keys to set. + * string etag = 3; + * @param value The etag to set. * @return This builder for chaining. */ - public Builder setKeys( - int index, java.lang.String value) { + public Builder setEtag( + java.lang.String value) { if (value == null) { throw new NullPointerException(); } - ensureKeysIsMutable(); - keys_.set(index, value); + + etag_ = value; onChanged(); return this; } /** *
-       * Required. The keys to get.
+       * The entity tag which represents the specific version of data.
+       * ETag format is defined by the corresponding data store.
        * 
* - * repeated string keys = 2; - * @param value The keys to add. + * string etag = 3; * @return This builder for chaining. */ - public Builder addKeys( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - ensureKeysIsMutable(); - keys_.add(value); + public Builder clearEtag() { + + etag_ = getDefaultInstance().getEtag(); onChanged(); return this; } /** *
-       * Required. The keys to get.
+       * The entity tag which represents the specific version of data.
+       * ETag format is defined by the corresponding data store.
        * 
* - * repeated string keys = 2; - * @param values The keys to add. + * string etag = 3; + * @param value The bytes for etag to set. * @return This builder for chaining. */ - public Builder addAllKeys( - java.lang.Iterable values) { - ensureKeysIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, keys_); + public Builder setEtagBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + etag_ = value; onChanged(); return this; } + + private java.lang.Object error_ = ""; /** *
-       * Required. The keys to get.
+       * The error that was returned from the state store in case of a failed get operation.
        * 
* - * repeated string keys = 2; - * @return This builder for chaining. + * string error = 4; + * @return The error. */ - public Builder clearKeys() { - keys_ = com.google.protobuf.LazyStringArrayList.EMPTY; - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; + public java.lang.String getError() { + java.lang.Object ref = error_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + error_ = s; + return s; + } else { + return (java.lang.String) ref; + } } /** *
-       * Required. The keys to get.
+       * The error that was returned from the state store in case of a failed get operation.
        * 
* - * repeated string keys = 2; - * @param value The bytes of the keys to add. - * @return This builder for chaining. + * string error = 4; + * @return The bytes for error. */ - public Builder addKeysBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - ensureKeysIsMutable(); - keys_.add(value); - onChanged(); - return this; + public com.google.protobuf.ByteString + getErrorBytes() { + java.lang.Object ref = error_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + error_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } - - private int parallelism_ ; /** *
-       * (optional) The number of parallel operations executed on the state store for a get operation.
+       * The error that was returned from the state store in case of a failed get operation.
        * 
* - * int32 parallelism = 3; - * @return The parallelism. + * string error = 4; + * @param value The error to set. + * @return This builder for chaining. */ - @java.lang.Override - public int getParallelism() { - return parallelism_; + public Builder setError( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + error_ = value; + onChanged(); + return this; } /** *
-       * (optional) The number of parallel operations executed on the state store for a get operation.
+       * The error that was returned from the state store in case of a failed get operation.
        * 
* - * int32 parallelism = 3; - * @param value The parallelism to set. + * string error = 4; * @return This builder for chaining. */ - public Builder setParallelism(int value) { + public Builder clearError() { - parallelism_ = value; + error_ = getDefaultInstance().getError(); onChanged(); return this; } /** *
-       * (optional) The number of parallel operations executed on the state store for a get operation.
+       * The error that was returned from the state store in case of a failed get operation.
        * 
* - * int32 parallelism = 3; + * string error = 4; + * @param value The bytes for error to set. * @return This builder for chaining. */ - public Builder clearParallelism() { + public Builder setErrorBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); - parallelism_ = 0; + error_ = value; onChanged(); return this; } @@ -24578,10 +33382,10 @@ public int getMetadataCount() { } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * The metadata which will be sent to app.
        * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 5; */ @java.lang.Override @@ -24600,10 +33404,10 @@ public java.util.Map getMetadata() { } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * The metadata which will be sent to app.
        * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 5; */ @java.lang.Override @@ -24612,10 +33416,10 @@ public java.util.Map getMetadataMap() { } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * The metadata which will be sent to app.
        * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 5; */ @java.lang.Override @@ -24629,10 +33433,10 @@ public java.lang.String getMetadataOrDefault( } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * The metadata which will be sent to app.
        * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 5; */ @java.lang.Override @@ -24654,10 +33458,10 @@ public Builder clearMetadata() { } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * The metadata which will be sent to app.
        * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 5; */ public Builder removeMetadata( @@ -24677,10 +33481,10 @@ public Builder removeMetadata( } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * The metadata which will be sent to app.
        * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 5; */ public Builder putMetadata( java.lang.String key, @@ -24693,10 +33497,10 @@ public Builder putMetadata( } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * The metadata which will be sent to app.
        * 
* - * map<string, string> metadata = 4; + * map<string, string> metadata = 5; */ public Builder putAllMetadata( @@ -24718,119 +33522,162 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.GetBulkStateRequest) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.BulkStateItem) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.GetBulkStateRequest) - private static final spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.BulkStateItem) + private static final spec.proto.runtime.v1.RuntimeProto.BulkStateItem DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.BulkStateItem(); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public GetBulkStateRequest parsePartialFrom( + public BulkStateItem parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new GetBulkStateRequest(input, extensionRegistry); + return new BulkStateItem(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetBulkStateRequest getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.BulkStateItem getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface GetBulkStateResponseOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.GetBulkStateResponse) + public interface GetStateResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.GetStateResponse) com.google.protobuf.MessageOrBuilder { /** *
-     * The list of items containing the keys to get values for.
+     * The byte array data
      * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * bytes data = 1; + * @return The data. */ - java.util.List - getItemsList(); + com.google.protobuf.ByteString getData(); + /** *
-     * The list of items containing the keys to get values for.
+     * The entity tag which represents the specific version of data.
+     * ETag format is defined by the corresponding data store.
      * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * string etag = 2; + * @return The etag. */ - spec.proto.runtime.v1.RuntimeProto.BulkStateItem getItems(int index); + java.lang.String getEtag(); /** *
-     * The list of items containing the keys to get values for.
+     * The entity tag which represents the specific version of data.
+     * ETag format is defined by the corresponding data store.
      * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * string etag = 2; + * @return The bytes for etag. */ - int getItemsCount(); + com.google.protobuf.ByteString + getEtagBytes(); + /** *
-     * The list of items containing the keys to get values for.
+     * The metadata which will be sent to app.
      * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * map<string, string> metadata = 3; */ - java.util.List - getItemsOrBuilderList(); + int getMetadataCount(); /** *
-     * The list of items containing the keys to get values for.
+     * The metadata which will be sent to app.
      * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * map<string, string> metadata = 3; */ - spec.proto.runtime.v1.RuntimeProto.BulkStateItemOrBuilder getItemsOrBuilder( - int index); + boolean containsMetadata( + java.lang.String key); + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getMetadata(); + /** + *
+     * The metadata which will be sent to app.
+     * 
+ * + * map<string, string> metadata = 3; + */ + java.util.Map + getMetadataMap(); + /** + *
+     * The metadata which will be sent to app.
+     * 
+ * + * map<string, string> metadata = 3; + */ + + java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue); + /** + *
+     * The metadata which will be sent to app.
+     * 
+ * + * map<string, string> metadata = 3; + */ + + java.lang.String getMetadataOrThrow( + java.lang.String key); } /** *
-   * GetBulkStateResponse is the response conveying the list of state values.
+   * GetStateResponse is the response conveying the state value and etag.
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.GetBulkStateResponse} + * Protobuf type {@code spec.proto.runtime.v1.GetStateResponse} */ - public static final class GetBulkStateResponse extends + public static final class GetStateResponse extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.GetBulkStateResponse) - GetBulkStateResponseOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.GetStateResponse) + GetStateResponseOrBuilder { private static final long serialVersionUID = 0L; - // Use GetBulkStateResponse.newBuilder() to construct. - private GetBulkStateResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use GetStateResponse.newBuilder() to construct. + private GetStateResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private GetBulkStateResponse() { - items_ = java.util.Collections.emptyList(); + private GetStateResponse() { + data_ = com.google.protobuf.ByteString.EMPTY; + etag_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new GetBulkStateResponse(); + return new GetStateResponse(); } @java.lang.Override @@ -24838,7 +33685,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private GetBulkStateResponse( + private GetStateResponse( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -24858,12 +33705,27 @@ private GetBulkStateResponse( done = true; break; case 10: { + + data_ = input.readBytes(); + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + etag_ = s; + break; + } + case 26: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { - items_ = new java.util.ArrayList(); + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); mutable_bitField0_ |= 0x00000001; } - items_.add( - input.readMessage(spec.proto.runtime.v1.RuntimeProto.BulkStateItem.parser(), extensionRegistry)); + com.google.protobuf.MapEntry + metadata__ = input.readMessage( + MetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + metadata_.getMutableMap().put( + metadata__.getKey(), metadata__.getValue()); break; } default: { @@ -24881,84 +33743,193 @@ private GetBulkStateResponse( throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - items_ = java.util.Collections.unmodifiableList(items_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateResponse_descriptor; - } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateResponse_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 3: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.GetStateResponse.class, spec.proto.runtime.v1.RuntimeProto.GetStateResponse.Builder.class); + } + + public static final int DATA_FIELD_NUMBER = 1; + private com.google.protobuf.ByteString data_; + /** + *
+     * The byte array data
+     * 
+ * + * bytes data = 1; + * @return The data. + */ + @java.lang.Override + public com.google.protobuf.ByteString getData() { + return data_; + } + + public static final int ETAG_FIELD_NUMBER = 2; + private volatile java.lang.Object etag_; + /** + *
+     * The entity tag which represents the specific version of data.
+     * ETag format is defined by the corresponding data store.
+     * 
+ * + * string etag = 2; + * @return The etag. + */ + @java.lang.Override + public java.lang.String getEtag() { + java.lang.Object ref = etag_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + etag_ = s; + return s; + } + } + /** + *
+     * The entity tag which represents the specific version of data.
+     * ETag format is defined by the corresponding data store.
+     * 
+ * + * string etag = 2; + * @return The bytes for etag. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getEtagBytes() { + java.lang.Object ref = etag_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + etag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateResponse_fieldAccessorTable - .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse.class, spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse.Builder.class); + public static final int METADATA_FIELD_NUMBER = 3; + private static final class MetadataDefaultEntryHolder { + static final com.google.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateResponse_MetadataEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + return metadata_; } - public static final int ITEMS_FIELD_NUMBER = 1; - private java.util.List items_; + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); + } /** *
-     * The list of items containing the keys to get values for.
+     * The metadata which will be sent to app.
      * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * map<string, string> metadata = 3; */ + @java.lang.Override - public java.util.List getItemsList() { - return items_; + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); } /** - *
-     * The list of items containing the keys to get values for.
-     * 
- * - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * Use {@link #getMetadataMap()} instead. */ @java.lang.Override - public java.util.List - getItemsOrBuilderList() { - return items_; + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); } /** *
-     * The list of items containing the keys to get values for.
+     * The metadata which will be sent to app.
      * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * map<string, string> metadata = 3; */ @java.lang.Override - public int getItemsCount() { - return items_.size(); + + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); } /** *
-     * The list of items containing the keys to get values for.
+     * The metadata which will be sent to app.
      * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * map<string, string> metadata = 3; */ @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.BulkStateItem getItems(int index) { - return items_.get(index); + + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
-     * The list of items containing the keys to get values for.
+     * The metadata which will be sent to app.
      * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * map<string, string> metadata = 3; */ @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.BulkStateItemOrBuilder getItemsOrBuilder( - int index) { - return items_.get(index); + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); } private byte memoizedIsInitialized = -1; @@ -24975,9 +33946,18 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - for (int i = 0; i < items_.size(); i++) { - output.writeMessage(1, items_.get(i)); + if (!data_.isEmpty()) { + output.writeBytes(1, data_); } + if (!getEtagBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, etag_); + } + com.google.protobuf.GeneratedMessageV3 + .serializeStringMapTo( + output, + internalGetMetadata(), + MetadataDefaultEntryHolder.defaultEntry, + 3); unknownFields.writeTo(output); } @@ -24987,9 +33967,22 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - for (int i = 0; i < items_.size(); i++) { + if (!data_.isEmpty()) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, items_.get(i)); + .computeBytesSize(1, data_); + } + if (!getEtagBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, etag_); + } + for (java.util.Map.Entry entry + : internalGetMetadata().getMap().entrySet()) { + com.google.protobuf.MapEntry + metadata__ = MetadataDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, metadata__); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -25001,13 +33994,17 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.GetStateResponse)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse other = (spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse) obj; + spec.proto.runtime.v1.RuntimeProto.GetStateResponse other = (spec.proto.runtime.v1.RuntimeProto.GetStateResponse) obj; - if (!getItemsList() - .equals(other.getItemsList())) return false; + if (!getData() + .equals(other.getData())) return false; + if (!getEtag() + .equals(other.getEtag())) return false; + if (!internalGetMetadata().equals( + other.internalGetMetadata())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -25019,78 +34016,82 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (getItemsCount() > 0) { - hash = (37 * hash) + ITEMS_FIELD_NUMBER; - hash = (53 * hash) + getItemsList().hashCode(); + hash = (37 * hash) + DATA_FIELD_NUMBER; + hash = (53 * hash) + getData().hashCode(); + hash = (37 * hash) + ETAG_FIELD_NUMBER; + hash = (53 * hash) + getEtag().hashCode(); + if (!internalGetMetadata().getMap().isEmpty()) { + hash = (37 * hash) + METADATA_FIELD_NUMBER; + hash = (53 * hash) + internalGetMetadata().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -25103,7 +34104,7 @@ public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.GetStateResponse prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -25120,29 +34121,51 @@ protected Builder newBuilderForType( } /** *
-     * GetBulkStateResponse is the response conveying the list of state values.
+     * GetStateResponse is the response conveying the state value and etag.
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.GetBulkStateResponse} + * Protobuf type {@code spec.proto.runtime.v1.GetStateResponse} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.GetBulkStateResponse) - spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponseOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.GetStateResponse) + spec.proto.runtime.v1.RuntimeProto.GetStateResponseOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateResponse_descriptor; } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 3: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMutableMapField( + int number) { + switch (number) { + case 3: + return internalGetMutableMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateResponse_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse.class, spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse.Builder.class); + spec.proto.runtime.v1.RuntimeProto.GetStateResponse.class, spec.proto.runtime.v1.RuntimeProto.GetStateResponse.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.GetStateResponse.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -25155,35 +34178,33 @@ private Builder( private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getItemsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (itemsBuilder_ == null) { - items_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - itemsBuilder_.clear(); - } + data_ = com.google.protobuf.ByteString.EMPTY; + + etag_ = ""; + + internalGetMutableMetadata().clear(); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetBulkStateResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateResponse_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.GetStateResponse getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.GetStateResponse.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse build() { - spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.GetStateResponse build() { + spec.proto.runtime.v1.RuntimeProto.GetStateResponse result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -25191,18 +34212,13 @@ public spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse buildPartial() { - spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse result = new spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse(this); + public spec.proto.runtime.v1.RuntimeProto.GetStateResponse buildPartial() { + spec.proto.runtime.v1.RuntimeProto.GetStateResponse result = new spec.proto.runtime.v1.RuntimeProto.GetStateResponse(this); int from_bitField0_ = bitField0_; - if (itemsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - items_ = java.util.Collections.unmodifiableList(items_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.items_ = items_; - } else { - result.items_ = itemsBuilder_.build(); - } + result.data_ = data_; + result.etag_ = etag_; + result.metadata_ = internalGetMetadata(); + result.metadata_.makeImmutable(); onBuilt(); return result; } @@ -25241,42 +34257,25 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.GetStateResponse) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.GetStateResponse)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse other) { - if (other == spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse.getDefaultInstance()) return this; - if (itemsBuilder_ == null) { - if (!other.items_.isEmpty()) { - if (items_.isEmpty()) { - items_ = other.items_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureItemsIsMutable(); - items_.addAll(other.items_); - } - onChanged(); - } - } else { - if (!other.items_.isEmpty()) { - if (itemsBuilder_.isEmpty()) { - itemsBuilder_.dispose(); - itemsBuilder_ = null; - items_ = other.items_; - bitField0_ = (bitField0_ & ~0x00000001); - itemsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getItemsFieldBuilder() : null; - } else { - itemsBuilder_.addAllMessages(other.items_); - } - } + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetStateResponse other) { + if (other == spec.proto.runtime.v1.RuntimeProto.GetStateResponse.getDefaultInstance()) return this; + if (other.getData() != com.google.protobuf.ByteString.EMPTY) { + setData(other.getData()); + } + if (!other.getEtag().isEmpty()) { + etag_ = other.etag_; + onChanged(); } + internalGetMutableMetadata().mergeFrom( + other.internalGetMetadata()); this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -25292,11 +34291,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.GetStateResponse parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.GetStateResponse) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -25307,316 +34306,307 @@ public Builder mergeFrom( } private int bitField0_; - private java.util.List items_ = - java.util.Collections.emptyList(); - private void ensureItemsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - items_ = new java.util.ArrayList(items_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.BulkStateItem, spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder, spec.proto.runtime.v1.RuntimeProto.BulkStateItemOrBuilder> itemsBuilder_; - + private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; /** *
-       * The list of items containing the keys to get values for.
+       * The byte array data
        * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * bytes data = 1; + * @return The data. */ - public java.util.List getItemsList() { - if (itemsBuilder_ == null) { - return java.util.Collections.unmodifiableList(items_); - } else { - return itemsBuilder_.getMessageList(); - } + @java.lang.Override + public com.google.protobuf.ByteString getData() { + return data_; } /** *
-       * The list of items containing the keys to get values for.
+       * The byte array data
        * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * bytes data = 1; + * @param value The data to set. + * @return This builder for chaining. */ - public int getItemsCount() { - if (itemsBuilder_ == null) { - return items_.size(); - } else { - return itemsBuilder_.getCount(); - } + public Builder setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + + data_ = value; + onChanged(); + return this; } /** *
-       * The list of items containing the keys to get values for.
+       * The byte array data
        * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * bytes data = 1; + * @return This builder for chaining. */ - public spec.proto.runtime.v1.RuntimeProto.BulkStateItem getItems(int index) { - if (itemsBuilder_ == null) { - return items_.get(index); - } else { - return itemsBuilder_.getMessage(index); - } + public Builder clearData() { + + data_ = getDefaultInstance().getData(); + onChanged(); + return this; } + + private java.lang.Object etag_ = ""; /** *
-       * The list of items containing the keys to get values for.
+       * The entity tag which represents the specific version of data.
+       * ETag format is defined by the corresponding data store.
        * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * string etag = 2; + * @return The etag. */ - public Builder setItems( - int index, spec.proto.runtime.v1.RuntimeProto.BulkStateItem value) { - if (itemsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureItemsIsMutable(); - items_.set(index, value); - onChanged(); + public java.lang.String getEtag() { + java.lang.Object ref = etag_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + etag_ = s; + return s; } else { - itemsBuilder_.setMessage(index, value); + return (java.lang.String) ref; } - return this; } /** *
-       * The list of items containing the keys to get values for.
+       * The entity tag which represents the specific version of data.
+       * ETag format is defined by the corresponding data store.
        * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * string etag = 2; + * @return The bytes for etag. */ - public Builder setItems( - int index, spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder builderForValue) { - if (itemsBuilder_ == null) { - ensureItemsIsMutable(); - items_.set(index, builderForValue.build()); - onChanged(); + public com.google.protobuf.ByteString + getEtagBytes() { + java.lang.Object ref = etag_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + etag_ = b; + return b; } else { - itemsBuilder_.setMessage(index, builderForValue.build()); + return (com.google.protobuf.ByteString) ref; } - return this; } /** *
-       * The list of items containing the keys to get values for.
+       * The entity tag which represents the specific version of data.
+       * ETag format is defined by the corresponding data store.
        * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * string etag = 2; + * @param value The etag to set. + * @return This builder for chaining. */ - public Builder addItems(spec.proto.runtime.v1.RuntimeProto.BulkStateItem value) { - if (itemsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureItemsIsMutable(); - items_.add(value); - onChanged(); - } else { - itemsBuilder_.addMessage(value); - } + public Builder setEtag( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + etag_ = value; + onChanged(); return this; } /** *
-       * The list of items containing the keys to get values for.
+       * The entity tag which represents the specific version of data.
+       * ETag format is defined by the corresponding data store.
        * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * string etag = 2; + * @return This builder for chaining. */ - public Builder addItems( - int index, spec.proto.runtime.v1.RuntimeProto.BulkStateItem value) { - if (itemsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureItemsIsMutable(); - items_.add(index, value); - onChanged(); - } else { - itemsBuilder_.addMessage(index, value); - } + public Builder clearEtag() { + + etag_ = getDefaultInstance().getEtag(); + onChanged(); return this; } /** *
-       * The list of items containing the keys to get values for.
+       * The entity tag which represents the specific version of data.
+       * ETag format is defined by the corresponding data store.
        * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * string etag = 2; + * @param value The bytes for etag to set. + * @return This builder for chaining. */ - public Builder addItems( - spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder builderForValue) { - if (itemsBuilder_ == null) { - ensureItemsIsMutable(); - items_.add(builderForValue.build()); - onChanged(); - } else { - itemsBuilder_.addMessage(builderForValue.build()); + public Builder setEtagBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + etag_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); } - return this; + return metadata_; } - /** - *
-       * The list of items containing the keys to get values for.
-       * 
- * - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; - */ - public Builder addItems( - int index, spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder builderForValue) { - if (itemsBuilder_ == null) { - ensureItemsIsMutable(); - items_.add(index, builderForValue.build()); - onChanged(); - } else { - itemsBuilder_.addMessage(index, builderForValue.build()); + private com.google.protobuf.MapField + internalGetMutableMetadata() { + onChanged();; + if (metadata_ == null) { + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); } - return this; + if (!metadata_.isMutable()) { + metadata_ = metadata_.copy(); + } + return metadata_; + } + + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); } /** *
-       * The list of items containing the keys to get values for.
+       * The metadata which will be sent to app.
        * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * map<string, string> metadata = 3; */ - public Builder addAllItems( - java.lang.Iterable values) { - if (itemsBuilder_ == null) { - ensureItemsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, items_); - onChanged(); - } else { - itemsBuilder_.addAllMessages(values); - } - return this; + + @java.lang.Override + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); } /** - *
-       * The list of items containing the keys to get values for.
-       * 
- * - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * Use {@link #getMetadataMap()} instead. */ - public Builder clearItems() { - if (itemsBuilder_ == null) { - items_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - } else { - itemsBuilder_.clear(); - } - return this; + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); } /** *
-       * The list of items containing the keys to get values for.
+       * The metadata which will be sent to app.
        * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * map<string, string> metadata = 3; */ - public Builder removeItems(int index) { - if (itemsBuilder_ == null) { - ensureItemsIsMutable(); - items_.remove(index); - onChanged(); - } else { - itemsBuilder_.remove(index); - } - return this; + @java.lang.Override + + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); } /** *
-       * The list of items containing the keys to get values for.
+       * The metadata which will be sent to app.
        * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * map<string, string> metadata = 3; */ - public spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder getItemsBuilder( - int index) { - return getItemsFieldBuilder().getBuilder(index); + @java.lang.Override + + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
-       * The list of items containing the keys to get values for.
+       * The metadata which will be sent to app.
        * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * map<string, string> metadata = 3; */ - public spec.proto.runtime.v1.RuntimeProto.BulkStateItemOrBuilder getItemsOrBuilder( - int index) { - if (itemsBuilder_ == null) { - return items_.get(index); } else { - return itemsBuilder_.getMessageOrBuilder(index); + @java.lang.Override + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); } + return map.get(key); + } + + public Builder clearMetadata() { + internalGetMutableMetadata().getMutableMap() + .clear(); + return this; } /** *
-       * The list of items containing the keys to get values for.
+       * The metadata which will be sent to app.
        * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * map<string, string> metadata = 3; */ - public java.util.List - getItemsOrBuilderList() { - if (itemsBuilder_ != null) { - return itemsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(items_); - } + + public Builder removeMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .remove(key); + return this; } /** - *
-       * The list of items containing the keys to get values for.
-       * 
- * - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * Use alternate mutation accessors instead. */ - public spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder addItemsBuilder() { - return getItemsFieldBuilder().addBuilder( - spec.proto.runtime.v1.RuntimeProto.BulkStateItem.getDefaultInstance()); + @java.lang.Deprecated + public java.util.Map + getMutableMetadata() { + return internalGetMutableMetadata().getMutableMap(); } /** *
-       * The list of items containing the keys to get values for.
+       * The metadata which will be sent to app.
        * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * map<string, string> metadata = 3; */ - public spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder addItemsBuilder( - int index) { - return getItemsFieldBuilder().addBuilder( - index, spec.proto.runtime.v1.RuntimeProto.BulkStateItem.getDefaultInstance()); + public Builder putMetadata( + java.lang.String key, + java.lang.String value) { + if (key == null) { throw new java.lang.NullPointerException(); } + if (value == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .put(key, value); + return this; } /** *
-       * The list of items containing the keys to get values for.
+       * The metadata which will be sent to app.
        * 
* - * repeated .spec.proto.runtime.v1.BulkStateItem items = 1; + * map<string, string> metadata = 3; */ - public java.util.List - getItemsBuilderList() { - return getItemsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.BulkStateItem, spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder, spec.proto.runtime.v1.RuntimeProto.BulkStateItemOrBuilder> - getItemsFieldBuilder() { - if (itemsBuilder_ == null) { - itemsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.BulkStateItem, spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder, spec.proto.runtime.v1.RuntimeProto.BulkStateItemOrBuilder>( - items_, - ((bitField0_ & 0x00000001) != 0), - getParentForChildren(), - isClean()); - items_ = null; - } - return itemsBuilder_; + + public Builder putAllMetadata( + java.util.Map values) { + internalGetMutableMetadata().getMutableMap() + .putAll(values); + return this; } @java.lang.Override public final Builder setUnknownFields( @@ -25631,65 +34621,85 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.GetBulkStateResponse) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.GetStateResponse) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.GetBulkStateResponse) - private static final spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.GetStateResponse) + private static final spec.proto.runtime.v1.RuntimeProto.GetStateResponse DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.GetStateResponse(); } - public static spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public GetBulkStateResponse parsePartialFrom( + public GetStateResponse parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new GetBulkStateResponse(input, extensionRegistry); + return new GetStateResponse(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetBulkStateResponse getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.GetStateResponse getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface BulkStateItemOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.BulkStateItem) + public interface DeleteStateRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.DeleteStateRequest) com.google.protobuf.MessageOrBuilder { /** *
-     * state item key
+     * Required. The name of state store.
      * 
* - * string key = 1; + * string store_name = 1; + * @return The storeName. + */ + java.lang.String getStoreName(); + /** + *
+     * Required. The name of state store.
+     * 
+ * + * string store_name = 1; + * @return The bytes for storeName. + */ + com.google.protobuf.ByteString + getStoreNameBytes(); + + /** + *
+     * Required. The key of the desired state
+     * 
+ * + * string key = 2; * @return The key. */ java.lang.String getKey(); /** *
-     * state item key
+     * Required. The key of the desired state
      * 
* - * string key = 1; + * string key = 2; * @return The bytes for key. */ com.google.protobuf.ByteString @@ -25697,59 +34707,67 @@ public interface BulkStateItemOrBuilder extends /** *
-     * The byte array data
+     * (optional) The entity tag which represents the specific version of data.
+     * The exact ETag format is defined by the corresponding data store.
      * 
* - * bytes data = 2; - * @return The data. + * .spec.proto.runtime.v1.Etag etag = 3; + * @return Whether the etag field is set. */ - com.google.protobuf.ByteString getData(); - + boolean hasEtag(); /** *
-     * The entity tag which represents the specific version of data.
-     * ETag format is defined by the corresponding data store.
+     * (optional) The entity tag which represents the specific version of data.
+     * The exact ETag format is defined by the corresponding data store.
      * 
* - * string etag = 3; + * .spec.proto.runtime.v1.Etag etag = 3; * @return The etag. */ - java.lang.String getEtag(); + spec.proto.runtime.v1.RuntimeProto.Etag getEtag(); /** *
-     * The entity tag which represents the specific version of data.
-     * ETag format is defined by the corresponding data store.
+     * (optional) The entity tag which represents the specific version of data.
+     * The exact ETag format is defined by the corresponding data store.
      * 
* - * string etag = 3; - * @return The bytes for etag. + * .spec.proto.runtime.v1.Etag etag = 3; */ - com.google.protobuf.ByteString - getEtagBytes(); + spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder getEtagOrBuilder(); /** *
-     * The error that was returned from the state store in case of a failed get operation.
+     * (optional) State operation options which includes concurrency/
+     * consistency/retry_policy.
      * 
* - * string error = 4; - * @return The error. + * .spec.proto.runtime.v1.StateOptions options = 4; + * @return Whether the options field is set. */ - java.lang.String getError(); + boolean hasOptions(); /** *
-     * The error that was returned from the state store in case of a failed get operation.
+     * (optional) State operation options which includes concurrency/
+     * consistency/retry_policy.
      * 
* - * string error = 4; - * @return The bytes for error. + * .spec.proto.runtime.v1.StateOptions options = 4; + * @return The options. */ - com.google.protobuf.ByteString - getErrorBytes(); + spec.proto.runtime.v1.RuntimeProto.StateOptions getOptions(); + /** + *
+     * (optional) State operation options which includes concurrency/
+     * consistency/retry_policy.
+     * 
+ * + * .spec.proto.runtime.v1.StateOptions options = 4; + */ + spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder getOptionsOrBuilder(); /** *
-     * The metadata which will be sent to app.
+     * (optional) The metadata which will be sent to state store components.
      * 
* * map<string, string> metadata = 5; @@ -25757,7 +34775,7 @@ public interface BulkStateItemOrBuilder extends int getMetadataCount(); /** *
-     * The metadata which will be sent to app.
+     * (optional) The metadata which will be sent to state store components.
      * 
* * map<string, string> metadata = 5; @@ -25772,7 +34790,7 @@ boolean containsMetadata( getMetadata(); /** *
-     * The metadata which will be sent to app.
+     * (optional) The metadata which will be sent to state store components.
      * 
* * map<string, string> metadata = 5; @@ -25781,7 +34799,7 @@ boolean containsMetadata( getMetadataMap(); /** *
-     * The metadata which will be sent to app.
+     * (optional) The metadata which will be sent to state store components.
      * 
* * map<string, string> metadata = 5; @@ -25792,7 +34810,7 @@ java.lang.String getMetadataOrDefault( java.lang.String defaultValue); /** *
-     * The metadata which will be sent to app.
+     * (optional) The metadata which will be sent to state store components.
      * 
* * map<string, string> metadata = 5; @@ -25803,33 +34821,30 @@ java.lang.String getMetadataOrThrow( } /** *
-   * BulkStateItem is the response item for a bulk get operation.
-   * Return values include the item key, data and etag.
+   * DeleteStateRequest is the message to delete key-value states in the specific state store.
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.BulkStateItem} + * Protobuf type {@code spec.proto.runtime.v1.DeleteStateRequest} */ - public static final class BulkStateItem extends + public static final class DeleteStateRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.BulkStateItem) - BulkStateItemOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.DeleteStateRequest) + DeleteStateRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use BulkStateItem.newBuilder() to construct. - private BulkStateItem(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use DeleteStateRequest.newBuilder() to construct. + private DeleteStateRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private BulkStateItem() { + private DeleteStateRequest() { + storeName_ = ""; key_ = ""; - data_ = com.google.protobuf.ByteString.EMPTY; - etag_ = ""; - error_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new BulkStateItem(); + return new DeleteStateRequest(); } @java.lang.Override @@ -25837,7 +34852,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private BulkStateItem( + private DeleteStateRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -25859,24 +34874,39 @@ private BulkStateItem( case 10: { java.lang.String s = input.readStringRequireUtf8(); - key_ = s; + storeName_ = s; break; } case 18: { + java.lang.String s = input.readStringRequireUtf8(); - data_ = input.readBytes(); + key_ = s; break; } case 26: { - java.lang.String s = input.readStringRequireUtf8(); + spec.proto.runtime.v1.RuntimeProto.Etag.Builder subBuilder = null; + if (etag_ != null) { + subBuilder = etag_.toBuilder(); + } + etag_ = input.readMessage(spec.proto.runtime.v1.RuntimeProto.Etag.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(etag_); + etag_ = subBuilder.buildPartial(); + } - etag_ = s; break; } case 34: { - java.lang.String s = input.readStringRequireUtf8(); + spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder subBuilder = null; + if (options_ != null) { + subBuilder = options_.toBuilder(); + } + options_ = input.readMessage(spec.proto.runtime.v1.RuntimeProto.StateOptions.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(options_); + options_ = subBuilder.buildPartial(); + } - error_ = s; break; } case 42: { @@ -25913,7 +34943,7 @@ private BulkStateItem( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_BulkStateItem_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteStateRequest_descriptor; } @SuppressWarnings({"rawtypes"}) @@ -25931,164 +34961,183 @@ protected com.google.protobuf.MapField internalGetMapField( @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_BulkStateItem_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteStateRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.BulkStateItem.class, spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder.class); + spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest.class, spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest.Builder.class); } - public static final int KEY_FIELD_NUMBER = 1; - private volatile java.lang.Object key_; + public static final int STORE_NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object storeName_; /** *
-     * state item key
+     * Required. The name of state store.
      * 
* - * string key = 1; - * @return The key. + * string store_name = 1; + * @return The storeName. */ @java.lang.Override - public java.lang.String getKey() { - java.lang.Object ref = key_; + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - key_ = s; + storeName_ = s; return s; } } /** *
-     * state item key
+     * Required. The name of state store.
      * 
* - * string key = 1; - * @return The bytes for key. + * string store_name = 1; + * @return The bytes for storeName. */ @java.lang.Override public com.google.protobuf.ByteString - getKeyBytes() { - java.lang.Object ref = key_; + getStoreNameBytes() { + java.lang.Object ref = storeName_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - key_ = b; + storeName_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } - public static final int DATA_FIELD_NUMBER = 2; - private com.google.protobuf.ByteString data_; - /** - *
-     * The byte array data
-     * 
- * - * bytes data = 2; - * @return The data. - */ - @java.lang.Override - public com.google.protobuf.ByteString getData() { - return data_; - } - - public static final int ETAG_FIELD_NUMBER = 3; - private volatile java.lang.Object etag_; + public static final int KEY_FIELD_NUMBER = 2; + private volatile java.lang.Object key_; /** *
-     * The entity tag which represents the specific version of data.
-     * ETag format is defined by the corresponding data store.
+     * Required. The key of the desired state
      * 
* - * string etag = 3; - * @return The etag. + * string key = 2; + * @return The key. */ @java.lang.Override - public java.lang.String getEtag() { - java.lang.Object ref = etag_; + public java.lang.String getKey() { + java.lang.Object ref = key_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - etag_ = s; + key_ = s; return s; } } /** *
-     * The entity tag which represents the specific version of data.
-     * ETag format is defined by the corresponding data store.
+     * Required. The key of the desired state
      * 
* - * string etag = 3; - * @return The bytes for etag. + * string key = 2; + * @return The bytes for key. */ @java.lang.Override public com.google.protobuf.ByteString - getEtagBytes() { - java.lang.Object ref = etag_; + getKeyBytes() { + java.lang.Object ref = key_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - etag_ = b; + key_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } - - public static final int ERROR_FIELD_NUMBER = 4; - private volatile java.lang.Object error_; + + public static final int ETAG_FIELD_NUMBER = 3; + private spec.proto.runtime.v1.RuntimeProto.Etag etag_; + /** + *
+     * (optional) The entity tag which represents the specific version of data.
+     * The exact ETag format is defined by the corresponding data store.
+     * 
+ * + * .spec.proto.runtime.v1.Etag etag = 3; + * @return Whether the etag field is set. + */ + @java.lang.Override + public boolean hasEtag() { + return etag_ != null; + } + /** + *
+     * (optional) The entity tag which represents the specific version of data.
+     * The exact ETag format is defined by the corresponding data store.
+     * 
+ * + * .spec.proto.runtime.v1.Etag etag = 3; + * @return The etag. + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.Etag getEtag() { + return etag_ == null ? spec.proto.runtime.v1.RuntimeProto.Etag.getDefaultInstance() : etag_; + } + /** + *
+     * (optional) The entity tag which represents the specific version of data.
+     * The exact ETag format is defined by the corresponding data store.
+     * 
+ * + * .spec.proto.runtime.v1.Etag etag = 3; + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder getEtagOrBuilder() { + return getEtag(); + } + + public static final int OPTIONS_FIELD_NUMBER = 4; + private spec.proto.runtime.v1.RuntimeProto.StateOptions options_; + /** + *
+     * (optional) State operation options which includes concurrency/
+     * consistency/retry_policy.
+     * 
+ * + * .spec.proto.runtime.v1.StateOptions options = 4; + * @return Whether the options field is set. + */ + @java.lang.Override + public boolean hasOptions() { + return options_ != null; + } /** *
-     * The error that was returned from the state store in case of a failed get operation.
+     * (optional) State operation options which includes concurrency/
+     * consistency/retry_policy.
      * 
* - * string error = 4; - * @return The error. + * .spec.proto.runtime.v1.StateOptions options = 4; + * @return The options. */ @java.lang.Override - public java.lang.String getError() { - java.lang.Object ref = error_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - error_ = s; - return s; - } + public spec.proto.runtime.v1.RuntimeProto.StateOptions getOptions() { + return options_ == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.getDefaultInstance() : options_; } /** *
-     * The error that was returned from the state store in case of a failed get operation.
+     * (optional) State operation options which includes concurrency/
+     * consistency/retry_policy.
      * 
* - * string error = 4; - * @return The bytes for error. + * .spec.proto.runtime.v1.StateOptions options = 4; */ @java.lang.Override - public com.google.protobuf.ByteString - getErrorBytes() { - java.lang.Object ref = error_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - error_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + public spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder getOptionsOrBuilder() { + return getOptions(); } public static final int METADATA_FIELD_NUMBER = 5; @@ -26097,7 +35146,7 @@ private static final class MetadataDefaultEntryHolder { java.lang.String, java.lang.String> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( - spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_BulkStateItem_MetadataEntry_descriptor, + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteStateRequest_MetadataEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.STRING, @@ -26119,7 +35168,7 @@ public int getMetadataCount() { } /** *
-     * The metadata which will be sent to app.
+     * (optional) The metadata which will be sent to state store components.
      * 
* * map<string, string> metadata = 5; @@ -26141,7 +35190,7 @@ public java.util.Map getMetadata() { } /** *
-     * The metadata which will be sent to app.
+     * (optional) The metadata which will be sent to state store components.
      * 
* * map<string, string> metadata = 5; @@ -26153,7 +35202,7 @@ public java.util.Map getMetadataMap() { } /** *
-     * The metadata which will be sent to app.
+     * (optional) The metadata which will be sent to state store components.
      * 
* * map<string, string> metadata = 5; @@ -26170,7 +35219,7 @@ public java.lang.String getMetadataOrDefault( } /** *
-     * The metadata which will be sent to app.
+     * (optional) The metadata which will be sent to state store components.
      * 
* * map<string, string> metadata = 5; @@ -26202,17 +35251,17 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!getKeyBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, key_); + if (!getStoreNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); } - if (!data_.isEmpty()) { - output.writeBytes(2, data_); + if (!getKeyBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, key_); } - if (!getEtagBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 3, etag_); + if (etag_ != null) { + output.writeMessage(3, getEtag()); } - if (!getErrorBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 4, error_); + if (options_ != null) { + output.writeMessage(4, getOptions()); } com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( @@ -26229,18 +35278,19 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; + if (!getStoreNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); + } if (!getKeyBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, key_); + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, key_); } - if (!data_.isEmpty()) { + if (etag_ != null) { size += com.google.protobuf.CodedOutputStream - .computeBytesSize(2, data_); - } - if (!getEtagBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, etag_); + .computeMessageSize(3, getEtag()); } - if (!getErrorBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, error_); + if (options_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, getOptions()); } for (java.util.Map.Entry entry : internalGetMetadata().getMap().entrySet()) { @@ -26262,19 +35312,25 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.BulkStateItem)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.BulkStateItem other = (spec.proto.runtime.v1.RuntimeProto.BulkStateItem) obj; + spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest other = (spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest) obj; + if (!getStoreName() + .equals(other.getStoreName())) return false; if (!getKey() .equals(other.getKey())) return false; - if (!getData() - .equals(other.getData())) return false; - if (!getEtag() - .equals(other.getEtag())) return false; - if (!getError() - .equals(other.getError())) return false; + if (hasEtag() != other.hasEtag()) return false; + if (hasEtag()) { + if (!getEtag() + .equals(other.getEtag())) return false; + } + if (hasOptions() != other.hasOptions()) return false; + if (hasOptions()) { + if (!getOptions() + .equals(other.getOptions())) return false; + } if (!internalGetMetadata().equals( other.internalGetMetadata())) return false; if (!unknownFields.equals(other.unknownFields)) return false; @@ -26288,14 +35344,18 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + STORE_NAME_FIELD_NUMBER; + hash = (53 * hash) + getStoreName().hashCode(); hash = (37 * hash) + KEY_FIELD_NUMBER; hash = (53 * hash) + getKey().hashCode(); - hash = (37 * hash) + DATA_FIELD_NUMBER; - hash = (53 * hash) + getData().hashCode(); - hash = (37 * hash) + ETAG_FIELD_NUMBER; - hash = (53 * hash) + getEtag().hashCode(); - hash = (37 * hash) + ERROR_FIELD_NUMBER; - hash = (53 * hash) + getError().hashCode(); + if (hasEtag()) { + hash = (37 * hash) + ETAG_FIELD_NUMBER; + hash = (53 * hash) + getEtag().hashCode(); + } + if (hasOptions()) { + hash = (37 * hash) + OPTIONS_FIELD_NUMBER; + hash = (53 * hash) + getOptions().hashCode(); + } if (!internalGetMetadata().getMap().isEmpty()) { hash = (37 * hash) + METADATA_FIELD_NUMBER; hash = (53 * hash) + internalGetMetadata().hashCode(); @@ -26305,69 +35365,69 @@ public int hashCode() { return hash; } - public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -26380,7 +35440,7 @@ public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.BulkStateItem prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -26397,19 +35457,18 @@ protected Builder newBuilderForType( } /** *
-     * BulkStateItem is the response item for a bulk get operation.
-     * Return values include the item key, data and etag.
+     * DeleteStateRequest is the message to delete key-value states in the specific state store.
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.BulkStateItem} + * Protobuf type {@code spec.proto.runtime.v1.DeleteStateRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.BulkStateItem) - spec.proto.runtime.v1.RuntimeProto.BulkStateItemOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.DeleteStateRequest) + spec.proto.runtime.v1.RuntimeProto.DeleteStateRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_BulkStateItem_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteStateRequest_descriptor; } @SuppressWarnings({"rawtypes"}) @@ -26437,12 +35496,12 @@ protected com.google.protobuf.MapField internalGetMutableMapField( @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_BulkStateItem_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteStateRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.BulkStateItem.class, spec.proto.runtime.v1.RuntimeProto.BulkStateItem.Builder.class); + spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest.class, spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.BulkStateItem.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -26460,14 +35519,22 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - key_ = ""; - - data_ = com.google.protobuf.ByteString.EMPTY; - - etag_ = ""; + storeName_ = ""; - error_ = ""; + key_ = ""; + if (etagBuilder_ == null) { + etag_ = null; + } else { + etag_ = null; + etagBuilder_ = null; + } + if (optionsBuilder_ == null) { + options_ = null; + } else { + options_ = null; + optionsBuilder_ = null; + } internalGetMutableMetadata().clear(); return this; } @@ -26475,17 +35542,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_BulkStateItem_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteStateRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.BulkStateItem getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.BulkStateItem.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.BulkStateItem build() { - spec.proto.runtime.v1.RuntimeProto.BulkStateItem result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest build() { + spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -26493,13 +35560,21 @@ public spec.proto.runtime.v1.RuntimeProto.BulkStateItem build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.BulkStateItem buildPartial() { - spec.proto.runtime.v1.RuntimeProto.BulkStateItem result = new spec.proto.runtime.v1.RuntimeProto.BulkStateItem(this); + public spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest result = new spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest(this); int from_bitField0_ = bitField0_; + result.storeName_ = storeName_; result.key_ = key_; - result.data_ = data_; - result.etag_ = etag_; - result.error_ = error_; + if (etagBuilder_ == null) { + result.etag_ = etag_; + } else { + result.etag_ = etagBuilder_.build(); + } + if (optionsBuilder_ == null) { + result.options_ = options_; + } else { + result.options_ = optionsBuilder_.build(); + } result.metadata_ = internalGetMetadata(); result.metadata_.makeImmutable(); onBuilt(); @@ -26540,30 +35615,29 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.BulkStateItem) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.BulkStateItem)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.BulkStateItem other) { - if (other == spec.proto.runtime.v1.RuntimeProto.BulkStateItem.getDefaultInstance()) return this; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest.getDefaultInstance()) return this; + if (!other.getStoreName().isEmpty()) { + storeName_ = other.storeName_; + onChanged(); + } if (!other.getKey().isEmpty()) { key_ = other.key_; onChanged(); } - if (other.getData() != com.google.protobuf.ByteString.EMPTY) { - setData(other.getData()); - } - if (!other.getEtag().isEmpty()) { - etag_ = other.etag_; - onChanged(); + if (other.hasEtag()) { + mergeEtag(other.getEtag()); } - if (!other.getError().isEmpty()) { - error_ = other.error_; - onChanged(); + if (other.hasOptions()) { + mergeOptions(other.getOptions()); } internalGetMutableMetadata().mergeFrom( other.internalGetMetadata()); @@ -26582,11 +35656,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.BulkStateItem parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.BulkStateItem) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -26597,13 +35671,109 @@ public Builder mergeFrom( } private int bitField0_; + private java.lang.Object storeName_ = ""; + /** + *
+       * Required. The name of state store.
+       * 
+ * + * string store_name = 1; + * @return The storeName. + */ + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + storeName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Required. The name of state store.
+       * 
+ * + * string store_name = 1; + * @return The bytes for storeName. + */ + public com.google.protobuf.ByteString + getStoreNameBytes() { + java.lang.Object ref = storeName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + storeName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Required. The name of state store.
+       * 
+ * + * string store_name = 1; + * @param value The storeName to set. + * @return This builder for chaining. + */ + public Builder setStoreName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + storeName_ = value; + onChanged(); + return this; + } + /** + *
+       * Required. The name of state store.
+       * 
+ * + * string store_name = 1; + * @return This builder for chaining. + */ + public Builder clearStoreName() { + + storeName_ = getDefaultInstance().getStoreName(); + onChanged(); + return this; + } + /** + *
+       * Required. The name of state store.
+       * 
+ * + * string store_name = 1; + * @param value The bytes for storeName to set. + * @return This builder for chaining. + */ + public Builder setStoreNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + storeName_ = value; + onChanged(); + return this; + } + private java.lang.Object key_ = ""; /** *
-       * state item key
+       * Required. The key of the desired state
        * 
* - * string key = 1; + * string key = 2; * @return The key. */ public java.lang.String getKey() { @@ -26620,10 +35790,10 @@ public java.lang.String getKey() { } /** *
-       * state item key
+       * Required. The key of the desired state
        * 
* - * string key = 1; + * string key = 2; * @return The bytes for key. */ public com.google.protobuf.ByteString @@ -26641,10 +35811,10 @@ public java.lang.String getKey() { } /** *
-       * state item key
+       * Required. The key of the desired state
        * 
* - * string key = 1; + * string key = 2; * @param value The key to set. * @return This builder for chaining. */ @@ -26660,10 +35830,10 @@ public Builder setKey( } /** *
-       * state item key
+       * Required. The key of the desired state
        * 
* - * string key = 1; + * string key = 2; * @return This builder for chaining. */ public Builder clearKey() { @@ -26674,10 +35844,10 @@ public Builder clearKey() { } /** *
-       * state item key
+       * Required. The key of the desired state
        * 
* - * string key = 1; + * string key = 2; * @param value The bytes for key to set. * @return This builder for chaining. */ @@ -26693,247 +35863,332 @@ public Builder setKeyBytes( return this; } - private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; + private spec.proto.runtime.v1.RuntimeProto.Etag etag_; + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.Etag, spec.proto.runtime.v1.RuntimeProto.Etag.Builder, spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder> etagBuilder_; /** *
-       * The byte array data
+       * (optional) The entity tag which represents the specific version of data.
+       * The exact ETag format is defined by the corresponding data store.
        * 
* - * bytes data = 2; - * @return The data. + * .spec.proto.runtime.v1.Etag etag = 3; + * @return Whether the etag field is set. */ - @java.lang.Override - public com.google.protobuf.ByteString getData() { - return data_; + public boolean hasEtag() { + return etagBuilder_ != null || etag_ != null; } /** *
-       * The byte array data
+       * (optional) The entity tag which represents the specific version of data.
+       * The exact ETag format is defined by the corresponding data store.
        * 
* - * bytes data = 2; - * @param value The data to set. - * @return This builder for chaining. + * .spec.proto.runtime.v1.Etag etag = 3; + * @return The etag. */ - public Builder setData(com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - - data_ = value; - onChanged(); + public spec.proto.runtime.v1.RuntimeProto.Etag getEtag() { + if (etagBuilder_ == null) { + return etag_ == null ? spec.proto.runtime.v1.RuntimeProto.Etag.getDefaultInstance() : etag_; + } else { + return etagBuilder_.getMessage(); + } + } + /** + *
+       * (optional) The entity tag which represents the specific version of data.
+       * The exact ETag format is defined by the corresponding data store.
+       * 
+ * + * .spec.proto.runtime.v1.Etag etag = 3; + */ + public Builder setEtag(spec.proto.runtime.v1.RuntimeProto.Etag value) { + if (etagBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + etag_ = value; + onChanged(); + } else { + etagBuilder_.setMessage(value); + } + return this; } /** *
-       * The byte array data
+       * (optional) The entity tag which represents the specific version of data.
+       * The exact ETag format is defined by the corresponding data store.
        * 
* - * bytes data = 2; - * @return This builder for chaining. + * .spec.proto.runtime.v1.Etag etag = 3; */ - public Builder clearData() { - - data_ = getDefaultInstance().getData(); - onChanged(); + public Builder setEtag( + spec.proto.runtime.v1.RuntimeProto.Etag.Builder builderForValue) { + if (etagBuilder_ == null) { + etag_ = builderForValue.build(); + onChanged(); + } else { + etagBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * (optional) The entity tag which represents the specific version of data.
+       * The exact ETag format is defined by the corresponding data store.
+       * 
+ * + * .spec.proto.runtime.v1.Etag etag = 3; + */ + public Builder mergeEtag(spec.proto.runtime.v1.RuntimeProto.Etag value) { + if (etagBuilder_ == null) { + if (etag_ != null) { + etag_ = + spec.proto.runtime.v1.RuntimeProto.Etag.newBuilder(etag_).mergeFrom(value).buildPartial(); + } else { + etag_ = value; + } + onChanged(); + } else { + etagBuilder_.mergeFrom(value); + } + return this; } + /** + *
+       * (optional) The entity tag which represents the specific version of data.
+       * The exact ETag format is defined by the corresponding data store.
+       * 
+ * + * .spec.proto.runtime.v1.Etag etag = 3; + */ + public Builder clearEtag() { + if (etagBuilder_ == null) { + etag_ = null; + onChanged(); + } else { + etag_ = null; + etagBuilder_ = null; + } - private java.lang.Object etag_ = ""; + return this; + } /** *
-       * The entity tag which represents the specific version of data.
-       * ETag format is defined by the corresponding data store.
+       * (optional) The entity tag which represents the specific version of data.
+       * The exact ETag format is defined by the corresponding data store.
        * 
* - * string etag = 3; - * @return The etag. + * .spec.proto.runtime.v1.Etag etag = 3; */ - public java.lang.String getEtag() { - java.lang.Object ref = etag_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - etag_ = s; - return s; + public spec.proto.runtime.v1.RuntimeProto.Etag.Builder getEtagBuilder() { + + onChanged(); + return getEtagFieldBuilder().getBuilder(); + } + /** + *
+       * (optional) The entity tag which represents the specific version of data.
+       * The exact ETag format is defined by the corresponding data store.
+       * 
+ * + * .spec.proto.runtime.v1.Etag etag = 3; + */ + public spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder getEtagOrBuilder() { + if (etagBuilder_ != null) { + return etagBuilder_.getMessageOrBuilder(); } else { - return (java.lang.String) ref; + return etag_ == null ? + spec.proto.runtime.v1.RuntimeProto.Etag.getDefaultInstance() : etag_; } } /** *
-       * The entity tag which represents the specific version of data.
-       * ETag format is defined by the corresponding data store.
+       * (optional) The entity tag which represents the specific version of data.
+       * The exact ETag format is defined by the corresponding data store.
        * 
* - * string etag = 3; - * @return The bytes for etag. + * .spec.proto.runtime.v1.Etag etag = 3; */ - public com.google.protobuf.ByteString - getEtagBytes() { - java.lang.Object ref = etag_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - etag_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.Etag, spec.proto.runtime.v1.RuntimeProto.Etag.Builder, spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder> + getEtagFieldBuilder() { + if (etagBuilder_ == null) { + etagBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.Etag, spec.proto.runtime.v1.RuntimeProto.Etag.Builder, spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder>( + getEtag(), + getParentForChildren(), + isClean()); + etag_ = null; } + return etagBuilder_; } + + private spec.proto.runtime.v1.RuntimeProto.StateOptions options_; + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.StateOptions, spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder, spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder> optionsBuilder_; /** *
-       * The entity tag which represents the specific version of data.
-       * ETag format is defined by the corresponding data store.
+       * (optional) State operation options which includes concurrency/
+       * consistency/retry_policy.
        * 
* - * string etag = 3; - * @param value The etag to set. - * @return This builder for chaining. + * .spec.proto.runtime.v1.StateOptions options = 4; + * @return Whether the options field is set. */ - public Builder setEtag( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - etag_ = value; - onChanged(); - return this; + public boolean hasOptions() { + return optionsBuilder_ != null || options_ != null; } /** *
-       * The entity tag which represents the specific version of data.
-       * ETag format is defined by the corresponding data store.
+       * (optional) State operation options which includes concurrency/
+       * consistency/retry_policy.
        * 
* - * string etag = 3; - * @return This builder for chaining. + * .spec.proto.runtime.v1.StateOptions options = 4; + * @return The options. */ - public Builder clearEtag() { - - etag_ = getDefaultInstance().getEtag(); - onChanged(); - return this; + public spec.proto.runtime.v1.RuntimeProto.StateOptions getOptions() { + if (optionsBuilder_ == null) { + return options_ == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.getDefaultInstance() : options_; + } else { + return optionsBuilder_.getMessage(); + } } /** *
-       * The entity tag which represents the specific version of data.
-       * ETag format is defined by the corresponding data store.
+       * (optional) State operation options which includes concurrency/
+       * consistency/retry_policy.
        * 
* - * string etag = 3; - * @param value The bytes for etag to set. - * @return This builder for chaining. + * .spec.proto.runtime.v1.StateOptions options = 4; */ - public Builder setEtagBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - etag_ = value; - onChanged(); + public Builder setOptions(spec.proto.runtime.v1.RuntimeProto.StateOptions value) { + if (optionsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + options_ = value; + onChanged(); + } else { + optionsBuilder_.setMessage(value); + } + return this; } - - private java.lang.Object error_ = ""; /** *
-       * The error that was returned from the state store in case of a failed get operation.
+       * (optional) State operation options which includes concurrency/
+       * consistency/retry_policy.
        * 
* - * string error = 4; - * @return The error. + * .spec.proto.runtime.v1.StateOptions options = 4; */ - public java.lang.String getError() { - java.lang.Object ref = error_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - error_ = s; - return s; + public Builder setOptions( + spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder builderForValue) { + if (optionsBuilder_ == null) { + options_ = builderForValue.build(); + onChanged(); } else { - return (java.lang.String) ref; + optionsBuilder_.setMessage(builderForValue.build()); } + + return this; } /** *
-       * The error that was returned from the state store in case of a failed get operation.
+       * (optional) State operation options which includes concurrency/
+       * consistency/retry_policy.
        * 
* - * string error = 4; - * @return The bytes for error. + * .spec.proto.runtime.v1.StateOptions options = 4; */ - public com.google.protobuf.ByteString - getErrorBytes() { - java.lang.Object ref = error_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - error_ = b; - return b; + public Builder mergeOptions(spec.proto.runtime.v1.RuntimeProto.StateOptions value) { + if (optionsBuilder_ == null) { + if (options_ != null) { + options_ = + spec.proto.runtime.v1.RuntimeProto.StateOptions.newBuilder(options_).mergeFrom(value).buildPartial(); + } else { + options_ = value; + } + onChanged(); } else { - return (com.google.protobuf.ByteString) ref; + optionsBuilder_.mergeFrom(value); } + + return this; } /** *
-       * The error that was returned from the state store in case of a failed get operation.
+       * (optional) State operation options which includes concurrency/
+       * consistency/retry_policy.
        * 
* - * string error = 4; - * @param value The error to set. - * @return This builder for chaining. + * .spec.proto.runtime.v1.StateOptions options = 4; */ - public Builder setError( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - error_ = value; - onChanged(); + public Builder clearOptions() { + if (optionsBuilder_ == null) { + options_ = null; + onChanged(); + } else { + options_ = null; + optionsBuilder_ = null; + } + return this; } /** *
-       * The error that was returned from the state store in case of a failed get operation.
+       * (optional) State operation options which includes concurrency/
+       * consistency/retry_policy.
        * 
* - * string error = 4; - * @return This builder for chaining. + * .spec.proto.runtime.v1.StateOptions options = 4; */ - public Builder clearError() { + public spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder getOptionsBuilder() { - error_ = getDefaultInstance().getError(); onChanged(); - return this; + return getOptionsFieldBuilder().getBuilder(); } /** *
-       * The error that was returned from the state store in case of a failed get operation.
+       * (optional) State operation options which includes concurrency/
+       * consistency/retry_policy.
        * 
* - * string error = 4; - * @param value The bytes for error to set. - * @return This builder for chaining. + * .spec.proto.runtime.v1.StateOptions options = 4; */ - public Builder setErrorBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - error_ = value; - onChanged(); - return this; + public spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder getOptionsOrBuilder() { + if (optionsBuilder_ != null) { + return optionsBuilder_.getMessageOrBuilder(); + } else { + return options_ == null ? + spec.proto.runtime.v1.RuntimeProto.StateOptions.getDefaultInstance() : options_; + } + } + /** + *
+       * (optional) State operation options which includes concurrency/
+       * consistency/retry_policy.
+       * 
+ * + * .spec.proto.runtime.v1.StateOptions options = 4; + */ + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.StateOptions, spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder, spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder> + getOptionsFieldBuilder() { + if (optionsBuilder_ == null) { + optionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.StateOptions, spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder, spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder>( + getOptions(), + getParentForChildren(), + isClean()); + options_ = null; + } + return optionsBuilder_; } private com.google.protobuf.MapField< @@ -26964,7 +36219,7 @@ public int getMetadataCount() { } /** *
-       * The metadata which will be sent to app.
+       * (optional) The metadata which will be sent to state store components.
        * 
* * map<string, string> metadata = 5; @@ -26986,7 +36241,7 @@ public java.util.Map getMetadata() { } /** *
-       * The metadata which will be sent to app.
+       * (optional) The metadata which will be sent to state store components.
        * 
* * map<string, string> metadata = 5; @@ -26998,7 +36253,7 @@ public java.util.Map getMetadataMap() { } /** *
-       * The metadata which will be sent to app.
+       * (optional) The metadata which will be sent to state store components.
        * 
* * map<string, string> metadata = 5; @@ -27015,7 +36270,7 @@ public java.lang.String getMetadataOrDefault( } /** *
-       * The metadata which will be sent to app.
+       * (optional) The metadata which will be sent to state store components.
        * 
* * map<string, string> metadata = 5; @@ -27040,7 +36295,7 @@ public Builder clearMetadata() { } /** *
-       * The metadata which will be sent to app.
+       * (optional) The metadata which will be sent to state store components.
        * 
* * map<string, string> metadata = 5; @@ -27063,7 +36318,7 @@ public Builder removeMetadata( } /** *
-       * The metadata which will be sent to app.
+       * (optional) The metadata which will be sent to state store components.
        * 
* * map<string, string> metadata = 5; @@ -27079,7 +36334,7 @@ public Builder putMetadata( } /** *
-       * The metadata which will be sent to app.
+       * (optional) The metadata which will be sent to state store components.
        * 
* * map<string, string> metadata = 5; @@ -27104,162 +36359,140 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.BulkStateItem) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.DeleteStateRequest) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.BulkStateItem) - private static final spec.proto.runtime.v1.RuntimeProto.BulkStateItem DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.DeleteStateRequest) + private static final spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.BulkStateItem(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest(); } - public static spec.proto.runtime.v1.RuntimeProto.BulkStateItem getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public BulkStateItem parsePartialFrom( + public DeleteStateRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new BulkStateItem(input, extensionRegistry); + return new DeleteStateRequest(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.BulkStateItem getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface GetStateResponseOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.GetStateResponse) + public interface DeleteBulkStateRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.DeleteBulkStateRequest) com.google.protobuf.MessageOrBuilder { /** *
-     * The byte array data
-     * 
- * - * bytes data = 1; - * @return The data. - */ - com.google.protobuf.ByteString getData(); - - /** - *
-     * The entity tag which represents the specific version of data.
-     * ETag format is defined by the corresponding data store.
+     * Required. The name of state store.
      * 
* - * string etag = 2; - * @return The etag. + * string store_name = 1; + * @return The storeName. */ - java.lang.String getEtag(); + java.lang.String getStoreName(); /** *
-     * The entity tag which represents the specific version of data.
-     * ETag format is defined by the corresponding data store.
+     * Required. The name of state store.
      * 
* - * string etag = 2; - * @return The bytes for etag. + * string store_name = 1; + * @return The bytes for storeName. */ com.google.protobuf.ByteString - getEtagBytes(); + getStoreNameBytes(); /** *
-     * The metadata which will be sent to app.
+     * Required. The array of the state key values.
      * 
* - * map<string, string> metadata = 3; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - int getMetadataCount(); + java.util.List + getStatesList(); /** *
-     * The metadata which will be sent to app.
+     * Required. The array of the state key values.
      * 
* - * map<string, string> metadata = 3; - */ - boolean containsMetadata( - java.lang.String key); - /** - * Use {@link #getMetadataMap()} instead. + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - @java.lang.Deprecated - java.util.Map - getMetadata(); + spec.proto.runtime.v1.RuntimeProto.StateItem getStates(int index); /** *
-     * The metadata which will be sent to app.
+     * Required. The array of the state key values.
      * 
* - * map<string, string> metadata = 3; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - java.util.Map - getMetadataMap(); + int getStatesCount(); /** *
-     * The metadata which will be sent to app.
+     * Required. The array of the state key values.
      * 
* - * map<string, string> metadata = 3; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - - java.lang.String getMetadataOrDefault( - java.lang.String key, - java.lang.String defaultValue); + java.util.List + getStatesOrBuilderList(); /** *
-     * The metadata which will be sent to app.
+     * Required. The array of the state key values.
      * 
* - * map<string, string> metadata = 3; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - - java.lang.String getMetadataOrThrow( - java.lang.String key); + spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder getStatesOrBuilder( + int index); } /** *
-   * GetStateResponse is the response conveying the state value and etag.
+   * DeleteBulkStateRequest is the message to delete a list of key-value states from specific state store.
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.GetStateResponse} + * Protobuf type {@code spec.proto.runtime.v1.DeleteBulkStateRequest} */ - public static final class GetStateResponse extends + public static final class DeleteBulkStateRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.GetStateResponse) - GetStateResponseOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.DeleteBulkStateRequest) + DeleteBulkStateRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use GetStateResponse.newBuilder() to construct. - private GetStateResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use DeleteBulkStateRequest.newBuilder() to construct. + private DeleteBulkStateRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private GetStateResponse() { - data_ = com.google.protobuf.ByteString.EMPTY; - etag_ = ""; + private DeleteBulkStateRequest() { + storeName_ = ""; + states_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new GetStateResponse(); + return new DeleteBulkStateRequest(); } @java.lang.Override @@ -27267,7 +36500,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private GetStateResponse( + private DeleteBulkStateRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -27287,27 +36520,18 @@ private GetStateResponse( done = true; break; case 10: { - - data_ = input.readBytes(); - break; - } - case 18: { java.lang.String s = input.readStringRequireUtf8(); - etag_ = s; + storeName_ = s; break; } - case 26: { + case 18: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { - metadata_ = com.google.protobuf.MapField.newMapField( - MetadataDefaultEntryHolder.defaultEntry); + states_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } - com.google.protobuf.MapEntry - metadata__ = input.readMessage( - MetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); - metadata_.getMutableMap().put( - metadata__.getKey(), metadata__.getValue()); + states_.add( + input.readMessage(spec.proto.runtime.v1.RuntimeProto.StateItem.parser(), extensionRegistry)); break; } default: { @@ -27325,193 +36549,130 @@ private GetStateResponse( throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + states_ = java.util.Collections.unmodifiableList(states_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteBulkStateRequest_descriptor; } - @SuppressWarnings({"rawtypes"}) - @java.lang.Override - protected com.google.protobuf.MapField internalGetMapField( - int number) { - switch (number) { - case 3: - return internalGetMetadata(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateResponse_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteBulkStateRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.GetStateResponse.class, spec.proto.runtime.v1.RuntimeProto.GetStateResponse.Builder.class); - } - - public static final int DATA_FIELD_NUMBER = 1; - private com.google.protobuf.ByteString data_; - /** - *
-     * The byte array data
-     * 
- * - * bytes data = 1; - * @return The data. - */ - @java.lang.Override - public com.google.protobuf.ByteString getData() { - return data_; + spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest.class, spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest.Builder.class); } - public static final int ETAG_FIELD_NUMBER = 2; - private volatile java.lang.Object etag_; + public static final int STORE_NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object storeName_; /** *
-     * The entity tag which represents the specific version of data.
-     * ETag format is defined by the corresponding data store.
+     * Required. The name of state store.
      * 
* - * string etag = 2; - * @return The etag. + * string store_name = 1; + * @return The storeName. */ @java.lang.Override - public java.lang.String getEtag() { - java.lang.Object ref = etag_; + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - etag_ = s; + storeName_ = s; return s; } } /** *
-     * The entity tag which represents the specific version of data.
-     * ETag format is defined by the corresponding data store.
+     * Required. The name of state store.
      * 
* - * string etag = 2; - * @return The bytes for etag. + * string store_name = 1; + * @return The bytes for storeName. */ @java.lang.Override public com.google.protobuf.ByteString - getEtagBytes() { - java.lang.Object ref = etag_; + getStoreNameBytes() { + java.lang.Object ref = storeName_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - etag_ = b; + storeName_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } - public static final int METADATA_FIELD_NUMBER = 3; - private static final class MetadataDefaultEntryHolder { - static final com.google.protobuf.MapEntry< - java.lang.String, java.lang.String> defaultEntry = - com.google.protobuf.MapEntry - .newDefaultInstance( - spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateResponse_MetadataEntry_descriptor, - com.google.protobuf.WireFormat.FieldType.STRING, - "", - com.google.protobuf.WireFormat.FieldType.STRING, - ""); - } - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> metadata_; - private com.google.protobuf.MapField - internalGetMetadata() { - if (metadata_ == null) { - return com.google.protobuf.MapField.emptyMapField( - MetadataDefaultEntryHolder.defaultEntry); - } - return metadata_; - } - - public int getMetadataCount() { - return internalGetMetadata().getMap().size(); - } + public static final int STATES_FIELD_NUMBER = 2; + private java.util.List states_; /** *
-     * The metadata which will be sent to app.
+     * Required. The array of the state key values.
      * 
* - * map<string, string> metadata = 3; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - @java.lang.Override - public boolean containsMetadata( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - return internalGetMetadata().getMap().containsKey(key); + public java.util.List getStatesList() { + return states_; } /** - * Use {@link #getMetadataMap()} instead. + *
+     * Required. The array of the state key values.
+     * 
+ * + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ @java.lang.Override - @java.lang.Deprecated - public java.util.Map getMetadata() { - return getMetadataMap(); + public java.util.List + getStatesOrBuilderList() { + return states_; } /** *
-     * The metadata which will be sent to app.
+     * Required. The array of the state key values.
      * 
* - * map<string, string> metadata = 3; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ @java.lang.Override - - public java.util.Map getMetadataMap() { - return internalGetMetadata().getMap(); + public int getStatesCount() { + return states_.size(); } /** *
-     * The metadata which will be sent to app.
+     * Required. The array of the state key values.
      * 
* - * map<string, string> metadata = 3; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ @java.lang.Override - - public java.lang.String getMetadataOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; + public spec.proto.runtime.v1.RuntimeProto.StateItem getStates(int index) { + return states_.get(index); } /** *
-     * The metadata which will be sent to app.
+     * Required. The array of the state key values.
      * 
* - * map<string, string> metadata = 3; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ @java.lang.Override - - public java.lang.String getMetadataOrThrow( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); - } - return map.get(key); + public spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder getStatesOrBuilder( + int index) { + return states_.get(index); } private byte memoizedIsInitialized = -1; @@ -27528,18 +36689,12 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!data_.isEmpty()) { - output.writeBytes(1, data_); + if (!getStoreNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); } - if (!getEtagBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, etag_); + for (int i = 0; i < states_.size(); i++) { + output.writeMessage(2, states_.get(i)); } - com.google.protobuf.GeneratedMessageV3 - .serializeStringMapTo( - output, - internalGetMetadata(), - MetadataDefaultEntryHolder.defaultEntry, - 3); unknownFields.writeTo(output); } @@ -27549,22 +36704,12 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!data_.isEmpty()) { - size += com.google.protobuf.CodedOutputStream - .computeBytesSize(1, data_); - } - if (!getEtagBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, etag_); + if (!getStoreNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); } - for (java.util.Map.Entry entry - : internalGetMetadata().getMap().entrySet()) { - com.google.protobuf.MapEntry - metadata__ = MetadataDefaultEntryHolder.defaultEntry.newBuilderForType() - .setKey(entry.getKey()) - .setValue(entry.getValue()) - .build(); + for (int i = 0; i < states_.size(); i++) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, metadata__); + .computeMessageSize(2, states_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -27576,17 +36721,15 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.GetStateResponse)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.GetStateResponse other = (spec.proto.runtime.v1.RuntimeProto.GetStateResponse) obj; + spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest other = (spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest) obj; - if (!getData() - .equals(other.getData())) return false; - if (!getEtag() - .equals(other.getEtag())) return false; - if (!internalGetMetadata().equals( - other.internalGetMetadata())) return false; + if (!getStoreName() + .equals(other.getStoreName())) return false; + if (!getStatesList() + .equals(other.getStatesList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -27598,82 +36741,80 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + DATA_FIELD_NUMBER; - hash = (53 * hash) + getData().hashCode(); - hash = (37 * hash) + ETAG_FIELD_NUMBER; - hash = (53 * hash) + getEtag().hashCode(); - if (!internalGetMetadata().getMap().isEmpty()) { - hash = (37 * hash) + METADATA_FIELD_NUMBER; - hash = (53 * hash) + internalGetMetadata().hashCode(); + hash = (37 * hash) + STORE_NAME_FIELD_NUMBER; + hash = (53 * hash) + getStoreName().hashCode(); + if (getStatesCount() > 0) { + hash = (37 * hash) + STATES_FIELD_NUMBER; + hash = (53 * hash) + getStatesList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -27686,7 +36827,7 @@ public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.GetStateResponse prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -27703,51 +36844,29 @@ protected Builder newBuilderForType( } /** *
-     * GetStateResponse is the response conveying the state value and etag.
+     * DeleteBulkStateRequest is the message to delete a list of key-value states from specific state store.
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.GetStateResponse} + * Protobuf type {@code spec.proto.runtime.v1.DeleteBulkStateRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.GetStateResponse) - spec.proto.runtime.v1.RuntimeProto.GetStateResponseOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.DeleteBulkStateRequest) + spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteBulkStateRequest_descriptor; } - @SuppressWarnings({"rawtypes"}) - protected com.google.protobuf.MapField internalGetMapField( - int number) { - switch (number) { - case 3: - return internalGetMetadata(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } - @SuppressWarnings({"rawtypes"}) - protected com.google.protobuf.MapField internalGetMutableMapField( - int number) { - switch (number) { - case 3: - return internalGetMutableMetadata(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateResponse_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteBulkStateRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.GetStateResponse.class, spec.proto.runtime.v1.RuntimeProto.GetStateResponse.Builder.class); + spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest.class, spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.GetStateResponse.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -27760,33 +36879,37 @@ private Builder( private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getStatesFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - data_ = com.google.protobuf.ByteString.EMPTY; - - etag_ = ""; + storeName_ = ""; - internalGetMutableMetadata().clear(); + if (statesBuilder_ == null) { + states_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + statesBuilder_.clear(); + } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_GetStateResponse_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteBulkStateRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetStateResponse getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.GetStateResponse.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetStateResponse build() { - spec.proto.runtime.v1.RuntimeProto.GetStateResponse result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest build() { + spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -27794,13 +36917,19 @@ public spec.proto.runtime.v1.RuntimeProto.GetStateResponse build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetStateResponse buildPartial() { - spec.proto.runtime.v1.RuntimeProto.GetStateResponse result = new spec.proto.runtime.v1.RuntimeProto.GetStateResponse(this); + public spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest result = new spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest(this); int from_bitField0_ = bitField0_; - result.data_ = data_; - result.etag_ = etag_; - result.metadata_ = internalGetMetadata(); - result.metadata_.makeImmutable(); + result.storeName_ = storeName_; + if (statesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + states_ = java.util.Collections.unmodifiableList(states_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.states_ = states_; + } else { + result.states_ = statesBuilder_.build(); + } onBuilt(); return result; } @@ -27839,25 +36968,46 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.GetStateResponse) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.GetStateResponse)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.GetStateResponse other) { - if (other == spec.proto.runtime.v1.RuntimeProto.GetStateResponse.getDefaultInstance()) return this; - if (other.getData() != com.google.protobuf.ByteString.EMPTY) { - setData(other.getData()); - } - if (!other.getEtag().isEmpty()) { - etag_ = other.etag_; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest.getDefaultInstance()) return this; + if (!other.getStoreName().isEmpty()) { + storeName_ = other.storeName_; onChanged(); } - internalGetMutableMetadata().mergeFrom( - other.internalGetMetadata()); + if (statesBuilder_ == null) { + if (!other.states_.isEmpty()) { + if (states_.isEmpty()) { + states_ = other.states_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureStatesIsMutable(); + states_.addAll(other.states_); + } + onChanged(); + } + } else { + if (!other.states_.isEmpty()) { + if (statesBuilder_.isEmpty()) { + statesBuilder_.dispose(); + statesBuilder_ = null; + states_ = other.states_; + bitField0_ = (bitField0_ & ~0x00000001); + statesBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getStatesFieldBuilder() : null; + } else { + statesBuilder_.addAllMessages(other.states_); + } + } + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -27873,11 +37023,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.GetStateResponse parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.GetStateResponse) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -27888,307 +37038,412 @@ public Builder mergeFrom( } private int bitField0_; - private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; + private java.lang.Object storeName_ = ""; /** *
-       * The byte array data
+       * Required. The name of state store.
        * 
* - * bytes data = 1; - * @return The data. + * string store_name = 1; + * @return The storeName. */ - @java.lang.Override - public com.google.protobuf.ByteString getData() { - return data_; + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + storeName_ = s; + return s; + } else { + return (java.lang.String) ref; + } } /** *
-       * The byte array data
+       * Required. The name of state store.
        * 
* - * bytes data = 1; - * @param value The data to set. + * string store_name = 1; + * @return The bytes for storeName. + */ + public com.google.protobuf.ByteString + getStoreNameBytes() { + java.lang.Object ref = storeName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + storeName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Required. The name of state store.
+       * 
+ * + * string store_name = 1; + * @param value The storeName to set. * @return This builder for chaining. */ - public Builder setData(com.google.protobuf.ByteString value) { + public Builder setStoreName( + java.lang.String value) { if (value == null) { throw new NullPointerException(); } - data_ = value; + storeName_ = value; onChanged(); return this; } /** *
-       * The byte array data
+       * Required. The name of state store.
        * 
* - * bytes data = 1; + * string store_name = 1; * @return This builder for chaining. */ - public Builder clearData() { + public Builder clearStoreName() { - data_ = getDefaultInstance().getData(); + storeName_ = getDefaultInstance().getStoreName(); + onChanged(); + return this; + } + /** + *
+       * Required. The name of state store.
+       * 
+ * + * string store_name = 1; + * @param value The bytes for storeName to set. + * @return This builder for chaining. + */ + public Builder setStoreNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + storeName_ = value; onChanged(); return this; } - private java.lang.Object etag_ = ""; + private java.util.List states_ = + java.util.Collections.emptyList(); + private void ensureStatesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + states_ = new java.util.ArrayList(states_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.StateItem, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder, spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder> statesBuilder_; + /** *
-       * The entity tag which represents the specific version of data.
-       * ETag format is defined by the corresponding data store.
+       * Required. The array of the state key values.
        * 
* - * string etag = 2; - * @return The etag. + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - public java.lang.String getEtag() { - java.lang.Object ref = etag_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - etag_ = s; - return s; + public java.util.List getStatesList() { + if (statesBuilder_ == null) { + return java.util.Collections.unmodifiableList(states_); } else { - return (java.lang.String) ref; + return statesBuilder_.getMessageList(); } } /** *
-       * The entity tag which represents the specific version of data.
-       * ETag format is defined by the corresponding data store.
+       * Required. The array of the state key values.
        * 
* - * string etag = 2; - * @return The bytes for etag. + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - public com.google.protobuf.ByteString - getEtagBytes() { - java.lang.Object ref = etag_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - etag_ = b; - return b; + public int getStatesCount() { + if (statesBuilder_ == null) { + return states_.size(); } else { - return (com.google.protobuf.ByteString) ref; + return statesBuilder_.getCount(); } } /** *
-       * The entity tag which represents the specific version of data.
-       * ETag format is defined by the corresponding data store.
+       * Required. The array of the state key values.
        * 
* - * string etag = 2; - * @param value The etag to set. - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - public Builder setEtag( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - etag_ = value; - onChanged(); + public spec.proto.runtime.v1.RuntimeProto.StateItem getStates(int index) { + if (statesBuilder_ == null) { + return states_.get(index); + } else { + return statesBuilder_.getMessage(index); + } + } + /** + *
+       * Required. The array of the state key values.
+       * 
+ * + * repeated .spec.proto.runtime.v1.StateItem states = 2; + */ + public Builder setStates( + int index, spec.proto.runtime.v1.RuntimeProto.StateItem value) { + if (statesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureStatesIsMutable(); + states_.set(index, value); + onChanged(); + } else { + statesBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+       * Required. The array of the state key values.
+       * 
+ * + * repeated .spec.proto.runtime.v1.StateItem states = 2; + */ + public Builder setStates( + int index, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder builderForValue) { + if (statesBuilder_ == null) { + ensureStatesIsMutable(); + states_.set(index, builderForValue.build()); + onChanged(); + } else { + statesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * Required. The array of the state key values.
+       * 
+ * + * repeated .spec.proto.runtime.v1.StateItem states = 2; + */ + public Builder addStates(spec.proto.runtime.v1.RuntimeProto.StateItem value) { + if (statesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureStatesIsMutable(); + states_.add(value); + onChanged(); + } else { + statesBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * Required. The array of the state key values.
+       * 
+ * + * repeated .spec.proto.runtime.v1.StateItem states = 2; + */ + public Builder addStates( + int index, spec.proto.runtime.v1.RuntimeProto.StateItem value) { + if (statesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureStatesIsMutable(); + states_.add(index, value); + onChanged(); + } else { + statesBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * Required. The array of the state key values.
+       * 
+ * + * repeated .spec.proto.runtime.v1.StateItem states = 2; + */ + public Builder addStates( + spec.proto.runtime.v1.RuntimeProto.StateItem.Builder builderForValue) { + if (statesBuilder_ == null) { + ensureStatesIsMutable(); + states_.add(builderForValue.build()); + onChanged(); + } else { + statesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * Required. The array of the state key values.
+       * 
+ * + * repeated .spec.proto.runtime.v1.StateItem states = 2; + */ + public Builder addStates( + int index, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder builderForValue) { + if (statesBuilder_ == null) { + ensureStatesIsMutable(); + states_.add(index, builderForValue.build()); + onChanged(); + } else { + statesBuilder_.addMessage(index, builderForValue.build()); + } return this; } /** *
-       * The entity tag which represents the specific version of data.
-       * ETag format is defined by the corresponding data store.
+       * Required. The array of the state key values.
        * 
* - * string etag = 2; - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - public Builder clearEtag() { - - etag_ = getDefaultInstance().getEtag(); - onChanged(); + public Builder addAllStates( + java.lang.Iterable values) { + if (statesBuilder_ == null) { + ensureStatesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, states_); + onChanged(); + } else { + statesBuilder_.addAllMessages(values); + } return this; } /** *
-       * The entity tag which represents the specific version of data.
-       * ETag format is defined by the corresponding data store.
+       * Required. The array of the state key values.
        * 
* - * string etag = 2; - * @param value The bytes for etag to set. - * @return This builder for chaining. + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - public Builder setEtagBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - etag_ = value; - onChanged(); - return this; - } - - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> metadata_; - private com.google.protobuf.MapField - internalGetMetadata() { - if (metadata_ == null) { - return com.google.protobuf.MapField.emptyMapField( - MetadataDefaultEntryHolder.defaultEntry); - } - return metadata_; - } - private com.google.protobuf.MapField - internalGetMutableMetadata() { - onChanged();; - if (metadata_ == null) { - metadata_ = com.google.protobuf.MapField.newMapField( - MetadataDefaultEntryHolder.defaultEntry); - } - if (!metadata_.isMutable()) { - metadata_ = metadata_.copy(); + public Builder clearStates() { + if (statesBuilder_ == null) { + states_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + statesBuilder_.clear(); } - return metadata_; - } - - public int getMetadataCount() { - return internalGetMetadata().getMap().size(); + return this; } /** *
-       * The metadata which will be sent to app.
+       * Required. The array of the state key values.
        * 
* - * map<string, string> metadata = 3; - */ - - @java.lang.Override - public boolean containsMetadata( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - return internalGetMetadata().getMap().containsKey(key); - } - /** - * Use {@link #getMetadataMap()} instead. + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - @java.lang.Override - @java.lang.Deprecated - public java.util.Map getMetadata() { - return getMetadataMap(); + public Builder removeStates(int index) { + if (statesBuilder_ == null) { + ensureStatesIsMutable(); + states_.remove(index); + onChanged(); + } else { + statesBuilder_.remove(index); + } + return this; } /** *
-       * The metadata which will be sent to app.
+       * Required. The array of the state key values.
        * 
* - * map<string, string> metadata = 3; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - @java.lang.Override - - public java.util.Map getMetadataMap() { - return internalGetMetadata().getMap(); + public spec.proto.runtime.v1.RuntimeProto.StateItem.Builder getStatesBuilder( + int index) { + return getStatesFieldBuilder().getBuilder(index); } /** *
-       * The metadata which will be sent to app.
+       * Required. The array of the state key values.
        * 
* - * map<string, string> metadata = 3; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - @java.lang.Override - - public java.lang.String getMetadataOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; + public spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder getStatesOrBuilder( + int index) { + if (statesBuilder_ == null) { + return states_.get(index); } else { + return statesBuilder_.getMessageOrBuilder(index); + } } /** *
-       * The metadata which will be sent to app.
+       * Required. The array of the state key values.
        * 
* - * map<string, string> metadata = 3; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - @java.lang.Override - - public java.lang.String getMetadataOrThrow( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); + public java.util.List + getStatesOrBuilderList() { + if (statesBuilder_ != null) { + return statesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(states_); } - return map.get(key); - } - - public Builder clearMetadata() { - internalGetMutableMetadata().getMutableMap() - .clear(); - return this; } /** *
-       * The metadata which will be sent to app.
+       * Required. The array of the state key values.
        * 
* - * map<string, string> metadata = 3; - */ - - public Builder removeMetadata( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - internalGetMutableMetadata().getMutableMap() - .remove(key); - return this; - } - /** - * Use alternate mutation accessors instead. + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - @java.lang.Deprecated - public java.util.Map - getMutableMetadata() { - return internalGetMutableMetadata().getMutableMap(); + public spec.proto.runtime.v1.RuntimeProto.StateItem.Builder addStatesBuilder() { + return getStatesFieldBuilder().addBuilder( + spec.proto.runtime.v1.RuntimeProto.StateItem.getDefaultInstance()); } /** *
-       * The metadata which will be sent to app.
+       * Required. The array of the state key values.
        * 
* - * map<string, string> metadata = 3; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - public Builder putMetadata( - java.lang.String key, - java.lang.String value) { - if (key == null) { throw new java.lang.NullPointerException(); } - if (value == null) { throw new java.lang.NullPointerException(); } - internalGetMutableMetadata().getMutableMap() - .put(key, value); - return this; + public spec.proto.runtime.v1.RuntimeProto.StateItem.Builder addStatesBuilder( + int index) { + return getStatesFieldBuilder().addBuilder( + index, spec.proto.runtime.v1.RuntimeProto.StateItem.getDefaultInstance()); } /** *
-       * The metadata which will be sent to app.
+       * Required. The array of the state key values.
        * 
* - * map<string, string> metadata = 3; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - - public Builder putAllMetadata( - java.util.Map values) { - internalGetMutableMetadata().getMutableMap() - .putAll(values); - return this; + public java.util.List + getStatesBuilderList() { + return getStatesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.StateItem, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder, spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder> + getStatesFieldBuilder() { + if (statesBuilder_ == null) { + statesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.StateItem, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder, spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder>( + states_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + states_ = null; + } + return statesBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -28203,48 +37458,48 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.GetStateResponse) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.DeleteBulkStateRequest) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.GetStateResponse) - private static final spec.proto.runtime.v1.RuntimeProto.GetStateResponse DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.DeleteBulkStateRequest) + private static final spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.GetStateResponse(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest(); } - public static spec.proto.runtime.v1.RuntimeProto.GetStateResponse getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public GetStateResponse parsePartialFrom( + public DeleteBulkStateRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new GetStateResponse(input, extensionRegistry); + return new DeleteBulkStateRequest(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.GetStateResponse getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface DeleteStateRequestOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.DeleteStateRequest) + public interface SaveStateRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.SaveStateRequest) com.google.protobuf.MessageOrBuilder { /** @@ -28269,164 +37524,74 @@ public interface DeleteStateRequestOrBuilder extends /** *
-     * Required. The key of the desired state
-     * 
- * - * string key = 2; - * @return The key. - */ - java.lang.String getKey(); - /** - *
-     * Required. The key of the desired state
-     * 
- * - * string key = 2; - * @return The bytes for key. - */ - com.google.protobuf.ByteString - getKeyBytes(); - - /** - *
-     * (optional) The entity tag which represents the specific version of data.
-     * The exact ETag format is defined by the corresponding data store.
-     * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - * @return Whether the etag field is set. - */ - boolean hasEtag(); - /** - *
-     * (optional) The entity tag which represents the specific version of data.
-     * The exact ETag format is defined by the corresponding data store.
-     * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - * @return The etag. - */ - spec.proto.runtime.v1.RuntimeProto.Etag getEtag(); - /** - *
-     * (optional) The entity tag which represents the specific version of data.
-     * The exact ETag format is defined by the corresponding data store.
-     * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - */ - spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder getEtagOrBuilder(); - - /** - *
-     * (optional) State operation options which includes concurrency/
-     * consistency/retry_policy.
-     * 
- * - * .spec.proto.runtime.v1.StateOptions options = 4; - * @return Whether the options field is set. - */ - boolean hasOptions(); - /** - *
-     * (optional) State operation options which includes concurrency/
-     * consistency/retry_policy.
-     * 
- * - * .spec.proto.runtime.v1.StateOptions options = 4; - * @return The options. - */ - spec.proto.runtime.v1.RuntimeProto.StateOptions getOptions(); - /** - *
-     * (optional) State operation options which includes concurrency/
-     * consistency/retry_policy.
-     * 
- * - * .spec.proto.runtime.v1.StateOptions options = 4; - */ - spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder getOptionsOrBuilder(); - - /** - *
-     * (optional) The metadata which will be sent to state store components.
+     * Required. The array of the state key values.
      * 
* - * map<string, string> metadata = 5; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - int getMetadataCount(); + java.util.List + getStatesList(); /** *
-     * (optional) The metadata which will be sent to state store components.
+     * Required. The array of the state key values.
      * 
* - * map<string, string> metadata = 5; - */ - boolean containsMetadata( - java.lang.String key); - /** - * Use {@link #getMetadataMap()} instead. + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - @java.lang.Deprecated - java.util.Map - getMetadata(); + spec.proto.runtime.v1.RuntimeProto.StateItem getStates(int index); /** *
-     * (optional) The metadata which will be sent to state store components.
+     * Required. The array of the state key values.
      * 
* - * map<string, string> metadata = 5; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - java.util.Map - getMetadataMap(); + int getStatesCount(); /** *
-     * (optional) The metadata which will be sent to state store components.
+     * Required. The array of the state key values.
      * 
* - * map<string, string> metadata = 5; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - - java.lang.String getMetadataOrDefault( - java.lang.String key, - java.lang.String defaultValue); + java.util.List + getStatesOrBuilderList(); /** *
-     * (optional) The metadata which will be sent to state store components.
+     * Required. The array of the state key values.
      * 
* - * map<string, string> metadata = 5; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - - java.lang.String getMetadataOrThrow( - java.lang.String key); + spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder getStatesOrBuilder( + int index); } /** *
-   * DeleteStateRequest is the message to delete key-value states in the specific state store.
+   * SaveStateRequest is the message to save multiple states into state store.
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.DeleteStateRequest} + * Protobuf type {@code spec.proto.runtime.v1.SaveStateRequest} */ - public static final class DeleteStateRequest extends + public static final class SaveStateRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.DeleteStateRequest) - DeleteStateRequestOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.SaveStateRequest) + SaveStateRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use DeleteStateRequest.newBuilder() to construct. - private DeleteStateRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use SaveStateRequest.newBuilder() to construct. + private SaveStateRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private DeleteStateRequest() { + private SaveStateRequest() { storeName_ = ""; - key_ = ""; + states_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new DeleteStateRequest(); + return new SaveStateRequest(); } @java.lang.Override @@ -28434,7 +37599,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private DeleteStateRequest( + private SaveStateRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -28460,48 +37625,12 @@ private DeleteStateRequest( break; } case 18: { - java.lang.String s = input.readStringRequireUtf8(); - - key_ = s; - break; - } - case 26: { - spec.proto.runtime.v1.RuntimeProto.Etag.Builder subBuilder = null; - if (etag_ != null) { - subBuilder = etag_.toBuilder(); - } - etag_ = input.readMessage(spec.proto.runtime.v1.RuntimeProto.Etag.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(etag_); - etag_ = subBuilder.buildPartial(); - } - - break; - } - case 34: { - spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder subBuilder = null; - if (options_ != null) { - subBuilder = options_.toBuilder(); - } - options_ = input.readMessage(spec.proto.runtime.v1.RuntimeProto.StateOptions.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(options_); - options_ = subBuilder.buildPartial(); - } - - break; - } - case 42: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { - metadata_ = com.google.protobuf.MapField.newMapField( - MetadataDefaultEntryHolder.defaultEntry); + states_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } - com.google.protobuf.MapEntry - metadata__ = input.readMessage( - MetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); - metadata_.getMutableMap().put( - metadata__.getKey(), metadata__.getValue()); + states_.add( + input.readMessage(spec.proto.runtime.v1.RuntimeProto.StateItem.parser(), extensionRegistry)); break; } default: { @@ -28519,33 +37648,24 @@ private DeleteStateRequest( throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + states_ = java.util.Collections.unmodifiableList(states_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteStateRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveStateRequest_descriptor; } - @SuppressWarnings({"rawtypes"}) - @java.lang.Override - protected com.google.protobuf.MapField internalGetMapField( - int number) { - switch (number) { - case 5: - return internalGetMetadata(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteStateRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveStateRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest.class, spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.SaveStateRequest.class, spec.proto.runtime.v1.RuntimeProto.SaveStateRequest.Builder.class); } public static final int STORE_NAME_FIELD_NUMBER = 1; @@ -28567,256 +37687,91 @@ public java.lang.String getStoreName() { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - storeName_ = s; - return s; - } - } - /** - *
-     * Required. The name of state store.
-     * 
- * - * string store_name = 1; - * @return The bytes for storeName. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getStoreNameBytes() { - java.lang.Object ref = storeName_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - storeName_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int KEY_FIELD_NUMBER = 2; - private volatile java.lang.Object key_; - /** - *
-     * Required. The key of the desired state
-     * 
- * - * string key = 2; - * @return The key. - */ - @java.lang.Override - public java.lang.String getKey() { - java.lang.Object ref = key_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - key_ = s; + storeName_ = s; return s; } } /** *
-     * Required. The key of the desired state
+     * Required. The name of state store.
      * 
* - * string key = 2; - * @return The bytes for key. + * string store_name = 1; + * @return The bytes for storeName. */ @java.lang.Override public com.google.protobuf.ByteString - getKeyBytes() { - java.lang.Object ref = key_; + getStoreNameBytes() { + java.lang.Object ref = storeName_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - key_ = b; + storeName_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } - public static final int ETAG_FIELD_NUMBER = 3; - private spec.proto.runtime.v1.RuntimeProto.Etag etag_; - /** - *
-     * (optional) The entity tag which represents the specific version of data.
-     * The exact ETag format is defined by the corresponding data store.
-     * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - * @return Whether the etag field is set. - */ - @java.lang.Override - public boolean hasEtag() { - return etag_ != null; - } - /** - *
-     * (optional) The entity tag which represents the specific version of data.
-     * The exact ETag format is defined by the corresponding data store.
-     * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - * @return The etag. - */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.Etag getEtag() { - return etag_ == null ? spec.proto.runtime.v1.RuntimeProto.Etag.getDefaultInstance() : etag_; - } - /** - *
-     * (optional) The entity tag which represents the specific version of data.
-     * The exact ETag format is defined by the corresponding data store.
-     * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder getEtagOrBuilder() { - return getEtag(); - } - - public static final int OPTIONS_FIELD_NUMBER = 4; - private spec.proto.runtime.v1.RuntimeProto.StateOptions options_; - /** - *
-     * (optional) State operation options which includes concurrency/
-     * consistency/retry_policy.
-     * 
- * - * .spec.proto.runtime.v1.StateOptions options = 4; - * @return Whether the options field is set. - */ - @java.lang.Override - public boolean hasOptions() { - return options_ != null; - } - /** - *
-     * (optional) State operation options which includes concurrency/
-     * consistency/retry_policy.
-     * 
- * - * .spec.proto.runtime.v1.StateOptions options = 4; - * @return The options. - */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateOptions getOptions() { - return options_ == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.getDefaultInstance() : options_; - } + public static final int STATES_FIELD_NUMBER = 2; + private java.util.List states_; /** *
-     * (optional) State operation options which includes concurrency/
-     * consistency/retry_policy.
+     * Required. The array of the state key values.
      * 
* - * .spec.proto.runtime.v1.StateOptions options = 4; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder getOptionsOrBuilder() { - return getOptions(); - } - - public static final int METADATA_FIELD_NUMBER = 5; - private static final class MetadataDefaultEntryHolder { - static final com.google.protobuf.MapEntry< - java.lang.String, java.lang.String> defaultEntry = - com.google.protobuf.MapEntry - .newDefaultInstance( - spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteStateRequest_MetadataEntry_descriptor, - com.google.protobuf.WireFormat.FieldType.STRING, - "", - com.google.protobuf.WireFormat.FieldType.STRING, - ""); - } - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> metadata_; - private com.google.protobuf.MapField - internalGetMetadata() { - if (metadata_ == null) { - return com.google.protobuf.MapField.emptyMapField( - MetadataDefaultEntryHolder.defaultEntry); - } - return metadata_; - } - - public int getMetadataCount() { - return internalGetMetadata().getMap().size(); + public java.util.List getStatesList() { + return states_; } /** *
-     * (optional) The metadata which will be sent to state store components.
+     * Required. The array of the state key values.
      * 
* - * map<string, string> metadata = 5; - */ - - @java.lang.Override - public boolean containsMetadata( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - return internalGetMetadata().getMap().containsKey(key); - } - /** - * Use {@link #getMetadataMap()} instead. + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ @java.lang.Override - @java.lang.Deprecated - public java.util.Map getMetadata() { - return getMetadataMap(); + public java.util.List + getStatesOrBuilderList() { + return states_; } /** *
-     * (optional) The metadata which will be sent to state store components.
+     * Required. The array of the state key values.
      * 
* - * map<string, string> metadata = 5; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ @java.lang.Override - - public java.util.Map getMetadataMap() { - return internalGetMetadata().getMap(); + public int getStatesCount() { + return states_.size(); } /** *
-     * (optional) The metadata which will be sent to state store components.
+     * Required. The array of the state key values.
      * 
* - * map<string, string> metadata = 5; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ @java.lang.Override - - public java.lang.String getMetadataOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; + public spec.proto.runtime.v1.RuntimeProto.StateItem getStates(int index) { + return states_.get(index); } /** *
-     * (optional) The metadata which will be sent to state store components.
+     * Required. The array of the state key values.
      * 
* - * map<string, string> metadata = 5; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ @java.lang.Override - - public java.lang.String getMetadataOrThrow( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); - } - return map.get(key); + public spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder getStatesOrBuilder( + int index) { + return states_.get(index); } private byte memoizedIsInitialized = -1; @@ -28836,21 +37791,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getStoreNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); } - if (!getKeyBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, key_); - } - if (etag_ != null) { - output.writeMessage(3, getEtag()); - } - if (options_ != null) { - output.writeMessage(4, getOptions()); + for (int i = 0; i < states_.size(); i++) { + output.writeMessage(2, states_.get(i)); } - com.google.protobuf.GeneratedMessageV3 - .serializeStringMapTo( - output, - internalGetMetadata(), - MetadataDefaultEntryHolder.defaultEntry, - 5); unknownFields.writeTo(output); } @@ -28863,26 +37806,9 @@ public int getSerializedSize() { if (!getStoreNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); } - if (!getKeyBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, key_); - } - if (etag_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, getEtag()); - } - if (options_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(4, getOptions()); - } - for (java.util.Map.Entry entry - : internalGetMetadata().getMap().entrySet()) { - com.google.protobuf.MapEntry - metadata__ = MetadataDefaultEntryHolder.defaultEntry.newBuilderForType() - .setKey(entry.getKey()) - .setValue(entry.getValue()) - .build(); + for (int i = 0; i < states_.size(); i++) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(5, metadata__); + .computeMessageSize(2, states_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -28894,27 +37820,15 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.SaveStateRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest other = (spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest) obj; + spec.proto.runtime.v1.RuntimeProto.SaveStateRequest other = (spec.proto.runtime.v1.RuntimeProto.SaveStateRequest) obj; if (!getStoreName() .equals(other.getStoreName())) return false; - if (!getKey() - .equals(other.getKey())) return false; - if (hasEtag() != other.hasEtag()) return false; - if (hasEtag()) { - if (!getEtag() - .equals(other.getEtag())) return false; - } - if (hasOptions() != other.hasOptions()) return false; - if (hasOptions()) { - if (!getOptions() - .equals(other.getOptions())) return false; - } - if (!internalGetMetadata().equals( - other.internalGetMetadata())) return false; + if (!getStatesList() + .equals(other.getStatesList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -28928,88 +37842,78 @@ public int hashCode() { hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + STORE_NAME_FIELD_NUMBER; hash = (53 * hash) + getStoreName().hashCode(); - hash = (37 * hash) + KEY_FIELD_NUMBER; - hash = (53 * hash) + getKey().hashCode(); - if (hasEtag()) { - hash = (37 * hash) + ETAG_FIELD_NUMBER; - hash = (53 * hash) + getEtag().hashCode(); - } - if (hasOptions()) { - hash = (37 * hash) + OPTIONS_FIELD_NUMBER; - hash = (53 * hash) + getOptions().hashCode(); - } - if (!internalGetMetadata().getMap().isEmpty()) { - hash = (37 * hash) + METADATA_FIELD_NUMBER; - hash = (53 * hash) + internalGetMetadata().hashCode(); + if (getStatesCount() > 0) { + hash = (37 * hash) + STATES_FIELD_NUMBER; + hash = (53 * hash) + getStatesList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -29022,7 +37926,7 @@ public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.SaveStateRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -29039,51 +37943,29 @@ protected Builder newBuilderForType( } /** *
-     * DeleteStateRequest is the message to delete key-value states in the specific state store.
+     * SaveStateRequest is the message to save multiple states into state store.
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.DeleteStateRequest} + * Protobuf type {@code spec.proto.runtime.v1.SaveStateRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.DeleteStateRequest) - spec.proto.runtime.v1.RuntimeProto.DeleteStateRequestOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.SaveStateRequest) + spec.proto.runtime.v1.RuntimeProto.SaveStateRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteStateRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveStateRequest_descriptor; } - @SuppressWarnings({"rawtypes"}) - protected com.google.protobuf.MapField internalGetMapField( - int number) { - switch (number) { - case 5: - return internalGetMetadata(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } - @SuppressWarnings({"rawtypes"}) - protected com.google.protobuf.MapField internalGetMutableMapField( - int number) { - switch (number) { - case 5: - return internalGetMutableMetadata(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteStateRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveStateRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest.class, spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.SaveStateRequest.class, spec.proto.runtime.v1.RuntimeProto.SaveStateRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.SaveStateRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -29096,6 +37978,7 @@ private Builder( private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getStatesFieldBuilder(); } } @java.lang.Override @@ -29103,38 +37986,29 @@ public Builder clear() { super.clear(); storeName_ = ""; - key_ = ""; - - if (etagBuilder_ == null) { - etag_ = null; - } else { - etag_ = null; - etagBuilder_ = null; - } - if (optionsBuilder_ == null) { - options_ = null; + if (statesBuilder_ == null) { + states_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - options_ = null; - optionsBuilder_ = null; + statesBuilder_.clear(); } - internalGetMutableMetadata().clear(); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteStateRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveStateRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.SaveStateRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.SaveStateRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest build() { - spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.SaveStateRequest build() { + spec.proto.runtime.v1.RuntimeProto.SaveStateRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -29142,23 +38016,19 @@ public spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest buildPartial() { - spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest result = new spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest(this); + public spec.proto.runtime.v1.RuntimeProto.SaveStateRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.SaveStateRequest result = new spec.proto.runtime.v1.RuntimeProto.SaveStateRequest(this); int from_bitField0_ = bitField0_; result.storeName_ = storeName_; - result.key_ = key_; - if (etagBuilder_ == null) { - result.etag_ = etag_; - } else { - result.etag_ = etagBuilder_.build(); - } - if (optionsBuilder_ == null) { - result.options_ = options_; + if (statesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + states_ = java.util.Collections.unmodifiableList(states_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.states_ = states_; } else { - result.options_ = optionsBuilder_.build(); + result.states_ = statesBuilder_.build(); } - result.metadata_ = internalGetMetadata(); - result.metadata_.makeImmutable(); onBuilt(); return result; } @@ -29197,32 +38067,46 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.SaveStateRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.SaveStateRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest other) { - if (other == spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest.getDefaultInstance()) return this; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.SaveStateRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.SaveStateRequest.getDefaultInstance()) return this; if (!other.getStoreName().isEmpty()) { storeName_ = other.storeName_; onChanged(); } - if (!other.getKey().isEmpty()) { - key_ = other.key_; - onChanged(); - } - if (other.hasEtag()) { - mergeEtag(other.getEtag()); - } - if (other.hasOptions()) { - mergeOptions(other.getOptions()); + if (statesBuilder_ == null) { + if (!other.states_.isEmpty()) { + if (states_.isEmpty()) { + states_ = other.states_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureStatesIsMutable(); + states_.addAll(other.states_); + } + onChanged(); + } + } else { + if (!other.states_.isEmpty()) { + if (statesBuilder_.isEmpty()) { + statesBuilder_.dispose(); + statesBuilder_ = null; + states_ = other.states_; + bitField0_ = (bitField0_ & ~0x00000001); + statesBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getStatesFieldBuilder() : null; + } else { + statesBuilder_.addAllMessages(other.states_); + } + } } - internalGetMutableMetadata().mergeFrom( - other.internalGetMetadata()); this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -29238,11 +38122,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.SaveStateRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -29284,108 +38168,12 @@ public java.lang.String getStoreName() { */ public com.google.protobuf.ByteString getStoreNameBytes() { - java.lang.Object ref = storeName_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - storeName_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * Required. The name of state store.
-       * 
- * - * string store_name = 1; - * @param value The storeName to set. - * @return This builder for chaining. - */ - public Builder setStoreName( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - storeName_ = value; - onChanged(); - return this; - } - /** - *
-       * Required. The name of state store.
-       * 
- * - * string store_name = 1; - * @return This builder for chaining. - */ - public Builder clearStoreName() { - - storeName_ = getDefaultInstance().getStoreName(); - onChanged(); - return this; - } - /** - *
-       * Required. The name of state store.
-       * 
- * - * string store_name = 1; - * @param value The bytes for storeName to set. - * @return This builder for chaining. - */ - public Builder setStoreNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - storeName_ = value; - onChanged(); - return this; - } - - private java.lang.Object key_ = ""; - /** - *
-       * Required. The key of the desired state
-       * 
- * - * string key = 2; - * @return The key. - */ - public java.lang.String getKey() { - java.lang.Object ref = key_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - key_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * Required. The key of the desired state
-       * 
- * - * string key = 2; - * @return The bytes for key. - */ - public com.google.protobuf.ByteString - getKeyBytes() { - java.lang.Object ref = key_; + java.lang.Object ref = storeName_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - key_ = b; + storeName_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; @@ -29393,540 +38181,368 @@ public java.lang.String getKey() { } /** *
-       * Required. The key of the desired state
+       * Required. The name of state store.
        * 
* - * string key = 2; - * @param value The key to set. + * string store_name = 1; + * @param value The storeName to set. * @return This builder for chaining. */ - public Builder setKey( + public Builder setStoreName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - key_ = value; + storeName_ = value; onChanged(); return this; } /** *
-       * Required. The key of the desired state
+       * Required. The name of state store.
        * 
* - * string key = 2; + * string store_name = 1; * @return This builder for chaining. */ - public Builder clearKey() { + public Builder clearStoreName() { - key_ = getDefaultInstance().getKey(); + storeName_ = getDefaultInstance().getStoreName(); onChanged(); return this; } /** *
-       * Required. The key of the desired state
+       * Required. The name of state store.
        * 
* - * string key = 2; - * @param value The bytes for key to set. + * string store_name = 1; + * @param value The bytes for storeName to set. * @return This builder for chaining. */ - public Builder setKeyBytes( + public Builder setStoreNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); - key_ = value; + storeName_ = value; onChanged(); return this; } - private spec.proto.runtime.v1.RuntimeProto.Etag etag_; - private com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.Etag, spec.proto.runtime.v1.RuntimeProto.Etag.Builder, spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder> etagBuilder_; - /** - *
-       * (optional) The entity tag which represents the specific version of data.
-       * The exact ETag format is defined by the corresponding data store.
-       * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - * @return Whether the etag field is set. - */ - public boolean hasEtag() { - return etagBuilder_ != null || etag_ != null; + private java.util.List states_ = + java.util.Collections.emptyList(); + private void ensureStatesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + states_ = new java.util.ArrayList(states_); + bitField0_ |= 0x00000001; + } } + + private com.google.protobuf.RepeatedFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.StateItem, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder, spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder> statesBuilder_; + /** *
-       * (optional) The entity tag which represents the specific version of data.
-       * The exact ETag format is defined by the corresponding data store.
+       * Required. The array of the state key values.
        * 
* - * .spec.proto.runtime.v1.Etag etag = 3; - * @return The etag. + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - public spec.proto.runtime.v1.RuntimeProto.Etag getEtag() { - if (etagBuilder_ == null) { - return etag_ == null ? spec.proto.runtime.v1.RuntimeProto.Etag.getDefaultInstance() : etag_; + public java.util.List getStatesList() { + if (statesBuilder_ == null) { + return java.util.Collections.unmodifiableList(states_); } else { - return etagBuilder_.getMessage(); + return statesBuilder_.getMessageList(); } } /** *
-       * (optional) The entity tag which represents the specific version of data.
-       * The exact ETag format is defined by the corresponding data store.
+       * Required. The array of the state key values.
        * 
* - * .spec.proto.runtime.v1.Etag etag = 3; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - public Builder setEtag(spec.proto.runtime.v1.RuntimeProto.Etag value) { - if (etagBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - etag_ = value; - onChanged(); + public int getStatesCount() { + if (statesBuilder_ == null) { + return states_.size(); } else { - etagBuilder_.setMessage(value); + return statesBuilder_.getCount(); } - - return this; } /** *
-       * (optional) The entity tag which represents the specific version of data.
-       * The exact ETag format is defined by the corresponding data store.
+       * Required. The array of the state key values.
        * 
* - * .spec.proto.runtime.v1.Etag etag = 3; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - public Builder setEtag( - spec.proto.runtime.v1.RuntimeProto.Etag.Builder builderForValue) { - if (etagBuilder_ == null) { - etag_ = builderForValue.build(); - onChanged(); + public spec.proto.runtime.v1.RuntimeProto.StateItem getStates(int index) { + if (statesBuilder_ == null) { + return states_.get(index); } else { - etagBuilder_.setMessage(builderForValue.build()); + return statesBuilder_.getMessage(index); } - - return this; } /** *
-       * (optional) The entity tag which represents the specific version of data.
-       * The exact ETag format is defined by the corresponding data store.
+       * Required. The array of the state key values.
        * 
* - * .spec.proto.runtime.v1.Etag etag = 3; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - public Builder mergeEtag(spec.proto.runtime.v1.RuntimeProto.Etag value) { - if (etagBuilder_ == null) { - if (etag_ != null) { - etag_ = - spec.proto.runtime.v1.RuntimeProto.Etag.newBuilder(etag_).mergeFrom(value).buildPartial(); - } else { - etag_ = value; + public Builder setStates( + int index, spec.proto.runtime.v1.RuntimeProto.StateItem value) { + if (statesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); } + ensureStatesIsMutable(); + states_.set(index, value); onChanged(); } else { - etagBuilder_.mergeFrom(value); + statesBuilder_.setMessage(index, value); } - return this; } /** *
-       * (optional) The entity tag which represents the specific version of data.
-       * The exact ETag format is defined by the corresponding data store.
+       * Required. The array of the state key values.
        * 
* - * .spec.proto.runtime.v1.Etag etag = 3; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - public Builder clearEtag() { - if (etagBuilder_ == null) { - etag_ = null; + public Builder setStates( + int index, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder builderForValue) { + if (statesBuilder_ == null) { + ensureStatesIsMutable(); + states_.set(index, builderForValue.build()); onChanged(); } else { - etag_ = null; - etagBuilder_ = null; + statesBuilder_.setMessage(index, builderForValue.build()); } - return this; } /** *
-       * (optional) The entity tag which represents the specific version of data.
-       * The exact ETag format is defined by the corresponding data store.
-       * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - */ - public spec.proto.runtime.v1.RuntimeProto.Etag.Builder getEtagBuilder() { - - onChanged(); - return getEtagFieldBuilder().getBuilder(); - } - /** - *
-       * (optional) The entity tag which represents the specific version of data.
-       * The exact ETag format is defined by the corresponding data store.
-       * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - */ - public spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder getEtagOrBuilder() { - if (etagBuilder_ != null) { - return etagBuilder_.getMessageOrBuilder(); - } else { - return etag_ == null ? - spec.proto.runtime.v1.RuntimeProto.Etag.getDefaultInstance() : etag_; - } - } - /** - *
-       * (optional) The entity tag which represents the specific version of data.
-       * The exact ETag format is defined by the corresponding data store.
-       * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - */ - private com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.Etag, spec.proto.runtime.v1.RuntimeProto.Etag.Builder, spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder> - getEtagFieldBuilder() { - if (etagBuilder_ == null) { - etagBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.Etag, spec.proto.runtime.v1.RuntimeProto.Etag.Builder, spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder>( - getEtag(), - getParentForChildren(), - isClean()); - etag_ = null; - } - return etagBuilder_; - } - - private spec.proto.runtime.v1.RuntimeProto.StateOptions options_; - private com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.StateOptions, spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder, spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder> optionsBuilder_; - /** - *
-       * (optional) State operation options which includes concurrency/
-       * consistency/retry_policy.
-       * 
- * - * .spec.proto.runtime.v1.StateOptions options = 4; - * @return Whether the options field is set. - */ - public boolean hasOptions() { - return optionsBuilder_ != null || options_ != null; - } - /** - *
-       * (optional) State operation options which includes concurrency/
-       * consistency/retry_policy.
+       * Required. The array of the state key values.
        * 
* - * .spec.proto.runtime.v1.StateOptions options = 4; - * @return The options. + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - public spec.proto.runtime.v1.RuntimeProto.StateOptions getOptions() { - if (optionsBuilder_ == null) { - return options_ == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.getDefaultInstance() : options_; + public Builder addStates(spec.proto.runtime.v1.RuntimeProto.StateItem value) { + if (statesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureStatesIsMutable(); + states_.add(value); + onChanged(); } else { - return optionsBuilder_.getMessage(); + statesBuilder_.addMessage(value); } + return this; } /** *
-       * (optional) State operation options which includes concurrency/
-       * consistency/retry_policy.
+       * Required. The array of the state key values.
        * 
* - * .spec.proto.runtime.v1.StateOptions options = 4; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - public Builder setOptions(spec.proto.runtime.v1.RuntimeProto.StateOptions value) { - if (optionsBuilder_ == null) { + public Builder addStates( + int index, spec.proto.runtime.v1.RuntimeProto.StateItem value) { + if (statesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - options_ = value; + ensureStatesIsMutable(); + states_.add(index, value); onChanged(); } else { - optionsBuilder_.setMessage(value); + statesBuilder_.addMessage(index, value); } - return this; } /** *
-       * (optional) State operation options which includes concurrency/
-       * consistency/retry_policy.
+       * Required. The array of the state key values.
        * 
* - * .spec.proto.runtime.v1.StateOptions options = 4; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - public Builder setOptions( - spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder builderForValue) { - if (optionsBuilder_ == null) { - options_ = builderForValue.build(); + public Builder addStates( + spec.proto.runtime.v1.RuntimeProto.StateItem.Builder builderForValue) { + if (statesBuilder_ == null) { + ensureStatesIsMutable(); + states_.add(builderForValue.build()); onChanged(); } else { - optionsBuilder_.setMessage(builderForValue.build()); + statesBuilder_.addMessage(builderForValue.build()); } - return this; } /** *
-       * (optional) State operation options which includes concurrency/
-       * consistency/retry_policy.
+       * Required. The array of the state key values.
        * 
* - * .spec.proto.runtime.v1.StateOptions options = 4; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - public Builder mergeOptions(spec.proto.runtime.v1.RuntimeProto.StateOptions value) { - if (optionsBuilder_ == null) { - if (options_ != null) { - options_ = - spec.proto.runtime.v1.RuntimeProto.StateOptions.newBuilder(options_).mergeFrom(value).buildPartial(); - } else { - options_ = value; - } + public Builder addStates( + int index, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder builderForValue) { + if (statesBuilder_ == null) { + ensureStatesIsMutable(); + states_.add(index, builderForValue.build()); onChanged(); } else { - optionsBuilder_.mergeFrom(value); + statesBuilder_.addMessage(index, builderForValue.build()); } - return this; } /** *
-       * (optional) State operation options which includes concurrency/
-       * consistency/retry_policy.
+       * Required. The array of the state key values.
        * 
* - * .spec.proto.runtime.v1.StateOptions options = 4; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - public Builder clearOptions() { - if (optionsBuilder_ == null) { - options_ = null; + public Builder addAllStates( + java.lang.Iterable values) { + if (statesBuilder_ == null) { + ensureStatesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, states_); onChanged(); } else { - options_ = null; - optionsBuilder_ = null; + statesBuilder_.addAllMessages(values); } - return this; } /** *
-       * (optional) State operation options which includes concurrency/
-       * consistency/retry_policy.
-       * 
- * - * .spec.proto.runtime.v1.StateOptions options = 4; - */ - public spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder getOptionsBuilder() { - - onChanged(); - return getOptionsFieldBuilder().getBuilder(); - } - /** - *
-       * (optional) State operation options which includes concurrency/
-       * consistency/retry_policy.
+       * Required. The array of the state key values.
        * 
* - * .spec.proto.runtime.v1.StateOptions options = 4; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - public spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder getOptionsOrBuilder() { - if (optionsBuilder_ != null) { - return optionsBuilder_.getMessageOrBuilder(); + public Builder clearStates() { + if (statesBuilder_ == null) { + states_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); } else { - return options_ == null ? - spec.proto.runtime.v1.RuntimeProto.StateOptions.getDefaultInstance() : options_; + statesBuilder_.clear(); } + return this; } /** *
-       * (optional) State operation options which includes concurrency/
-       * consistency/retry_policy.
+       * Required. The array of the state key values.
        * 
* - * .spec.proto.runtime.v1.StateOptions options = 4; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - private com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.StateOptions, spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder, spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder> - getOptionsFieldBuilder() { - if (optionsBuilder_ == null) { - optionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.StateOptions, spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder, spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder>( - getOptions(), - getParentForChildren(), - isClean()); - options_ = null; - } - return optionsBuilder_; - } - - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> metadata_; - private com.google.protobuf.MapField - internalGetMetadata() { - if (metadata_ == null) { - return com.google.protobuf.MapField.emptyMapField( - MetadataDefaultEntryHolder.defaultEntry); - } - return metadata_; - } - private com.google.protobuf.MapField - internalGetMutableMetadata() { - onChanged();; - if (metadata_ == null) { - metadata_ = com.google.protobuf.MapField.newMapField( - MetadataDefaultEntryHolder.defaultEntry); - } - if (!metadata_.isMutable()) { - metadata_ = metadata_.copy(); + public Builder removeStates(int index) { + if (statesBuilder_ == null) { + ensureStatesIsMutable(); + states_.remove(index); + onChanged(); + } else { + statesBuilder_.remove(index); } - return metadata_; - } - - public int getMetadataCount() { - return internalGetMetadata().getMap().size(); - } - /** - *
-       * (optional) The metadata which will be sent to state store components.
-       * 
- * - * map<string, string> metadata = 5; - */ - - @java.lang.Override - public boolean containsMetadata( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - return internalGetMetadata().getMap().containsKey(key); - } - /** - * Use {@link #getMetadataMap()} instead. - */ - @java.lang.Override - @java.lang.Deprecated - public java.util.Map getMetadata() { - return getMetadataMap(); + return this; } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * Required. The array of the state key values.
        * 
* - * map<string, string> metadata = 5; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - @java.lang.Override - - public java.util.Map getMetadataMap() { - return internalGetMetadata().getMap(); + public spec.proto.runtime.v1.RuntimeProto.StateItem.Builder getStatesBuilder( + int index) { + return getStatesFieldBuilder().getBuilder(index); } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * Required. The array of the state key values.
        * 
* - * map<string, string> metadata = 5; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - @java.lang.Override - - public java.lang.String getMetadataOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; + public spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder getStatesOrBuilder( + int index) { + if (statesBuilder_ == null) { + return states_.get(index); } else { + return statesBuilder_.getMessageOrBuilder(index); + } } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * Required. The array of the state key values.
        * 
* - * map<string, string> metadata = 5; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - @java.lang.Override - - public java.lang.String getMetadataOrThrow( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); + public java.util.List + getStatesOrBuilderList() { + if (statesBuilder_ != null) { + return statesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(states_); } - return map.get(key); - } - - public Builder clearMetadata() { - internalGetMutableMetadata().getMutableMap() - .clear(); - return this; } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * Required. The array of the state key values.
        * 
* - * map<string, string> metadata = 5; - */ - - public Builder removeMetadata( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - internalGetMutableMetadata().getMutableMap() - .remove(key); - return this; - } - /** - * Use alternate mutation accessors instead. + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - @java.lang.Deprecated - public java.util.Map - getMutableMetadata() { - return internalGetMutableMetadata().getMutableMap(); + public spec.proto.runtime.v1.RuntimeProto.StateItem.Builder addStatesBuilder() { + return getStatesFieldBuilder().addBuilder( + spec.proto.runtime.v1.RuntimeProto.StateItem.getDefaultInstance()); } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * Required. The array of the state key values.
        * 
* - * map<string, string> metadata = 5; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - public Builder putMetadata( - java.lang.String key, - java.lang.String value) { - if (key == null) { throw new java.lang.NullPointerException(); } - if (value == null) { throw new java.lang.NullPointerException(); } - internalGetMutableMetadata().getMutableMap() - .put(key, value); - return this; + public spec.proto.runtime.v1.RuntimeProto.StateItem.Builder addStatesBuilder( + int index) { + return getStatesFieldBuilder().addBuilder( + index, spec.proto.runtime.v1.RuntimeProto.StateItem.getDefaultInstance()); } /** *
-       * (optional) The metadata which will be sent to state store components.
+       * Required. The array of the state key values.
        * 
* - * map<string, string> metadata = 5; + * repeated .spec.proto.runtime.v1.StateItem states = 2; */ - - public Builder putAllMetadata( - java.util.Map values) { - internalGetMutableMetadata().getMutableMap() - .putAll(values); - return this; + public java.util.List + getStatesBuilderList() { + return getStatesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.StateItem, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder, spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder> + getStatesFieldBuilder() { + if (statesBuilder_ == null) { + statesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.StateItem, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder, spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder>( + states_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + states_ = null; + } + return statesBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -29941,140 +38557,217 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.DeleteStateRequest) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.SaveStateRequest) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.DeleteStateRequest) - private static final spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.SaveStateRequest) + private static final spec.proto.runtime.v1.RuntimeProto.SaveStateRequest DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.SaveStateRequest(); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public DeleteStateRequest parsePartialFrom( + public SaveStateRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new DeleteStateRequest(input, extensionRegistry); + return new SaveStateRequest(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.DeleteStateRequest getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.SaveStateRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface DeleteBulkStateRequestOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.DeleteBulkStateRequest) + public interface StateItemOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.StateItem) com.google.protobuf.MessageOrBuilder { /** *
-     * Required. The name of state store.
+     * Required. The state key
      * 
* - * string store_name = 1; - * @return The storeName. + * string key = 1; + * @return The key. */ - java.lang.String getStoreName(); + java.lang.String getKey(); /** *
-     * Required. The name of state store.
+     * Required. The state key
      * 
* - * string store_name = 1; - * @return The bytes for storeName. + * string key = 1; + * @return The bytes for key. */ com.google.protobuf.ByteString - getStoreNameBytes(); + getKeyBytes(); /** *
-     * Required. The array of the state key values.
+     * Required. The state data for key
      * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * bytes value = 2; + * @return The value. */ - java.util.List - getStatesList(); + com.google.protobuf.ByteString getValue(); + /** *
-     * Required. The array of the state key values.
+     * (optional) The entity tag which represents the specific version of data.
+     * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
      * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * .spec.proto.runtime.v1.Etag etag = 3; + * @return Whether the etag field is set. */ - spec.proto.runtime.v1.RuntimeProto.StateItem getStates(int index); + boolean hasEtag(); /** *
-     * Required. The array of the state key values.
+     * (optional) The entity tag which represents the specific version of data.
+     * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
      * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * .spec.proto.runtime.v1.Etag etag = 3; + * @return The etag. */ - int getStatesCount(); + spec.proto.runtime.v1.RuntimeProto.Etag getEtag(); /** *
-     * Required. The array of the state key values.
+     * (optional) The entity tag which represents the specific version of data.
+     * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
      * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * .spec.proto.runtime.v1.Etag etag = 3; */ - java.util.List - getStatesOrBuilderList(); + spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder getEtagOrBuilder(); + /** *
-     * Required. The array of the state key values.
+     * (optional) additional key-value pairs to be passed to the state store.
      * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * map<string, string> metadata = 4; */ - spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder getStatesOrBuilder( - int index); + int getMetadataCount(); + /** + *
+     * (optional) additional key-value pairs to be passed to the state store.
+     * 
+ * + * map<string, string> metadata = 4; + */ + boolean containsMetadata( + java.lang.String key); + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getMetadata(); + /** + *
+     * (optional) additional key-value pairs to be passed to the state store.
+     * 
+ * + * map<string, string> metadata = 4; + */ + java.util.Map + getMetadataMap(); + /** + *
+     * (optional) additional key-value pairs to be passed to the state store.
+     * 
+ * + * map<string, string> metadata = 4; + */ + + java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue); + /** + *
+     * (optional) additional key-value pairs to be passed to the state store.
+     * 
+ * + * map<string, string> metadata = 4; + */ + + java.lang.String getMetadataOrThrow( + java.lang.String key); + + /** + *
+     * (optional) Options for concurrency and consistency to save the state.
+     * 
+ * + * .spec.proto.runtime.v1.StateOptions options = 5; + * @return Whether the options field is set. + */ + boolean hasOptions(); + /** + *
+     * (optional) Options for concurrency and consistency to save the state.
+     * 
+ * + * .spec.proto.runtime.v1.StateOptions options = 5; + * @return The options. + */ + spec.proto.runtime.v1.RuntimeProto.StateOptions getOptions(); + /** + *
+     * (optional) Options for concurrency and consistency to save the state.
+     * 
+ * + * .spec.proto.runtime.v1.StateOptions options = 5; + */ + spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder getOptionsOrBuilder(); } /** *
-   * DeleteBulkStateRequest is the message to delete a list of key-value states from specific state store.
+   * StateItem represents state key, value, and additional options to save state.
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.DeleteBulkStateRequest} + * Protobuf type {@code spec.proto.runtime.v1.StateItem} */ - public static final class DeleteBulkStateRequest extends + public static final class StateItem extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.DeleteBulkStateRequest) - DeleteBulkStateRequestOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.StateItem) + StateItemOrBuilder { private static final long serialVersionUID = 0L; - // Use DeleteBulkStateRequest.newBuilder() to construct. - private DeleteBulkStateRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use StateItem.newBuilder() to construct. + private StateItem(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private DeleteBulkStateRequest() { - storeName_ = ""; - states_ = java.util.Collections.emptyList(); + private StateItem() { + key_ = ""; + value_ = com.google.protobuf.ByteString.EMPTY; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new DeleteBulkStateRequest(); + return new StateItem(); } @java.lang.Override @@ -30082,7 +38775,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private DeleteBulkStateRequest( + private StateItem( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -30104,16 +38797,51 @@ private DeleteBulkStateRequest( case 10: { java.lang.String s = input.readStringRequireUtf8(); - storeName_ = s; + key_ = s; break; } case 18: { + + value_ = input.readBytes(); + break; + } + case 26: { + spec.proto.runtime.v1.RuntimeProto.Etag.Builder subBuilder = null; + if (etag_ != null) { + subBuilder = etag_.toBuilder(); + } + etag_ = input.readMessage(spec.proto.runtime.v1.RuntimeProto.Etag.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(etag_); + etag_ = subBuilder.buildPartial(); + } + + break; + } + case 34: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { - states_ = new java.util.ArrayList(); + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); mutable_bitField0_ |= 0x00000001; } - states_.add( - input.readMessage(spec.proto.runtime.v1.RuntimeProto.StateItem.parser(), extensionRegistry)); + com.google.protobuf.MapEntry + metadata__ = input.readMessage( + MetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + metadata_.getMutableMap().put( + metadata__.getKey(), metadata__.getValue()); + break; + } + case 42: { + spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder subBuilder = null; + if (options_ != null) { + subBuilder = options_.toBuilder(); + } + options_ = input.readMessage(spec.proto.runtime.v1.RuntimeProto.StateOptions.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(options_); + options_ = subBuilder.buildPartial(); + } + break; } default: { @@ -30131,130 +38859,270 @@ private DeleteBulkStateRequest( throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - states_ = java.util.Collections.unmodifiableList(states_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteBulkStateRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateItem_descriptor; } + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 4: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteBulkStateRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateItem_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest.class, spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.StateItem.class, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder.class); } - public static final int STORE_NAME_FIELD_NUMBER = 1; - private volatile java.lang.Object storeName_; + public static final int KEY_FIELD_NUMBER = 1; + private volatile java.lang.Object key_; /** *
-     * Required. The name of state store.
+     * Required. The state key
      * 
* - * string store_name = 1; - * @return The storeName. + * string key = 1; + * @return The key. */ @java.lang.Override - public java.lang.String getStoreName() { - java.lang.Object ref = storeName_; + public java.lang.String getKey() { + java.lang.Object ref = key_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - storeName_ = s; + key_ = s; return s; } } /** *
-     * Required. The name of state store.
+     * Required. The state key
      * 
* - * string store_name = 1; - * @return The bytes for storeName. + * string key = 1; + * @return The bytes for key. */ @java.lang.Override public com.google.protobuf.ByteString - getStoreNameBytes() { - java.lang.Object ref = storeName_; + getKeyBytes() { + java.lang.Object ref = key_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - storeName_ = b; + key_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } - public static final int STATES_FIELD_NUMBER = 2; - private java.util.List states_; + public static final int VALUE_FIELD_NUMBER = 2; + private com.google.protobuf.ByteString value_; /** *
-     * Required. The array of the state key values.
+     * Required. The state data for key
      * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * bytes value = 2; + * @return The value. */ @java.lang.Override - public java.util.List getStatesList() { - return states_; + public com.google.protobuf.ByteString getValue() { + return value_; } + + public static final int ETAG_FIELD_NUMBER = 3; + private spec.proto.runtime.v1.RuntimeProto.Etag etag_; /** *
-     * Required. The array of the state key values.
+     * (optional) The entity tag which represents the specific version of data.
+     * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
      * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * .spec.proto.runtime.v1.Etag etag = 3; + * @return Whether the etag field is set. */ @java.lang.Override - public java.util.List - getStatesOrBuilderList() { - return states_; + public boolean hasEtag() { + return etag_ != null; } /** *
-     * Required. The array of the state key values.
+     * (optional) The entity tag which represents the specific version of data.
+     * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
      * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * .spec.proto.runtime.v1.Etag etag = 3; + * @return The etag. */ @java.lang.Override - public int getStatesCount() { - return states_.size(); + public spec.proto.runtime.v1.RuntimeProto.Etag getEtag() { + return etag_ == null ? spec.proto.runtime.v1.RuntimeProto.Etag.getDefaultInstance() : etag_; } /** *
-     * Required. The array of the state key values.
+     * (optional) The entity tag which represents the specific version of data.
+     * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
      * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * .spec.proto.runtime.v1.Etag etag = 3; */ @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateItem getStates(int index) { - return states_.get(index); + public spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder getEtagOrBuilder() { + return getEtag(); + } + + public static final int METADATA_FIELD_NUMBER = 4; + private static final class MetadataDefaultEntryHolder { + static final com.google.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateItem_MetadataEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + return metadata_; + } + + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); } /** *
-     * Required. The array of the state key values.
+     * (optional) additional key-value pairs to be passed to the state store.
      * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * map<string, string> metadata = 4; */ + @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder getStatesOrBuilder( - int index) { - return states_.get(index); + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); + } + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); + } + /** + *
+     * (optional) additional key-value pairs to be passed to the state store.
+     * 
+ * + * map<string, string> metadata = 4; + */ + @java.lang.Override + + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); + } + /** + *
+     * (optional) additional key-value pairs to be passed to the state store.
+     * 
+ * + * map<string, string> metadata = 4; + */ + @java.lang.Override + + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+     * (optional) additional key-value pairs to be passed to the state store.
+     * 
+ * + * map<string, string> metadata = 4; + */ + @java.lang.Override + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public static final int OPTIONS_FIELD_NUMBER = 5; + private spec.proto.runtime.v1.RuntimeProto.StateOptions options_; + /** + *
+     * (optional) Options for concurrency and consistency to save the state.
+     * 
+ * + * .spec.proto.runtime.v1.StateOptions options = 5; + * @return Whether the options field is set. + */ + @java.lang.Override + public boolean hasOptions() { + return options_ != null; + } + /** + *
+     * (optional) Options for concurrency and consistency to save the state.
+     * 
+ * + * .spec.proto.runtime.v1.StateOptions options = 5; + * @return The options. + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.StateOptions getOptions() { + return options_ == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.getDefaultInstance() : options_; + } + /** + *
+     * (optional) Options for concurrency and consistency to save the state.
+     * 
+ * + * .spec.proto.runtime.v1.StateOptions options = 5; + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder getOptionsOrBuilder() { + return getOptions(); } private byte memoizedIsInitialized = -1; @@ -30271,11 +39139,23 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!getStoreNameBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); + if (!getKeyBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, key_); } - for (int i = 0; i < states_.size(); i++) { - output.writeMessage(2, states_.get(i)); + if (!value_.isEmpty()) { + output.writeBytes(2, value_); + } + if (etag_ != null) { + output.writeMessage(3, getEtag()); + } + com.google.protobuf.GeneratedMessageV3 + .serializeStringMapTo( + output, + internalGetMetadata(), + MetadataDefaultEntryHolder.defaultEntry, + 4); + if (options_ != null) { + output.writeMessage(5, getOptions()); } unknownFields.writeTo(output); } @@ -30286,12 +39166,30 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!getStoreNameBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); + if (!getKeyBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, key_); } - for (int i = 0; i < states_.size(); i++) { + if (!value_.isEmpty()) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, states_.get(i)); + .computeBytesSize(2, value_); + } + if (etag_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getEtag()); + } + for (java.util.Map.Entry entry + : internalGetMetadata().getMap().entrySet()) { + com.google.protobuf.MapEntry + metadata__ = MetadataDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, metadata__); + } + if (options_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getOptions()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -30303,15 +39201,27 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.StateItem)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest other = (spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest) obj; + spec.proto.runtime.v1.RuntimeProto.StateItem other = (spec.proto.runtime.v1.RuntimeProto.StateItem) obj; - if (!getStoreName() - .equals(other.getStoreName())) return false; - if (!getStatesList() - .equals(other.getStatesList())) return false; + if (!getKey() + .equals(other.getKey())) return false; + if (!getValue() + .equals(other.getValue())) return false; + if (hasEtag() != other.hasEtag()) return false; + if (hasEtag()) { + if (!getEtag() + .equals(other.getEtag())) return false; + } + if (!internalGetMetadata().equals( + other.internalGetMetadata())) return false; + if (hasOptions() != other.hasOptions()) return false; + if (hasOptions()) { + if (!getOptions() + .equals(other.getOptions())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -30323,80 +39233,90 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + STORE_NAME_FIELD_NUMBER; - hash = (53 * hash) + getStoreName().hashCode(); - if (getStatesCount() > 0) { - hash = (37 * hash) + STATES_FIELD_NUMBER; - hash = (53 * hash) + getStatesList().hashCode(); + hash = (37 * hash) + KEY_FIELD_NUMBER; + hash = (53 * hash) + getKey().hashCode(); + hash = (37 * hash) + VALUE_FIELD_NUMBER; + hash = (53 * hash) + getValue().hashCode(); + if (hasEtag()) { + hash = (37 * hash) + ETAG_FIELD_NUMBER; + hash = (53 * hash) + getEtag().hashCode(); + } + if (!internalGetMetadata().getMap().isEmpty()) { + hash = (37 * hash) + METADATA_FIELD_NUMBER; + hash = (53 * hash) + internalGetMetadata().hashCode(); + } + if (hasOptions()) { + hash = (37 * hash) + OPTIONS_FIELD_NUMBER; + hash = (53 * hash) + getOptions().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.StateItem parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.StateItem parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -30409,7 +39329,7 @@ public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parseFro public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.StateItem prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -30426,29 +39346,51 @@ protected Builder newBuilderForType( } /** *
-     * DeleteBulkStateRequest is the message to delete a list of key-value states from specific state store.
+     * StateItem represents state key, value, and additional options to save state.
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.DeleteBulkStateRequest} + * Protobuf type {@code spec.proto.runtime.v1.StateItem} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.DeleteBulkStateRequest) - spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequestOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.StateItem) + spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteBulkStateRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateItem_descriptor; } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 4: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMutableMapField( + int number) { + switch (number) { + case 4: + return internalGetMutableMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteBulkStateRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateItem_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest.class, spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.StateItem.class, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.StateItem.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -30461,19 +39403,27 @@ private Builder( private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getStatesFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - storeName_ = ""; + key_ = ""; - if (statesBuilder_ == null) { - states_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + value_ = com.google.protobuf.ByteString.EMPTY; + + if (etagBuilder_ == null) { + etag_ = null; } else { - statesBuilder_.clear(); + etag_ = null; + etagBuilder_ = null; + } + internalGetMutableMetadata().clear(); + if (optionsBuilder_ == null) { + options_ = null; + } else { + options_ = null; + optionsBuilder_ = null; } return this; } @@ -30481,17 +39431,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_DeleteBulkStateRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateItem_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.StateItem getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.StateItem.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest build() { - spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.StateItem build() { + spec.proto.runtime.v1.RuntimeProto.StateItem result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -30499,18 +39449,22 @@ public spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest buildPartial() { - spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest result = new spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest(this); + public spec.proto.runtime.v1.RuntimeProto.StateItem buildPartial() { + spec.proto.runtime.v1.RuntimeProto.StateItem result = new spec.proto.runtime.v1.RuntimeProto.StateItem(this); int from_bitField0_ = bitField0_; - result.storeName_ = storeName_; - if (statesBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - states_ = java.util.Collections.unmodifiableList(states_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.states_ = states_; + result.key_ = key_; + result.value_ = value_; + if (etagBuilder_ == null) { + result.etag_ = etag_; } else { - result.states_ = statesBuilder_.build(); + result.etag_ = etagBuilder_.build(); + } + result.metadata_ = internalGetMetadata(); + result.metadata_.makeImmutable(); + if (optionsBuilder_ == null) { + result.options_ = options_; + } else { + result.options_ = optionsBuilder_.build(); } onBuilt(); return result; @@ -30550,45 +39504,30 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.StateItem) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.StateItem)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest other) { - if (other == spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest.getDefaultInstance()) return this; - if (!other.getStoreName().isEmpty()) { - storeName_ = other.storeName_; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.StateItem other) { + if (other == spec.proto.runtime.v1.RuntimeProto.StateItem.getDefaultInstance()) return this; + if (!other.getKey().isEmpty()) { + key_ = other.key_; onChanged(); } - if (statesBuilder_ == null) { - if (!other.states_.isEmpty()) { - if (states_.isEmpty()) { - states_ = other.states_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureStatesIsMutable(); - states_.addAll(other.states_); - } - onChanged(); - } - } else { - if (!other.states_.isEmpty()) { - if (statesBuilder_.isEmpty()) { - statesBuilder_.dispose(); - statesBuilder_ = null; - states_ = other.states_; - bitField0_ = (bitField0_ & ~0x00000001); - statesBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getStatesFieldBuilder() : null; - } else { - statesBuilder_.addAllMessages(other.states_); - } - } + if (other.getValue() != com.google.protobuf.ByteString.EMPTY) { + setValue(other.getValue()); + } + if (other.hasEtag()) { + mergeEtag(other.getEtag()); + } + internalGetMutableMetadata().mergeFrom( + other.internalGetMetadata()); + if (other.hasOptions()) { + mergeOptions(other.getOptions()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -30605,11 +39544,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.StateItem parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.StateItem) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -30620,22 +39559,22 @@ public Builder mergeFrom( } private int bitField0_; - private java.lang.Object storeName_ = ""; + private java.lang.Object key_ = ""; /** *
-       * Required. The name of state store.
+       * Required. The state key
        * 
* - * string store_name = 1; - * @return The storeName. + * string key = 1; + * @return The key. */ - public java.lang.String getStoreName() { - java.lang.Object ref = storeName_; + public java.lang.String getKey() { + java.lang.Object ref = key_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - storeName_ = s; + key_ = s; return s; } else { return (java.lang.String) ref; @@ -30643,20 +39582,20 @@ public java.lang.String getStoreName() { } /** *
-       * Required. The name of state store.
+       * Required. The state key
        * 
* - * string store_name = 1; - * @return The bytes for storeName. + * string key = 1; + * @return The bytes for key. */ public com.google.protobuf.ByteString - getStoreNameBytes() { - java.lang.Object ref = storeName_; + getKeyBytes() { + java.lang.Object ref = key_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - storeName_ = b; + key_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; @@ -30664,368 +39603,577 @@ public java.lang.String getStoreName() { } /** *
-       * Required. The name of state store.
+       * Required. The state key
        * 
* - * string store_name = 1; - * @param value The storeName to set. + * string key = 1; + * @param value The key to set. * @return This builder for chaining. */ - public Builder setStoreName( + public Builder setKey( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - storeName_ = value; + key_ = value; onChanged(); return this; } /** *
-       * Required. The name of state store.
+       * Required. The state key
        * 
* - * string store_name = 1; + * string key = 1; * @return This builder for chaining. */ - public Builder clearStoreName() { + public Builder clearKey() { - storeName_ = getDefaultInstance().getStoreName(); + key_ = getDefaultInstance().getKey(); + onChanged(); + return this; + } + /** + *
+       * Required. The state key
+       * 
+ * + * string key = 1; + * @param value The bytes for key to set. + * @return This builder for chaining. + */ + public Builder setKeyBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + key_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.ByteString value_ = com.google.protobuf.ByteString.EMPTY; + /** + *
+       * Required. The state data for key
+       * 
+ * + * bytes value = 2; + * @return The value. + */ + @java.lang.Override + public com.google.protobuf.ByteString getValue() { + return value_; + } + /** + *
+       * Required. The state data for key
+       * 
+ * + * bytes value = 2; + * @param value The value to set. + * @return This builder for chaining. + */ + public Builder setValue(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + + value_ = value; + onChanged(); + return this; + } + /** + *
+       * Required. The state data for key
+       * 
+ * + * bytes value = 2; + * @return This builder for chaining. + */ + public Builder clearValue() { + + value_ = getDefaultInstance().getValue(); onChanged(); return this; } + + private spec.proto.runtime.v1.RuntimeProto.Etag etag_; + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.Etag, spec.proto.runtime.v1.RuntimeProto.Etag.Builder, spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder> etagBuilder_; + /** + *
+       * (optional) The entity tag which represents the specific version of data.
+       * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
+       * 
+ * + * .spec.proto.runtime.v1.Etag etag = 3; + * @return Whether the etag field is set. + */ + public boolean hasEtag() { + return etagBuilder_ != null || etag_ != null; + } + /** + *
+       * (optional) The entity tag which represents the specific version of data.
+       * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
+       * 
+ * + * .spec.proto.runtime.v1.Etag etag = 3; + * @return The etag. + */ + public spec.proto.runtime.v1.RuntimeProto.Etag getEtag() { + if (etagBuilder_ == null) { + return etag_ == null ? spec.proto.runtime.v1.RuntimeProto.Etag.getDefaultInstance() : etag_; + } else { + return etagBuilder_.getMessage(); + } + } + /** + *
+       * (optional) The entity tag which represents the specific version of data.
+       * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
+       * 
+ * + * .spec.proto.runtime.v1.Etag etag = 3; + */ + public Builder setEtag(spec.proto.runtime.v1.RuntimeProto.Etag value) { + if (etagBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + etag_ = value; + onChanged(); + } else { + etagBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * (optional) The entity tag which represents the specific version of data.
+       * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
+       * 
+ * + * .spec.proto.runtime.v1.Etag etag = 3; + */ + public Builder setEtag( + spec.proto.runtime.v1.RuntimeProto.Etag.Builder builderForValue) { + if (etagBuilder_ == null) { + etag_ = builderForValue.build(); + onChanged(); + } else { + etagBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * (optional) The entity tag which represents the specific version of data.
+       * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
+       * 
+ * + * .spec.proto.runtime.v1.Etag etag = 3; + */ + public Builder mergeEtag(spec.proto.runtime.v1.RuntimeProto.Etag value) { + if (etagBuilder_ == null) { + if (etag_ != null) { + etag_ = + spec.proto.runtime.v1.RuntimeProto.Etag.newBuilder(etag_).mergeFrom(value).buildPartial(); + } else { + etag_ = value; + } + onChanged(); + } else { + etagBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * (optional) The entity tag which represents the specific version of data.
+       * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
+       * 
+ * + * .spec.proto.runtime.v1.Etag etag = 3; + */ + public Builder clearEtag() { + if (etagBuilder_ == null) { + etag_ = null; + onChanged(); + } else { + etag_ = null; + etagBuilder_ = null; + } + + return this; + } + /** + *
+       * (optional) The entity tag which represents the specific version of data.
+       * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
+       * 
+ * + * .spec.proto.runtime.v1.Etag etag = 3; + */ + public spec.proto.runtime.v1.RuntimeProto.Etag.Builder getEtagBuilder() { + + onChanged(); + return getEtagFieldBuilder().getBuilder(); + } + /** + *
+       * (optional) The entity tag which represents the specific version of data.
+       * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
+       * 
+ * + * .spec.proto.runtime.v1.Etag etag = 3; + */ + public spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder getEtagOrBuilder() { + if (etagBuilder_ != null) { + return etagBuilder_.getMessageOrBuilder(); + } else { + return etag_ == null ? + spec.proto.runtime.v1.RuntimeProto.Etag.getDefaultInstance() : etag_; + } + } + /** + *
+       * (optional) The entity tag which represents the specific version of data.
+       * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
+       * 
+ * + * .spec.proto.runtime.v1.Etag etag = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.Etag, spec.proto.runtime.v1.RuntimeProto.Etag.Builder, spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder> + getEtagFieldBuilder() { + if (etagBuilder_ == null) { + etagBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.Etag, spec.proto.runtime.v1.RuntimeProto.Etag.Builder, spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder>( + getEtag(), + getParentForChildren(), + isClean()); + etag_ = null; + } + return etagBuilder_; + } + + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + return metadata_; + } + private com.google.protobuf.MapField + internalGetMutableMetadata() { + onChanged();; + if (metadata_ == null) { + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + if (!metadata_.isMutable()) { + metadata_ = metadata_.copy(); + } + return metadata_; + } + + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); + } /** *
-       * Required. The name of state store.
+       * (optional) additional key-value pairs to be passed to the state store.
        * 
* - * string store_name = 1; - * @param value The bytes for storeName to set. - * @return This builder for chaining. + * map<string, string> metadata = 4; */ - public Builder setStoreNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - storeName_ = value; - onChanged(); - return this; - } - private java.util.List states_ = - java.util.Collections.emptyList(); - private void ensureStatesIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - states_ = new java.util.ArrayList(states_); - bitField0_ |= 0x00000001; - } + @java.lang.Override + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); } - - private com.google.protobuf.RepeatedFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.StateItem, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder, spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder> statesBuilder_; - /** - *
-       * Required. The array of the state key values.
-       * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * Use {@link #getMetadataMap()} instead. */ - public java.util.List getStatesList() { - if (statesBuilder_ == null) { - return java.util.Collections.unmodifiableList(states_); - } else { - return statesBuilder_.getMessageList(); - } + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); } /** *
-       * Required. The array of the state key values.
+       * (optional) additional key-value pairs to be passed to the state store.
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * map<string, string> metadata = 4; */ - public int getStatesCount() { - if (statesBuilder_ == null) { - return states_.size(); - } else { - return statesBuilder_.getCount(); - } + @java.lang.Override + + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); } /** *
-       * Required. The array of the state key values.
+       * (optional) additional key-value pairs to be passed to the state store.
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * map<string, string> metadata = 4; */ - public spec.proto.runtime.v1.RuntimeProto.StateItem getStates(int index) { - if (statesBuilder_ == null) { - return states_.get(index); - } else { - return statesBuilder_.getMessage(index); - } + @java.lang.Override + + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
-       * Required. The array of the state key values.
+       * (optional) additional key-value pairs to be passed to the state store.
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * map<string, string> metadata = 4; */ - public Builder setStates( - int index, spec.proto.runtime.v1.RuntimeProto.StateItem value) { - if (statesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureStatesIsMutable(); - states_.set(index, value); - onChanged(); - } else { - statesBuilder_.setMessage(index, value); + @java.lang.Override + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); } + return map.get(key); + } + + public Builder clearMetadata() { + internalGetMutableMetadata().getMutableMap() + .clear(); return this; } /** *
-       * Required. The array of the state key values.
+       * (optional) additional key-value pairs to be passed to the state store.
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * map<string, string> metadata = 4; */ - public Builder setStates( - int index, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder builderForValue) { - if (statesBuilder_ == null) { - ensureStatesIsMutable(); - states_.set(index, builderForValue.build()); - onChanged(); - } else { - statesBuilder_.setMessage(index, builderForValue.build()); - } + + public Builder removeMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .remove(key); return this; } /** - *
-       * Required. The array of the state key values.
-       * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * Use alternate mutation accessors instead. */ - public Builder addStates(spec.proto.runtime.v1.RuntimeProto.StateItem value) { - if (statesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureStatesIsMutable(); - states_.add(value); - onChanged(); - } else { - statesBuilder_.addMessage(value); - } - return this; + @java.lang.Deprecated + public java.util.Map + getMutableMetadata() { + return internalGetMutableMetadata().getMutableMap(); } /** *
-       * Required. The array of the state key values.
+       * (optional) additional key-value pairs to be passed to the state store.
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * map<string, string> metadata = 4; */ - public Builder addStates( - int index, spec.proto.runtime.v1.RuntimeProto.StateItem value) { - if (statesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureStatesIsMutable(); - states_.add(index, value); - onChanged(); - } else { - statesBuilder_.addMessage(index, value); - } + public Builder putMetadata( + java.lang.String key, + java.lang.String value) { + if (key == null) { throw new java.lang.NullPointerException(); } + if (value == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .put(key, value); return this; } /** *
-       * Required. The array of the state key values.
+       * (optional) additional key-value pairs to be passed to the state store.
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * map<string, string> metadata = 4; */ - public Builder addStates( - spec.proto.runtime.v1.RuntimeProto.StateItem.Builder builderForValue) { - if (statesBuilder_ == null) { - ensureStatesIsMutable(); - states_.add(builderForValue.build()); - onChanged(); - } else { - statesBuilder_.addMessage(builderForValue.build()); - } + + public Builder putAllMetadata( + java.util.Map values) { + internalGetMutableMetadata().getMutableMap() + .putAll(values); return this; } + + private spec.proto.runtime.v1.RuntimeProto.StateOptions options_; + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.StateOptions, spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder, spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder> optionsBuilder_; /** *
-       * Required. The array of the state key values.
+       * (optional) Options for concurrency and consistency to save the state.
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * .spec.proto.runtime.v1.StateOptions options = 5; + * @return Whether the options field is set. */ - public Builder addStates( - int index, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder builderForValue) { - if (statesBuilder_ == null) { - ensureStatesIsMutable(); - states_.add(index, builderForValue.build()); - onChanged(); - } else { - statesBuilder_.addMessage(index, builderForValue.build()); - } - return this; + public boolean hasOptions() { + return optionsBuilder_ != null || options_ != null; } /** *
-       * Required. The array of the state key values.
+       * (optional) Options for concurrency and consistency to save the state.
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * .spec.proto.runtime.v1.StateOptions options = 5; + * @return The options. */ - public Builder addAllStates( - java.lang.Iterable values) { - if (statesBuilder_ == null) { - ensureStatesIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, states_); - onChanged(); + public spec.proto.runtime.v1.RuntimeProto.StateOptions getOptions() { + if (optionsBuilder_ == null) { + return options_ == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.getDefaultInstance() : options_; } else { - statesBuilder_.addAllMessages(values); + return optionsBuilder_.getMessage(); } - return this; } /** *
-       * Required. The array of the state key values.
+       * (optional) Options for concurrency and consistency to save the state.
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * .spec.proto.runtime.v1.StateOptions options = 5; */ - public Builder clearStates() { - if (statesBuilder_ == null) { - states_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + public Builder setOptions(spec.proto.runtime.v1.RuntimeProto.StateOptions value) { + if (optionsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + options_ = value; onChanged(); } else { - statesBuilder_.clear(); + optionsBuilder_.setMessage(value); } + return this; } /** *
-       * Required. The array of the state key values.
+       * (optional) Options for concurrency and consistency to save the state.
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * .spec.proto.runtime.v1.StateOptions options = 5; */ - public Builder removeStates(int index) { - if (statesBuilder_ == null) { - ensureStatesIsMutable(); - states_.remove(index); + public Builder setOptions( + spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder builderForValue) { + if (optionsBuilder_ == null) { + options_ = builderForValue.build(); onChanged(); } else { - statesBuilder_.remove(index); + optionsBuilder_.setMessage(builderForValue.build()); } + return this; } /** *
-       * Required. The array of the state key values.
-       * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - public spec.proto.runtime.v1.RuntimeProto.StateItem.Builder getStatesBuilder( - int index) { - return getStatesFieldBuilder().getBuilder(index); - } - /** - *
-       * Required. The array of the state key values.
+       * (optional) Options for concurrency and consistency to save the state.
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * .spec.proto.runtime.v1.StateOptions options = 5; */ - public spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder getStatesOrBuilder( - int index) { - if (statesBuilder_ == null) { - return states_.get(index); } else { - return statesBuilder_.getMessageOrBuilder(index); + public Builder mergeOptions(spec.proto.runtime.v1.RuntimeProto.StateOptions value) { + if (optionsBuilder_ == null) { + if (options_ != null) { + options_ = + spec.proto.runtime.v1.RuntimeProto.StateOptions.newBuilder(options_).mergeFrom(value).buildPartial(); + } else { + options_ = value; + } + onChanged(); + } else { + optionsBuilder_.mergeFrom(value); } + + return this; } /** *
-       * Required. The array of the state key values.
+       * (optional) Options for concurrency and consistency to save the state.
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * .spec.proto.runtime.v1.StateOptions options = 5; */ - public java.util.List - getStatesOrBuilderList() { - if (statesBuilder_ != null) { - return statesBuilder_.getMessageOrBuilderList(); + public Builder clearOptions() { + if (optionsBuilder_ == null) { + options_ = null; + onChanged(); } else { - return java.util.Collections.unmodifiableList(states_); + options_ = null; + optionsBuilder_ = null; } + + return this; } /** *
-       * Required. The array of the state key values.
+       * (optional) Options for concurrency and consistency to save the state.
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * .spec.proto.runtime.v1.StateOptions options = 5; */ - public spec.proto.runtime.v1.RuntimeProto.StateItem.Builder addStatesBuilder() { - return getStatesFieldBuilder().addBuilder( - spec.proto.runtime.v1.RuntimeProto.StateItem.getDefaultInstance()); + public spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder getOptionsBuilder() { + + onChanged(); + return getOptionsFieldBuilder().getBuilder(); } /** *
-       * Required. The array of the state key values.
+       * (optional) Options for concurrency and consistency to save the state.
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * .spec.proto.runtime.v1.StateOptions options = 5; */ - public spec.proto.runtime.v1.RuntimeProto.StateItem.Builder addStatesBuilder( - int index) { - return getStatesFieldBuilder().addBuilder( - index, spec.proto.runtime.v1.RuntimeProto.StateItem.getDefaultInstance()); + public spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder getOptionsOrBuilder() { + if (optionsBuilder_ != null) { + return optionsBuilder_.getMessageOrBuilder(); + } else { + return options_ == null ? + spec.proto.runtime.v1.RuntimeProto.StateOptions.getDefaultInstance() : options_; + } } /** *
-       * Required. The array of the state key values.
+       * (optional) Options for concurrency and consistency to save the state.
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * .spec.proto.runtime.v1.StateOptions options = 5; */ - public java.util.List - getStatesBuilderList() { - return getStatesFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.StateItem, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder, spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder> - getStatesFieldBuilder() { - if (statesBuilder_ == null) { - statesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.StateItem, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder, spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder>( - states_, - ((bitField0_ & 0x00000001) != 0), + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.StateOptions, spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder, spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder> + getOptionsFieldBuilder() { + if (optionsBuilder_ == null) { + optionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.StateOptions, spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder, spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder>( + getOptions(), getParentForChildren(), isClean()); - states_ = null; + options_ = null; } - return statesBuilder_; + return optionsBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -31040,140 +40188,95 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.DeleteBulkStateRequest) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.StateItem) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.DeleteBulkStateRequest) - private static final spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.StateItem) + private static final spec.proto.runtime.v1.RuntimeProto.StateItem DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.StateItem(); } - public static spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.StateItem getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public DeleteBulkStateRequest parsePartialFrom( + public StateItem parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new DeleteBulkStateRequest(input, extensionRegistry); + return new StateItem(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.DeleteBulkStateRequest getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.StateItem getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface SaveStateRequestOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.SaveStateRequest) + public interface EtagOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.Etag) com.google.protobuf.MessageOrBuilder { /** *
-     * Required. The name of state store.
+     * value sets the etag value
      * 
* - * string store_name = 1; - * @return The storeName. + * string value = 1; + * @return The value. */ - java.lang.String getStoreName(); + java.lang.String getValue(); /** *
-     * Required. The name of state store.
+     * value sets the etag value
      * 
* - * string store_name = 1; - * @return The bytes for storeName. + * string value = 1; + * @return The bytes for value. */ com.google.protobuf.ByteString - getStoreNameBytes(); - - /** - *
-     * Required. The array of the state key values.
-     * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - java.util.List - getStatesList(); - /** - *
-     * Required. The array of the state key values.
-     * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - spec.proto.runtime.v1.RuntimeProto.StateItem getStates(int index); - /** - *
-     * Required. The array of the state key values.
-     * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - int getStatesCount(); - /** - *
-     * Required. The array of the state key values.
-     * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - java.util.List - getStatesOrBuilderList(); - /** - *
-     * Required. The array of the state key values.
-     * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder getStatesOrBuilder( - int index); + getValueBytes(); } /** *
-   * SaveStateRequest is the message to save multiple states into state store.
+   * Etag represents a state item version
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.SaveStateRequest} + * Protobuf type {@code spec.proto.runtime.v1.Etag} */ - public static final class SaveStateRequest extends + public static final class Etag extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.SaveStateRequest) - SaveStateRequestOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.Etag) + EtagOrBuilder { private static final long serialVersionUID = 0L; - // Use SaveStateRequest.newBuilder() to construct. - private SaveStateRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use Etag.newBuilder() to construct. + private Etag(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private SaveStateRequest() { - storeName_ = ""; - states_ = java.util.Collections.emptyList(); + private Etag() { + value_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new SaveStateRequest(); + return new Etag(); } @java.lang.Override @@ -31181,7 +40284,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private SaveStateRequest( + private Etag( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -31189,7 +40292,6 @@ private SaveStateRequest( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -31203,16 +40305,7 @@ private SaveStateRequest( case 10: { java.lang.String s = input.readStringRequireUtf8(); - storeName_ = s; - break; - } - case 18: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - states_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - states_.add( - input.readMessage(spec.proto.runtime.v1.RuntimeProto.StateItem.parser(), extensionRegistry)); + value_ = s; break; } default: { @@ -31230,132 +40323,69 @@ private SaveStateRequest( throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - states_ = java.util.Collections.unmodifiableList(states_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveStateRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_Etag_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveStateRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_Etag_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.SaveStateRequest.class, spec.proto.runtime.v1.RuntimeProto.SaveStateRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.Etag.class, spec.proto.runtime.v1.RuntimeProto.Etag.Builder.class); } - public static final int STORE_NAME_FIELD_NUMBER = 1; - private volatile java.lang.Object storeName_; + public static final int VALUE_FIELD_NUMBER = 1; + private volatile java.lang.Object value_; /** *
-     * Required. The name of state store.
+     * value sets the etag value
      * 
* - * string store_name = 1; - * @return The storeName. + * string value = 1; + * @return The value. */ @java.lang.Override - public java.lang.String getStoreName() { - java.lang.Object ref = storeName_; + public java.lang.String getValue() { + java.lang.Object ref = value_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - storeName_ = s; + value_ = s; return s; } } /** *
-     * Required. The name of state store.
+     * value sets the etag value
      * 
* - * string store_name = 1; - * @return The bytes for storeName. + * string value = 1; + * @return The bytes for value. */ @java.lang.Override public com.google.protobuf.ByteString - getStoreNameBytes() { - java.lang.Object ref = storeName_; + getValueBytes() { + java.lang.Object ref = value_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - storeName_ = b; + value_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } - public static final int STATES_FIELD_NUMBER = 2; - private java.util.List states_; - /** - *
-     * Required. The array of the state key values.
-     * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - @java.lang.Override - public java.util.List getStatesList() { - return states_; - } - /** - *
-     * Required. The array of the state key values.
-     * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - @java.lang.Override - public java.util.List - getStatesOrBuilderList() { - return states_; - } - /** - *
-     * Required. The array of the state key values.
-     * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - @java.lang.Override - public int getStatesCount() { - return states_.size(); - } - /** - *
-     * Required. The array of the state key values.
-     * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateItem getStates(int index) { - return states_.get(index); - } - /** - *
-     * Required. The array of the state key values.
-     * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder getStatesOrBuilder( - int index) { - return states_.get(index); - } - private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -31370,11 +40400,8 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!getStoreNameBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); - } - for (int i = 0; i < states_.size(); i++) { - output.writeMessage(2, states_.get(i)); + if (!getValueBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, value_); } unknownFields.writeTo(output); } @@ -31385,12 +40412,8 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!getStoreNameBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); - } - for (int i = 0; i < states_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, states_.get(i)); + if (!getValueBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, value_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -31402,15 +40425,13 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.SaveStateRequest)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.Etag)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.SaveStateRequest other = (spec.proto.runtime.v1.RuntimeProto.SaveStateRequest) obj; + spec.proto.runtime.v1.RuntimeProto.Etag other = (spec.proto.runtime.v1.RuntimeProto.Etag) obj; - if (!getStoreName() - .equals(other.getStoreName())) return false; - if (!getStatesList() - .equals(other.getStatesList())) return false; + if (!getValue() + .equals(other.getValue())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -31422,80 +40443,76 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + STORE_NAME_FIELD_NUMBER; - hash = (53 * hash) + getStoreName().hashCode(); - if (getStatesCount() > 0) { - hash = (37 * hash) + STATES_FIELD_NUMBER; - hash = (53 * hash) + getStatesList().hashCode(); - } + hash = (37 * hash) + VALUE_FIELD_NUMBER; + hash = (53 * hash) + getValue().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.Etag parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.Etag parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -31508,7 +40525,7 @@ public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.SaveStateRequest prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.Etag prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -31525,29 +40542,29 @@ protected Builder newBuilderForType( } /** *
-     * SaveStateRequest is the message to save multiple states into state store.
+     * Etag represents a state item version
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.SaveStateRequest} + * Protobuf type {@code spec.proto.runtime.v1.Etag} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.SaveStateRequest) - spec.proto.runtime.v1.RuntimeProto.SaveStateRequestOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.Etag) + spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveStateRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_Etag_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveStateRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_Etag_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.SaveStateRequest.class, spec.proto.runtime.v1.RuntimeProto.SaveStateRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.Etag.class, spec.proto.runtime.v1.RuntimeProto.Etag.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.SaveStateRequest.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.Etag.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -31560,37 +40577,30 @@ private Builder( private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getStatesFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - storeName_ = ""; + value_ = ""; - if (statesBuilder_ == null) { - states_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - statesBuilder_.clear(); - } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_SaveStateRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_Etag_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SaveStateRequest getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.SaveStateRequest.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.Etag getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.Etag.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SaveStateRequest build() { - spec.proto.runtime.v1.RuntimeProto.SaveStateRequest result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.Etag build() { + spec.proto.runtime.v1.RuntimeProto.Etag result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -31598,19 +40608,9 @@ public spec.proto.runtime.v1.RuntimeProto.SaveStateRequest build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SaveStateRequest buildPartial() { - spec.proto.runtime.v1.RuntimeProto.SaveStateRequest result = new spec.proto.runtime.v1.RuntimeProto.SaveStateRequest(this); - int from_bitField0_ = bitField0_; - result.storeName_ = storeName_; - if (statesBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - states_ = java.util.Collections.unmodifiableList(states_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.states_ = states_; - } else { - result.states_ = statesBuilder_.build(); - } + public spec.proto.runtime.v1.RuntimeProto.Etag buildPartial() { + spec.proto.runtime.v1.RuntimeProto.Etag result = new spec.proto.runtime.v1.RuntimeProto.Etag(this); + result.value_ = value_; onBuilt(); return result; } @@ -31625,506 +40625,167 @@ public Builder setField( java.lang.Object value) { return super.setField(field, value); } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.SaveStateRequest) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.SaveStateRequest)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.SaveStateRequest other) { - if (other == spec.proto.runtime.v1.RuntimeProto.SaveStateRequest.getDefaultInstance()) return this; - if (!other.getStoreName().isEmpty()) { - storeName_ = other.storeName_; - onChanged(); - } - if (statesBuilder_ == null) { - if (!other.states_.isEmpty()) { - if (states_.isEmpty()) { - states_ = other.states_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureStatesIsMutable(); - states_.addAll(other.states_); - } - onChanged(); - } - } else { - if (!other.states_.isEmpty()) { - if (statesBuilder_.isEmpty()) { - statesBuilder_.dispose(); - statesBuilder_ = null; - states_ = other.states_; - bitField0_ = (bitField0_ & ~0x00000001); - statesBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getStatesFieldBuilder() : null; - } else { - statesBuilder_.addAllMessages(other.states_); - } - } - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.SaveStateRequest parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.SaveStateRequest) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - private java.lang.Object storeName_ = ""; - /** - *
-       * Required. The name of state store.
-       * 
- * - * string store_name = 1; - * @return The storeName. - */ - public java.lang.String getStoreName() { - java.lang.Object ref = storeName_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - storeName_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * Required. The name of state store.
-       * 
- * - * string store_name = 1; - * @return The bytes for storeName. - */ - public com.google.protobuf.ByteString - getStoreNameBytes() { - java.lang.Object ref = storeName_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - storeName_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * Required. The name of state store.
-       * 
- * - * string store_name = 1; - * @param value The storeName to set. - * @return This builder for chaining. - */ - public Builder setStoreName( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - storeName_ = value; - onChanged(); - return this; - } - /** - *
-       * Required. The name of state store.
-       * 
- * - * string store_name = 1; - * @return This builder for chaining. - */ - public Builder clearStoreName() { - - storeName_ = getDefaultInstance().getStoreName(); - onChanged(); - return this; - } - /** - *
-       * Required. The name of state store.
-       * 
- * - * string store_name = 1; - * @param value The bytes for storeName to set. - * @return This builder for chaining. - */ - public Builder setStoreNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - storeName_ = value; - onChanged(); - return this; - } - - private java.util.List states_ = - java.util.Collections.emptyList(); - private void ensureStatesIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - states_ = new java.util.ArrayList(states_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.StateItem, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder, spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder> statesBuilder_; - - /** - *
-       * Required. The array of the state key values.
-       * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - public java.util.List getStatesList() { - if (statesBuilder_ == null) { - return java.util.Collections.unmodifiableList(states_); - } else { - return statesBuilder_.getMessageList(); - } - } - /** - *
-       * Required. The array of the state key values.
-       * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - public int getStatesCount() { - if (statesBuilder_ == null) { - return states_.size(); - } else { - return statesBuilder_.getCount(); - } - } - /** - *
-       * Required. The array of the state key values.
-       * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - public spec.proto.runtime.v1.RuntimeProto.StateItem getStates(int index) { - if (statesBuilder_ == null) { - return states_.get(index); - } else { - return statesBuilder_.getMessage(index); - } - } - /** - *
-       * Required. The array of the state key values.
-       * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - public Builder setStates( - int index, spec.proto.runtime.v1.RuntimeProto.StateItem value) { - if (statesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureStatesIsMutable(); - states_.set(index, value); - onChanged(); - } else { - statesBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-       * Required. The array of the state key values.
-       * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - public Builder setStates( - int index, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder builderForValue) { - if (statesBuilder_ == null) { - ensureStatesIsMutable(); - states_.set(index, builderForValue.build()); - onChanged(); - } else { - statesBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * Required. The array of the state key values.
-       * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - public Builder addStates(spec.proto.runtime.v1.RuntimeProto.StateItem value) { - if (statesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureStatesIsMutable(); - states_.add(value); - onChanged(); - } else { - statesBuilder_.addMessage(value); - } - return this; - } - /** - *
-       * Required. The array of the state key values.
-       * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - public Builder addStates( - int index, spec.proto.runtime.v1.RuntimeProto.StateItem value) { - if (statesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureStatesIsMutable(); - states_.add(index, value); - onChanged(); - } else { - statesBuilder_.addMessage(index, value); - } - return this; + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); } - /** - *
-       * Required. The array of the state key values.
-       * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - public Builder addStates( - spec.proto.runtime.v1.RuntimeProto.StateItem.Builder builderForValue) { - if (statesBuilder_ == null) { - ensureStatesIsMutable(); - states_.add(builderForValue.build()); - onChanged(); - } else { - statesBuilder_.addMessage(builderForValue.build()); - } - return this; + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); } - /** - *
-       * Required. The array of the state key values.
-       * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - public Builder addStates( - int index, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder builderForValue) { - if (statesBuilder_ == null) { - ensureStatesIsMutable(); - states_.add(index, builderForValue.build()); - onChanged(); - } else { - statesBuilder_.addMessage(index, builderForValue.build()); - } - return this; + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); } - /** - *
-       * Required. The array of the state key values.
-       * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - public Builder addAllStates( - java.lang.Iterable values) { - if (statesBuilder_ == null) { - ensureStatesIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, states_); - onChanged(); + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof spec.proto.runtime.v1.RuntimeProto.Etag) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.Etag)other); } else { - statesBuilder_.addAllMessages(values); + super.mergeFrom(other); + return this; } - return this; } - /** - *
-       * Required. The array of the state key values.
-       * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - public Builder clearStates() { - if (statesBuilder_ == null) { - states_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.Etag other) { + if (other == spec.proto.runtime.v1.RuntimeProto.Etag.getDefaultInstance()) return this; + if (!other.getValue().isEmpty()) { + value_ = other.value_; onChanged(); - } else { - statesBuilder_.clear(); } + this.mergeUnknownFields(other.unknownFields); + onChanged(); return this; } - /** - *
-       * Required. The array of the state key values.
-       * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - public Builder removeStates(int index) { - if (statesBuilder_ == null) { - ensureStatesIsMutable(); - states_.remove(index); - onChanged(); - } else { - statesBuilder_.remove(index); + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + spec.proto.runtime.v1.RuntimeProto.Etag parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.Etag) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } return this; } + + private java.lang.Object value_ = ""; /** *
-       * Required. The array of the state key values.
-       * 
- * - * repeated .spec.proto.runtime.v1.StateItem states = 2; - */ - public spec.proto.runtime.v1.RuntimeProto.StateItem.Builder getStatesBuilder( - int index) { - return getStatesFieldBuilder().getBuilder(index); - } - /** - *
-       * Required. The array of the state key values.
+       * value sets the etag value
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * string value = 1; + * @return The value. */ - public spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder getStatesOrBuilder( - int index) { - if (statesBuilder_ == null) { - return states_.get(index); } else { - return statesBuilder_.getMessageOrBuilder(index); + public java.lang.String getValue() { + java.lang.Object ref = value_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + value_ = s; + return s; + } else { + return (java.lang.String) ref; } } /** *
-       * Required. The array of the state key values.
+       * value sets the etag value
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * string value = 1; + * @return The bytes for value. */ - public java.util.List - getStatesOrBuilderList() { - if (statesBuilder_ != null) { - return statesBuilder_.getMessageOrBuilderList(); + public com.google.protobuf.ByteString + getValueBytes() { + java.lang.Object ref = value_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + value_ = b; + return b; } else { - return java.util.Collections.unmodifiableList(states_); + return (com.google.protobuf.ByteString) ref; } } /** *
-       * Required. The array of the state key values.
+       * value sets the etag value
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * string value = 1; + * @param value The value to set. + * @return This builder for chaining. */ - public spec.proto.runtime.v1.RuntimeProto.StateItem.Builder addStatesBuilder() { - return getStatesFieldBuilder().addBuilder( - spec.proto.runtime.v1.RuntimeProto.StateItem.getDefaultInstance()); + public Builder setValue( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + value_ = value; + onChanged(); + return this; } /** *
-       * Required. The array of the state key values.
+       * value sets the etag value
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * string value = 1; + * @return This builder for chaining. */ - public spec.proto.runtime.v1.RuntimeProto.StateItem.Builder addStatesBuilder( - int index) { - return getStatesFieldBuilder().addBuilder( - index, spec.proto.runtime.v1.RuntimeProto.StateItem.getDefaultInstance()); + public Builder clearValue() { + + value_ = getDefaultInstance().getValue(); + onChanged(); + return this; } /** *
-       * Required. The array of the state key values.
+       * value sets the etag value
        * 
* - * repeated .spec.proto.runtime.v1.StateItem states = 2; + * string value = 1; + * @param value The bytes for value to set. + * @return This builder for chaining. */ - public java.util.List - getStatesBuilderList() { - return getStatesFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.StateItem, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder, spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder> - getStatesFieldBuilder() { - if (statesBuilder_ == null) { - statesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.StateItem, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder, spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder>( - states_, - ((bitField0_ & 0x00000001) != 0), - getParentForChildren(), - isClean()); - states_ = null; - } - return statesBuilder_; + public Builder setValueBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + value_ = value; + onChanged(); + return this; } @java.lang.Override public final Builder setUnknownFields( @@ -32139,217 +40800,98 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.SaveStateRequest) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.Etag) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.SaveStateRequest) - private static final spec.proto.runtime.v1.RuntimeProto.SaveStateRequest DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.Etag) + private static final spec.proto.runtime.v1.RuntimeProto.Etag DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.SaveStateRequest(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.Etag(); } - public static spec.proto.runtime.v1.RuntimeProto.SaveStateRequest getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.Etag getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public SaveStateRequest parsePartialFrom( + public Etag parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new SaveStateRequest(input, extensionRegistry); + return new Etag(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.SaveStateRequest getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.Etag getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface StateItemOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.StateItem) + public interface StateOptionsOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.StateOptions) com.google.protobuf.MessageOrBuilder { /** - *
-     * Required. The state key
-     * 
- * - * string key = 1; - * @return The key. - */ - java.lang.String getKey(); - /** - *
-     * Required. The state key
-     * 
- * - * string key = 1; - * @return The bytes for key. - */ - com.google.protobuf.ByteString - getKeyBytes(); - - /** - *
-     * Required. The state data for key
-     * 
- * - * bytes value = 2; - * @return The value. - */ - com.google.protobuf.ByteString getValue(); - - /** - *
-     * (optional) The entity tag which represents the specific version of data.
-     * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
-     * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - * @return Whether the etag field is set. - */ - boolean hasEtag(); - /** - *
-     * (optional) The entity tag which represents the specific version of data.
-     * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
-     * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - * @return The etag. - */ - spec.proto.runtime.v1.RuntimeProto.Etag getEtag(); - /** - *
-     * (optional) The entity tag which represents the specific version of data.
-     * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
-     * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - */ - spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder getEtagOrBuilder(); - - /** - *
-     * (optional) additional key-value pairs to be passed to the state store.
-     * 
- * - * map<string, string> metadata = 4; - */ - int getMetadataCount(); - /** - *
-     * (optional) additional key-value pairs to be passed to the state store.
-     * 
- * - * map<string, string> metadata = 4; - */ - boolean containsMetadata( - java.lang.String key); - /** - * Use {@link #getMetadataMap()} instead. - */ - @java.lang.Deprecated - java.util.Map - getMetadata(); - /** - *
-     * (optional) additional key-value pairs to be passed to the state store.
-     * 
- * - * map<string, string> metadata = 4; - */ - java.util.Map - getMetadataMap(); - /** - *
-     * (optional) additional key-value pairs to be passed to the state store.
-     * 
- * - * map<string, string> metadata = 4; + * .spec.proto.runtime.v1.StateOptions.StateConcurrency concurrency = 1; + * @return The enum numeric value on the wire for concurrency. */ - - java.lang.String getMetadataOrDefault( - java.lang.String key, - java.lang.String defaultValue); + int getConcurrencyValue(); /** - *
-     * (optional) additional key-value pairs to be passed to the state store.
-     * 
- * - * map<string, string> metadata = 4; + * .spec.proto.runtime.v1.StateOptions.StateConcurrency concurrency = 1; + * @return The concurrency. */ + spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency getConcurrency(); - java.lang.String getMetadataOrThrow( - java.lang.String key); - - /** - *
-     * (optional) Options for concurrency and consistency to save the state.
-     * 
- * - * .spec.proto.runtime.v1.StateOptions options = 5; - * @return Whether the options field is set. - */ - boolean hasOptions(); /** - *
-     * (optional) Options for concurrency and consistency to save the state.
-     * 
- * - * .spec.proto.runtime.v1.StateOptions options = 5; - * @return The options. + * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 2; + * @return The enum numeric value on the wire for consistency. */ - spec.proto.runtime.v1.RuntimeProto.StateOptions getOptions(); + int getConsistencyValue(); /** - *
-     * (optional) Options for concurrency and consistency to save the state.
-     * 
- * - * .spec.proto.runtime.v1.StateOptions options = 5; + * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 2; + * @return The consistency. */ - spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder getOptionsOrBuilder(); + spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency getConsistency(); } /** *
-   * StateItem represents state key, value, and additional options to save state.
+   * StateOptions configures concurrency and consistency for state operations
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.StateItem} + * Protobuf type {@code spec.proto.runtime.v1.StateOptions} */ - public static final class StateItem extends + public static final class StateOptions extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.StateItem) - StateItemOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.StateOptions) + StateOptionsOrBuilder { private static final long serialVersionUID = 0L; - // Use StateItem.newBuilder() to construct. - private StateItem(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use StateOptions.newBuilder() to construct. + private StateOptions(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private StateItem() { - key_ = ""; - value_ = com.google.protobuf.ByteString.EMPTY; + private StateOptions() { + concurrency_ = 0; + consistency_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new StateItem(); + return new StateOptions(); } @java.lang.Override @@ -32357,7 +40899,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private StateItem( + private StateOptions( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -32365,7 +40907,6 @@ private StateItem( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -32376,54 +40917,16 @@ private StateItem( case 0: done = true; break; - case 10: { - java.lang.String s = input.readStringRequireUtf8(); - - key_ = s; - break; - } - case 18: { - - value_ = input.readBytes(); - break; - } - case 26: { - spec.proto.runtime.v1.RuntimeProto.Etag.Builder subBuilder = null; - if (etag_ != null) { - subBuilder = etag_.toBuilder(); - } - etag_ = input.readMessage(spec.proto.runtime.v1.RuntimeProto.Etag.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(etag_); - etag_ = subBuilder.buildPartial(); - } + case 8: { + int rawValue = input.readEnum(); + concurrency_ = rawValue; break; } - case 34: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - metadata_ = com.google.protobuf.MapField.newMapField( - MetadataDefaultEntryHolder.defaultEntry); - mutable_bitField0_ |= 0x00000001; - } - com.google.protobuf.MapEntry - metadata__ = input.readMessage( - MetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); - metadata_.getMutableMap().put( - metadata__.getKey(), metadata__.getValue()); - break; - } - case 42: { - spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder subBuilder = null; - if (options_ != null) { - subBuilder = options_.toBuilder(); - } - options_ = input.readMessage(spec.proto.runtime.v1.RuntimeProto.StateOptions.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(options_); - options_ = subBuilder.buildPartial(); - } + case 16: { + int rawValue = input.readEnum(); + consistency_ = rawValue; break; } default: { @@ -32442,269 +40945,343 @@ private StateItem( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateItem_descriptor; - } - - @SuppressWarnings({"rawtypes"}) - @java.lang.Override - protected com.google.protobuf.MapField internalGetMapField( - int number) { - switch (number) { - case 4: - return internalGetMetadata(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); + makeExtensionsImmutable(); } } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateOptions_descriptor; + } + @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateItem_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateOptions_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.StateItem.class, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder.class); + spec.proto.runtime.v1.RuntimeProto.StateOptions.class, spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder.class); } - public static final int KEY_FIELD_NUMBER = 1; - private volatile java.lang.Object key_; /** *
-     * Required. The state key
+     * Enum describing the supported concurrency for state.
+     * The API server uses Optimized Concurrency Control (OCC) with ETags.
+     * When an ETag is associated with an save or delete request, the store shall allow the update only if the attached ETag matches with the latest ETag in the database.
+     * But when ETag is missing in the write requests, the state store shall handle the requests in the specified strategy(e.g. a last-write-wins fashion).
      * 
* - * string key = 1; - * @return The key. + * Protobuf enum {@code spec.proto.runtime.v1.StateOptions.StateConcurrency} */ - @java.lang.Override - public java.lang.String getKey() { - java.lang.Object ref = key_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - key_ = s; - return s; + public enum StateConcurrency + implements com.google.protobuf.ProtocolMessageEnum { + /** + * CONCURRENCY_UNSPECIFIED = 0; + */ + CONCURRENCY_UNSPECIFIED(0), + /** + *
+       * First write wins
+       * 
+ * + * CONCURRENCY_FIRST_WRITE = 1; + */ + CONCURRENCY_FIRST_WRITE(1), + /** + *
+       * Last write wins
+       * 
+ * + * CONCURRENCY_LAST_WRITE = 2; + */ + CONCURRENCY_LAST_WRITE(2), + UNRECOGNIZED(-1), + ; + + /** + * CONCURRENCY_UNSPECIFIED = 0; + */ + public static final int CONCURRENCY_UNSPECIFIED_VALUE = 0; + /** + *
+       * First write wins
+       * 
+ * + * CONCURRENCY_FIRST_WRITE = 1; + */ + public static final int CONCURRENCY_FIRST_WRITE_VALUE = 1; + /** + *
+       * Last write wins
+       * 
+ * + * CONCURRENCY_LAST_WRITE = 2; + */ + public static final int CONCURRENCY_LAST_WRITE_VALUE = 2; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; } - } - /** - *
-     * Required. The state key
-     * 
- * - * string key = 1; - * @return The bytes for key. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getKeyBytes() { - java.lang.Object ref = key_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - key_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static StateConcurrency valueOf(int value) { + return forNumber(value); } - } - public static final int VALUE_FIELD_NUMBER = 2; - private com.google.protobuf.ByteString value_; - /** - *
-     * Required. The state data for key
-     * 
- * - * bytes value = 2; - * @return The value. - */ - @java.lang.Override - public com.google.protobuf.ByteString getValue() { - return value_; - } + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static StateConcurrency forNumber(int value) { + switch (value) { + case 0: return CONCURRENCY_UNSPECIFIED; + case 1: return CONCURRENCY_FIRST_WRITE; + case 2: return CONCURRENCY_LAST_WRITE; + default: return null; + } + } - public static final int ETAG_FIELD_NUMBER = 3; - private spec.proto.runtime.v1.RuntimeProto.Etag etag_; - /** - *
-     * (optional) The entity tag which represents the specific version of data.
-     * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
-     * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - * @return Whether the etag field is set. - */ - @java.lang.Override - public boolean hasEtag() { - return etag_ != null; - } - /** - *
-     * (optional) The entity tag which represents the specific version of data.
-     * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
-     * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - * @return The etag. - */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.Etag getEtag() { - return etag_ == null ? spec.proto.runtime.v1.RuntimeProto.Etag.getDefaultInstance() : etag_; - } - /** - *
-     * (optional) The entity tag which represents the specific version of data.
-     * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
-     * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder getEtagOrBuilder() { - return getEtag(); - } + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + StateConcurrency> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public StateConcurrency findValueByNumber(int number) { + return StateConcurrency.forNumber(number); + } + }; - public static final int METADATA_FIELD_NUMBER = 4; - private static final class MetadataDefaultEntryHolder { - static final com.google.protobuf.MapEntry< - java.lang.String, java.lang.String> defaultEntry = - com.google.protobuf.MapEntry - .newDefaultInstance( - spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateItem_MetadataEntry_descriptor, - com.google.protobuf.WireFormat.FieldType.STRING, - "", - com.google.protobuf.WireFormat.FieldType.STRING, - ""); - } - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> metadata_; - private com.google.protobuf.MapField - internalGetMetadata() { - if (metadata_ == null) { - return com.google.protobuf.MapField.emptyMapField( - MetadataDefaultEntryHolder.defaultEntry); + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.StateOptions.getDescriptor().getEnumTypes().get(0); } - return metadata_; - } - public int getMetadataCount() { - return internalGetMetadata().getMap().size(); - } - /** - *
-     * (optional) additional key-value pairs to be passed to the state store.
-     * 
- * - * map<string, string> metadata = 4; - */ + private static final StateConcurrency[] VALUES = values(); - @java.lang.Override - public boolean containsMetadata( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - return internalGetMetadata().getMap().containsKey(key); - } - /** - * Use {@link #getMetadataMap()} instead. - */ - @java.lang.Override - @java.lang.Deprecated - public java.util.Map getMetadata() { - return getMetadataMap(); - } - /** - *
-     * (optional) additional key-value pairs to be passed to the state store.
-     * 
- * - * map<string, string> metadata = 4; - */ - @java.lang.Override + public static StateConcurrency valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } - public java.util.Map getMetadataMap() { - return internalGetMetadata().getMap(); - } - /** - *
-     * (optional) additional key-value pairs to be passed to the state store.
-     * 
- * - * map<string, string> metadata = 4; - */ - @java.lang.Override + private final int value; - public java.lang.String getMetadataOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; + private StateConcurrency(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:spec.proto.runtime.v1.StateOptions.StateConcurrency) } + /** *
-     * (optional) additional key-value pairs to be passed to the state store.
+     * Enum describing the supported consistency for state.
      * 
* - * map<string, string> metadata = 4; + * Protobuf enum {@code spec.proto.runtime.v1.StateOptions.StateConsistency} */ - @java.lang.Override + public enum StateConsistency + implements com.google.protobuf.ProtocolMessageEnum { + /** + * CONSISTENCY_UNSPECIFIED = 0; + */ + CONSISTENCY_UNSPECIFIED(0), + /** + *
+       *  The API server assumes data stores are eventually consistent by default.A state store should:
+       * - For read requests, the state store can return data from any of the replicas
+       * - For write request, the state store should asynchronously replicate updates to configured quorum after acknowledging the update request.
+       * 
+ * + * CONSISTENCY_EVENTUAL = 1; + */ + CONSISTENCY_EVENTUAL(1), + /** + *
+       * When a strong consistency hint is attached, a state store should:
+       * - For read requests, the state store should return the most up-to-date data consistently across replicas.
+       * - For write/delete requests, the state store should synchronisely replicate updated data to configured quorum before completing the write request.
+       * 
+ * + * CONSISTENCY_STRONG = 2; + */ + CONSISTENCY_STRONG(2), + UNRECOGNIZED(-1), + ; - public java.lang.String getMetadataOrThrow( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); + /** + * CONSISTENCY_UNSPECIFIED = 0; + */ + public static final int CONSISTENCY_UNSPECIFIED_VALUE = 0; + /** + *
+       *  The API server assumes data stores are eventually consistent by default.A state store should:
+       * - For read requests, the state store can return data from any of the replicas
+       * - For write request, the state store should asynchronously replicate updates to configured quorum after acknowledging the update request.
+       * 
+ * + * CONSISTENCY_EVENTUAL = 1; + */ + public static final int CONSISTENCY_EVENTUAL_VALUE = 1; + /** + *
+       * When a strong consistency hint is attached, a state store should:
+       * - For read requests, the state store should return the most up-to-date data consistently across replicas.
+       * - For write/delete requests, the state store should synchronisely replicate updated data to configured quorum before completing the write request.
+       * 
+ * + * CONSISTENCY_STRONG = 2; + */ + public static final int CONSISTENCY_STRONG_VALUE = 2; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; } - return map.get(key); + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static StateConsistency valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static StateConsistency forNumber(int value) { + switch (value) { + case 0: return CONSISTENCY_UNSPECIFIED; + case 1: return CONSISTENCY_EVENTUAL; + case 2: return CONSISTENCY_STRONG; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + StateConsistency> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public StateConsistency findValueByNumber(int number) { + return StateConsistency.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.StateOptions.getDescriptor().getEnumTypes().get(1); + } + + private static final StateConsistency[] VALUES = values(); + + public static StateConsistency valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private StateConsistency(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:spec.proto.runtime.v1.StateOptions.StateConsistency) } - public static final int OPTIONS_FIELD_NUMBER = 5; - private spec.proto.runtime.v1.RuntimeProto.StateOptions options_; + public static final int CONCURRENCY_FIELD_NUMBER = 1; + private int concurrency_; /** - *
-     * (optional) Options for concurrency and consistency to save the state.
-     * 
- * - * .spec.proto.runtime.v1.StateOptions options = 5; - * @return Whether the options field is set. + * .spec.proto.runtime.v1.StateOptions.StateConcurrency concurrency = 1; + * @return The enum numeric value on the wire for concurrency. */ - @java.lang.Override - public boolean hasOptions() { - return options_ != null; + @java.lang.Override public int getConcurrencyValue() { + return concurrency_; } /** - *
-     * (optional) Options for concurrency and consistency to save the state.
-     * 
- * - * .spec.proto.runtime.v1.StateOptions options = 5; - * @return The options. + * .spec.proto.runtime.v1.StateOptions.StateConcurrency concurrency = 1; + * @return The concurrency. */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateOptions getOptions() { - return options_ == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.getDefaultInstance() : options_; + @java.lang.Override public spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency getConcurrency() { + @SuppressWarnings("deprecation") + spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency result = spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency.valueOf(concurrency_); + return result == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency.UNRECOGNIZED : result; } + + public static final int CONSISTENCY_FIELD_NUMBER = 2; + private int consistency_; /** - *
-     * (optional) Options for concurrency and consistency to save the state.
-     * 
- * - * .spec.proto.runtime.v1.StateOptions options = 5; + * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 2; + * @return The enum numeric value on the wire for consistency. */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder getOptionsOrBuilder() { - return getOptions(); + @java.lang.Override public int getConsistencyValue() { + return consistency_; + } + /** + * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 2; + * @return The consistency. + */ + @java.lang.Override public spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency getConsistency() { + @SuppressWarnings("deprecation") + spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency result = spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.valueOf(consistency_); + return result == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.UNRECOGNIZED : result; } private byte memoizedIsInitialized = -1; @@ -32717,27 +41294,15 @@ public final boolean isInitialized() { memoizedIsInitialized = 1; return true; } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (!getKeyBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, key_); - } - if (!value_.isEmpty()) { - output.writeBytes(2, value_); - } - if (etag_ != null) { - output.writeMessage(3, getEtag()); + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (concurrency_ != spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency.CONCURRENCY_UNSPECIFIED.getNumber()) { + output.writeEnum(1, concurrency_); } - com.google.protobuf.GeneratedMessageV3 - .serializeStringMapTo( - output, - internalGetMetadata(), - MetadataDefaultEntryHolder.defaultEntry, - 4); - if (options_ != null) { - output.writeMessage(5, getOptions()); + if (consistency_ != spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.CONSISTENCY_UNSPECIFIED.getNumber()) { + output.writeEnum(2, consistency_); } unknownFields.writeTo(output); } @@ -32748,30 +41313,13 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!getKeyBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, key_); - } - if (!value_.isEmpty()) { - size += com.google.protobuf.CodedOutputStream - .computeBytesSize(2, value_); - } - if (etag_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, getEtag()); - } - for (java.util.Map.Entry entry - : internalGetMetadata().getMap().entrySet()) { - com.google.protobuf.MapEntry - metadata__ = MetadataDefaultEntryHolder.defaultEntry.newBuilderForType() - .setKey(entry.getKey()) - .setValue(entry.getValue()) - .build(); + if (concurrency_ != spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency.CONCURRENCY_UNSPECIFIED.getNumber()) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(4, metadata__); + .computeEnumSize(1, concurrency_); } - if (options_ != null) { + if (consistency_ != spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.CONSISTENCY_UNSPECIFIED.getNumber()) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(5, getOptions()); + .computeEnumSize(2, consistency_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -32783,27 +41331,13 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.StateItem)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.StateOptions)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.StateItem other = (spec.proto.runtime.v1.RuntimeProto.StateItem) obj; + spec.proto.runtime.v1.RuntimeProto.StateOptions other = (spec.proto.runtime.v1.RuntimeProto.StateOptions) obj; - if (!getKey() - .equals(other.getKey())) return false; - if (!getValue() - .equals(other.getValue())) return false; - if (hasEtag() != other.hasEtag()) return false; - if (hasEtag()) { - if (!getEtag() - .equals(other.getEtag())) return false; - } - if (!internalGetMetadata().equals( - other.internalGetMetadata())) return false; - if (hasOptions() != other.hasOptions()) return false; - if (hasOptions()) { - if (!getOptions() - .equals(other.getOptions())) return false; - } + if (concurrency_ != other.concurrency_) return false; + if (consistency_ != other.consistency_) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -32815,90 +41349,78 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + KEY_FIELD_NUMBER; - hash = (53 * hash) + getKey().hashCode(); - hash = (37 * hash) + VALUE_FIELD_NUMBER; - hash = (53 * hash) + getValue().hashCode(); - if (hasEtag()) { - hash = (37 * hash) + ETAG_FIELD_NUMBER; - hash = (53 * hash) + getEtag().hashCode(); - } - if (!internalGetMetadata().getMap().isEmpty()) { - hash = (37 * hash) + METADATA_FIELD_NUMBER; - hash = (53 * hash) + internalGetMetadata().hashCode(); - } - if (hasOptions()) { - hash = (37 * hash) + OPTIONS_FIELD_NUMBER; - hash = (53 * hash) + getOptions().hashCode(); - } + hash = (37 * hash) + CONCURRENCY_FIELD_NUMBER; + hash = (53 * hash) + concurrency_; + hash = (37 * hash) + CONSISTENCY_FIELD_NUMBER; + hash = (53 * hash) + consistency_; hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.StateItem parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.StateItem parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -32911,7 +41433,7 @@ public static spec.proto.runtime.v1.RuntimeProto.StateItem parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.StateItem prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.StateOptions prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -32928,834 +41450,267 @@ protected Builder newBuilderForType( } /** *
-     * StateItem represents state key, value, and additional options to save state.
+     * StateOptions configures concurrency and consistency for state operations
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.StateItem} + * Protobuf type {@code spec.proto.runtime.v1.StateOptions} */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.StateItem) - spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateItem_descriptor; - } - - @SuppressWarnings({"rawtypes"}) - protected com.google.protobuf.MapField internalGetMapField( - int number) { - switch (number) { - case 4: - return internalGetMetadata(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } - @SuppressWarnings({"rawtypes"}) - protected com.google.protobuf.MapField internalGetMutableMapField( - int number) { - switch (number) { - case 4: - return internalGetMutableMetadata(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateItem_fieldAccessorTable - .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.StateItem.class, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder.class); - } - - // Construct using spec.proto.runtime.v1.RuntimeProto.StateItem.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - key_ = ""; - - value_ = com.google.protobuf.ByteString.EMPTY; - - if (etagBuilder_ == null) { - etag_ = null; - } else { - etag_ = null; - etagBuilder_ = null; - } - internalGetMutableMetadata().clear(); - if (optionsBuilder_ == null) { - options_ = null; - } else { - options_ = null; - optionsBuilder_ = null; - } - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateItem_descriptor; - } - - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateItem getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.StateItem.getDefaultInstance(); - } - - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateItem build() { - spec.proto.runtime.v1.RuntimeProto.StateItem result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateItem buildPartial() { - spec.proto.runtime.v1.RuntimeProto.StateItem result = new spec.proto.runtime.v1.RuntimeProto.StateItem(this); - int from_bitField0_ = bitField0_; - result.key_ = key_; - result.value_ = value_; - if (etagBuilder_ == null) { - result.etag_ = etag_; - } else { - result.etag_ = etagBuilder_.build(); - } - result.metadata_ = internalGetMetadata(); - result.metadata_.makeImmutable(); - if (optionsBuilder_ == null) { - result.options_ = options_; - } else { - result.options_ = optionsBuilder_.build(); - } - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.StateItem) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.StateItem)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.StateItem other) { - if (other == spec.proto.runtime.v1.RuntimeProto.StateItem.getDefaultInstance()) return this; - if (!other.getKey().isEmpty()) { - key_ = other.key_; - onChanged(); - } - if (other.getValue() != com.google.protobuf.ByteString.EMPTY) { - setValue(other.getValue()); - } - if (other.hasEtag()) { - mergeEtag(other.getEtag()); - } - internalGetMutableMetadata().mergeFrom( - other.internalGetMetadata()); - if (other.hasOptions()) { - mergeOptions(other.getOptions()); - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.StateItem parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.StateItem) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - private java.lang.Object key_ = ""; - /** - *
-       * Required. The state key
-       * 
- * - * string key = 1; - * @return The key. - */ - public java.lang.String getKey() { - java.lang.Object ref = key_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - key_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * Required. The state key
-       * 
- * - * string key = 1; - * @return The bytes for key. - */ - public com.google.protobuf.ByteString - getKeyBytes() { - java.lang.Object ref = key_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - key_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * Required. The state key
-       * 
- * - * string key = 1; - * @param value The key to set. - * @return This builder for chaining. - */ - public Builder setKey( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - key_ = value; - onChanged(); - return this; - } - /** - *
-       * Required. The state key
-       * 
- * - * string key = 1; - * @return This builder for chaining. - */ - public Builder clearKey() { - - key_ = getDefaultInstance().getKey(); - onChanged(); - return this; - } - /** - *
-       * Required. The state key
-       * 
- * - * string key = 1; - * @param value The bytes for key to set. - * @return This builder for chaining. - */ - public Builder setKeyBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - key_ = value; - onChanged(); - return this; - } - - private com.google.protobuf.ByteString value_ = com.google.protobuf.ByteString.EMPTY; - /** - *
-       * Required. The state data for key
-       * 
- * - * bytes value = 2; - * @return The value. - */ - @java.lang.Override - public com.google.protobuf.ByteString getValue() { - return value_; - } - /** - *
-       * Required. The state data for key
-       * 
- * - * bytes value = 2; - * @param value The value to set. - * @return This builder for chaining. - */ - public Builder setValue(com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - - value_ = value; - onChanged(); - return this; - } - /** - *
-       * Required. The state data for key
-       * 
- * - * bytes value = 2; - * @return This builder for chaining. - */ - public Builder clearValue() { - - value_ = getDefaultInstance().getValue(); - onChanged(); - return this; - } - - private spec.proto.runtime.v1.RuntimeProto.Etag etag_; - private com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.Etag, spec.proto.runtime.v1.RuntimeProto.Etag.Builder, spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder> etagBuilder_; - /** - *
-       * (optional) The entity tag which represents the specific version of data.
-       * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
-       * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - * @return Whether the etag field is set. - */ - public boolean hasEtag() { - return etagBuilder_ != null || etag_ != null; - } - /** - *
-       * (optional) The entity tag which represents the specific version of data.
-       * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
-       * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - * @return The etag. - */ - public spec.proto.runtime.v1.RuntimeProto.Etag getEtag() { - if (etagBuilder_ == null) { - return etag_ == null ? spec.proto.runtime.v1.RuntimeProto.Etag.getDefaultInstance() : etag_; - } else { - return etagBuilder_.getMessage(); - } - } - /** - *
-       * (optional) The entity tag which represents the specific version of data.
-       * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
-       * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - */ - public Builder setEtag(spec.proto.runtime.v1.RuntimeProto.Etag value) { - if (etagBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - etag_ = value; - onChanged(); - } else { - etagBuilder_.setMessage(value); - } + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.StateOptions) + spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateOptions_descriptor; + } - return this; + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateOptions_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.StateOptions.class, spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder.class); } - /** - *
-       * (optional) The entity tag which represents the specific version of data.
-       * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
-       * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - */ - public Builder setEtag( - spec.proto.runtime.v1.RuntimeProto.Etag.Builder builderForValue) { - if (etagBuilder_ == null) { - etag_ = builderForValue.build(); - onChanged(); - } else { - etagBuilder_.setMessage(builderForValue.build()); - } - return this; + // Construct using spec.proto.runtime.v1.RuntimeProto.StateOptions.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); } - /** - *
-       * (optional) The entity tag which represents the specific version of data.
-       * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
-       * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - */ - public Builder mergeEtag(spec.proto.runtime.v1.RuntimeProto.Etag value) { - if (etagBuilder_ == null) { - if (etag_ != null) { - etag_ = - spec.proto.runtime.v1.RuntimeProto.Etag.newBuilder(etag_).mergeFrom(value).buildPartial(); - } else { - etag_ = value; - } - onChanged(); - } else { - etagBuilder_.mergeFrom(value); - } - return this; + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); } - /** - *
-       * (optional) The entity tag which represents the specific version of data.
-       * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
-       * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - */ - public Builder clearEtag() { - if (etagBuilder_ == null) { - etag_ = null; - onChanged(); - } else { - etag_ = null; - etagBuilder_ = null; + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { } + } + @java.lang.Override + public Builder clear() { + super.clear(); + concurrency_ = 0; + + consistency_ = 0; return this; } - /** - *
-       * (optional) The entity tag which represents the specific version of data.
-       * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
-       * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - */ - public spec.proto.runtime.v1.RuntimeProto.Etag.Builder getEtagBuilder() { - - onChanged(); - return getEtagFieldBuilder().getBuilder(); - } - /** - *
-       * (optional) The entity tag which represents the specific version of data.
-       * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
-       * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - */ - public spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder getEtagOrBuilder() { - if (etagBuilder_ != null) { - return etagBuilder_.getMessageOrBuilder(); - } else { - return etag_ == null ? - spec.proto.runtime.v1.RuntimeProto.Etag.getDefaultInstance() : etag_; - } - } - /** - *
-       * (optional) The entity tag which represents the specific version of data.
-       * The exact ETag format is defined by the corresponding data store. Layotto runtime only treats ETags as opaque strings.
-       * 
- * - * .spec.proto.runtime.v1.Etag etag = 3; - */ - private com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.Etag, spec.proto.runtime.v1.RuntimeProto.Etag.Builder, spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder> - getEtagFieldBuilder() { - if (etagBuilder_ == null) { - etagBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.Etag, spec.proto.runtime.v1.RuntimeProto.Etag.Builder, spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder>( - getEtag(), - getParentForChildren(), - isClean()); - etag_ = null; - } - return etagBuilder_; + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateOptions_descriptor; } - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> metadata_; - private com.google.protobuf.MapField - internalGetMetadata() { - if (metadata_ == null) { - return com.google.protobuf.MapField.emptyMapField( - MetadataDefaultEntryHolder.defaultEntry); - } - return metadata_; + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.StateOptions getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.StateOptions.getDefaultInstance(); } - private com.google.protobuf.MapField - internalGetMutableMetadata() { - onChanged();; - if (metadata_ == null) { - metadata_ = com.google.protobuf.MapField.newMapField( - MetadataDefaultEntryHolder.defaultEntry); - } - if (!metadata_.isMutable()) { - metadata_ = metadata_.copy(); + + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.StateOptions build() { + spec.proto.runtime.v1.RuntimeProto.StateOptions result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); } - return metadata_; + return result; } - public int getMetadataCount() { - return internalGetMetadata().getMap().size(); + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.StateOptions buildPartial() { + spec.proto.runtime.v1.RuntimeProto.StateOptions result = new spec.proto.runtime.v1.RuntimeProto.StateOptions(this); + result.concurrency_ = concurrency_; + result.consistency_ = consistency_; + onBuilt(); + return result; } - /** - *
-       * (optional) additional key-value pairs to be passed to the state store.
-       * 
- * - * map<string, string> metadata = 4; - */ @java.lang.Override - public boolean containsMetadata( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - return internalGetMetadata().getMap().containsKey(key); + public Builder clone() { + return super.clone(); } - /** - * Use {@link #getMetadataMap()} instead. - */ @java.lang.Override - @java.lang.Deprecated - public java.util.Map getMetadata() { - return getMetadataMap(); + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); } - /** - *
-       * (optional) additional key-value pairs to be passed to the state store.
-       * 
- * - * map<string, string> metadata = 4; - */ @java.lang.Override - - public java.util.Map getMetadataMap() { - return internalGetMetadata().getMap(); + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); } - /** - *
-       * (optional) additional key-value pairs to be passed to the state store.
-       * 
- * - * map<string, string> metadata = 4; - */ @java.lang.Override - - public java.lang.String getMetadataOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); } - /** - *
-       * (optional) additional key-value pairs to be passed to the state store.
-       * 
- * - * map<string, string> metadata = 4; - */ @java.lang.Override - - public java.lang.String getMetadataOrThrow( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - java.util.Map map = - internalGetMetadata().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof spec.proto.runtime.v1.RuntimeProto.StateOptions) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.StateOptions)other); + } else { + super.mergeFrom(other); + return this; } - return map.get(key); } - public Builder clearMetadata() { - internalGetMutableMetadata().getMutableMap() - .clear(); + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.StateOptions other) { + if (other == spec.proto.runtime.v1.RuntimeProto.StateOptions.getDefaultInstance()) return this; + if (other.concurrency_ != 0) { + setConcurrencyValue(other.getConcurrencyValue()); + } + if (other.consistency_ != 0) { + setConsistencyValue(other.getConsistencyValue()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); return this; } - /** - *
-       * (optional) additional key-value pairs to be passed to the state store.
-       * 
- * - * map<string, string> metadata = 4; - */ - public Builder removeMetadata( - java.lang.String key) { - if (key == null) { throw new java.lang.NullPointerException(); } - internalGetMutableMetadata().getMutableMap() - .remove(key); - return this; - } - /** - * Use alternate mutation accessors instead. - */ - @java.lang.Deprecated - public java.util.Map - getMutableMetadata() { - return internalGetMutableMetadata().getMutableMap(); - } - /** - *
-       * (optional) additional key-value pairs to be passed to the state store.
-       * 
- * - * map<string, string> metadata = 4; - */ - public Builder putMetadata( - java.lang.String key, - java.lang.String value) { - if (key == null) { throw new java.lang.NullPointerException(); } - if (value == null) { throw new java.lang.NullPointerException(); } - internalGetMutableMetadata().getMutableMap() - .put(key, value); - return this; + @java.lang.Override + public final boolean isInitialized() { + return true; } - /** - *
-       * (optional) additional key-value pairs to be passed to the state store.
-       * 
- * - * map<string, string> metadata = 4; - */ - public Builder putAllMetadata( - java.util.Map values) { - internalGetMutableMetadata().getMutableMap() - .putAll(values); + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + spec.proto.runtime.v1.RuntimeProto.StateOptions parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.StateOptions) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } return this; } - private spec.proto.runtime.v1.RuntimeProto.StateOptions options_; - private com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.StateOptions, spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder, spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder> optionsBuilder_; + private int concurrency_ = 0; /** - *
-       * (optional) Options for concurrency and consistency to save the state.
-       * 
- * - * .spec.proto.runtime.v1.StateOptions options = 5; - * @return Whether the options field is set. + * .spec.proto.runtime.v1.StateOptions.StateConcurrency concurrency = 1; + * @return The enum numeric value on the wire for concurrency. */ - public boolean hasOptions() { - return optionsBuilder_ != null || options_ != null; + @java.lang.Override public int getConcurrencyValue() { + return concurrency_; } /** - *
-       * (optional) Options for concurrency and consistency to save the state.
-       * 
- * - * .spec.proto.runtime.v1.StateOptions options = 5; - * @return The options. + * .spec.proto.runtime.v1.StateOptions.StateConcurrency concurrency = 1; + * @param value The enum numeric value on the wire for concurrency to set. + * @return This builder for chaining. */ - public spec.proto.runtime.v1.RuntimeProto.StateOptions getOptions() { - if (optionsBuilder_ == null) { - return options_ == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.getDefaultInstance() : options_; - } else { - return optionsBuilder_.getMessage(); - } + public Builder setConcurrencyValue(int value) { + + concurrency_ = value; + onChanged(); + return this; } /** - *
-       * (optional) Options for concurrency and consistency to save the state.
-       * 
- * - * .spec.proto.runtime.v1.StateOptions options = 5; + * .spec.proto.runtime.v1.StateOptions.StateConcurrency concurrency = 1; + * @return The concurrency. */ - public Builder setOptions(spec.proto.runtime.v1.RuntimeProto.StateOptions value) { - if (optionsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - options_ = value; - onChanged(); - } else { - optionsBuilder_.setMessage(value); - } - - return this; + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency getConcurrency() { + @SuppressWarnings("deprecation") + spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency result = spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency.valueOf(concurrency_); + return result == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency.UNRECOGNIZED : result; } /** - *
-       * (optional) Options for concurrency and consistency to save the state.
-       * 
- * - * .spec.proto.runtime.v1.StateOptions options = 5; + * .spec.proto.runtime.v1.StateOptions.StateConcurrency concurrency = 1; + * @param value The concurrency to set. + * @return This builder for chaining. */ - public Builder setOptions( - spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder builderForValue) { - if (optionsBuilder_ == null) { - options_ = builderForValue.build(); - onChanged(); - } else { - optionsBuilder_.setMessage(builderForValue.build()); + public Builder setConcurrency(spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency value) { + if (value == null) { + throw new NullPointerException(); } - + + concurrency_ = value.getNumber(); + onChanged(); return this; } /** - *
-       * (optional) Options for concurrency and consistency to save the state.
-       * 
- * - * .spec.proto.runtime.v1.StateOptions options = 5; + * .spec.proto.runtime.v1.StateOptions.StateConcurrency concurrency = 1; + * @return This builder for chaining. */ - public Builder mergeOptions(spec.proto.runtime.v1.RuntimeProto.StateOptions value) { - if (optionsBuilder_ == null) { - if (options_ != null) { - options_ = - spec.proto.runtime.v1.RuntimeProto.StateOptions.newBuilder(options_).mergeFrom(value).buildPartial(); - } else { - options_ = value; - } - onChanged(); - } else { - optionsBuilder_.mergeFrom(value); - } - + public Builder clearConcurrency() { + + concurrency_ = 0; + onChanged(); return this; } + + private int consistency_ = 0; /** - *
-       * (optional) Options for concurrency and consistency to save the state.
-       * 
- * - * .spec.proto.runtime.v1.StateOptions options = 5; + * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 2; + * @return The enum numeric value on the wire for consistency. */ - public Builder clearOptions() { - if (optionsBuilder_ == null) { - options_ = null; - onChanged(); - } else { - options_ = null; - optionsBuilder_ = null; - } - - return this; + @java.lang.Override public int getConsistencyValue() { + return consistency_; } /** - *
-       * (optional) Options for concurrency and consistency to save the state.
-       * 
- * - * .spec.proto.runtime.v1.StateOptions options = 5; + * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 2; + * @param value The enum numeric value on the wire for consistency to set. + * @return This builder for chaining. */ - public spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder getOptionsBuilder() { + public Builder setConsistencyValue(int value) { + consistency_ = value; onChanged(); - return getOptionsFieldBuilder().getBuilder(); + return this; } /** - *
-       * (optional) Options for concurrency and consistency to save the state.
-       * 
- * - * .spec.proto.runtime.v1.StateOptions options = 5; + * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 2; + * @return The consistency. */ - public spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder getOptionsOrBuilder() { - if (optionsBuilder_ != null) { - return optionsBuilder_.getMessageOrBuilder(); - } else { - return options_ == null ? - spec.proto.runtime.v1.RuntimeProto.StateOptions.getDefaultInstance() : options_; + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency getConsistency() { + @SuppressWarnings("deprecation") + spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency result = spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.valueOf(consistency_); + return result == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.UNRECOGNIZED : result; + } + /** + * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 2; + * @param value The consistency to set. + * @return This builder for chaining. + */ + public Builder setConsistency(spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency value) { + if (value == null) { + throw new NullPointerException(); } + + consistency_ = value.getNumber(); + onChanged(); + return this; } /** - *
-       * (optional) Options for concurrency and consistency to save the state.
-       * 
- * - * .spec.proto.runtime.v1.StateOptions options = 5; + * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 2; + * @return This builder for chaining. */ - private com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.StateOptions, spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder, spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder> - getOptionsFieldBuilder() { - if (optionsBuilder_ == null) { - optionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.StateOptions, spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder, spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder>( - getOptions(), - getParentForChildren(), - isClean()); - options_ = null; - } - return optionsBuilder_; + public Builder clearConsistency() { + + consistency_ = 0; + onChanged(); + return this; } @java.lang.Override public final Builder setUnknownFields( @@ -33770,95 +41725,122 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.StateItem) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.StateOptions) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.StateItem) - private static final spec.proto.runtime.v1.RuntimeProto.StateItem DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.StateOptions) + private static final spec.proto.runtime.v1.RuntimeProto.StateOptions DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.StateItem(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.StateOptions(); } - public static spec.proto.runtime.v1.RuntimeProto.StateItem getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.StateOptions getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public StateItem parsePartialFrom( + public StateOptions parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new StateItem(input, extensionRegistry); + return new StateOptions(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateItem getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.StateOptions getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface EtagOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.Etag) + public interface TransactionalStateOperationOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.TransactionalStateOperation) com.google.protobuf.MessageOrBuilder { /** *
-     * value sets the etag value
+     * Required. The type of operation to be executed
      * 
* - * string value = 1; - * @return The value. + * string operationType = 1; + * @return The operationType. */ - java.lang.String getValue(); + java.lang.String getOperationType(); /** *
-     * value sets the etag value
+     * Required. The type of operation to be executed
      * 
* - * string value = 1; - * @return The bytes for value. + * string operationType = 1; + * @return The bytes for operationType. */ com.google.protobuf.ByteString - getValueBytes(); + getOperationTypeBytes(); + + /** + *
+     * Required. State values to be operated on
+     * 
+ * + * .spec.proto.runtime.v1.StateItem request = 2; + * @return Whether the request field is set. + */ + boolean hasRequest(); + /** + *
+     * Required. State values to be operated on
+     * 
+ * + * .spec.proto.runtime.v1.StateItem request = 2; + * @return The request. + */ + spec.proto.runtime.v1.RuntimeProto.StateItem getRequest(); + /** + *
+     * Required. State values to be operated on
+     * 
+ * + * .spec.proto.runtime.v1.StateItem request = 2; + */ + spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder getRequestOrBuilder(); } /** *
-   * Etag represents a state item version
+   * TransactionalStateOperation is the message to execute a specified operation with a key-value pair.
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.Etag} + * Protobuf type {@code spec.proto.runtime.v1.TransactionalStateOperation} */ - public static final class Etag extends + public static final class TransactionalStateOperation extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.Etag) - EtagOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.TransactionalStateOperation) + TransactionalStateOperationOrBuilder { private static final long serialVersionUID = 0L; - // Use Etag.newBuilder() to construct. - private Etag(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use TransactionalStateOperation.newBuilder() to construct. + private TransactionalStateOperation(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private Etag() { - value_ = ""; + private TransactionalStateOperation() { + operationType_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new Etag(); + return new TransactionalStateOperation(); } @java.lang.Override @@ -33866,7 +41848,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private Etag( + private TransactionalStateOperation( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -33887,7 +41869,20 @@ private Etag( case 10: { java.lang.String s = input.readStringRequireUtf8(); - value_ = s; + operationType_ = s; + break; + } + case 18: { + spec.proto.runtime.v1.RuntimeProto.StateItem.Builder subBuilder = null; + if (request_ != null) { + subBuilder = request_.toBuilder(); + } + request_ = input.readMessage(spec.proto.runtime.v1.RuntimeProto.StateItem.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(request_); + request_ = subBuilder.buildPartial(); + } + break; } default: { @@ -33911,63 +41906,101 @@ private Etag( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_Etag_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TransactionalStateOperation_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_Etag_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TransactionalStateOperation_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.Etag.class, spec.proto.runtime.v1.RuntimeProto.Etag.Builder.class); + spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.class, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder.class); } - public static final int VALUE_FIELD_NUMBER = 1; - private volatile java.lang.Object value_; + public static final int OPERATIONTYPE_FIELD_NUMBER = 1; + private volatile java.lang.Object operationType_; /** *
-     * value sets the etag value
+     * Required. The type of operation to be executed
      * 
* - * string value = 1; - * @return The value. + * string operationType = 1; + * @return The operationType. */ @java.lang.Override - public java.lang.String getValue() { - java.lang.Object ref = value_; + public java.lang.String getOperationType() { + java.lang.Object ref = operationType_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - value_ = s; + operationType_ = s; return s; } } /** *
-     * value sets the etag value
+     * Required. The type of operation to be executed
      * 
* - * string value = 1; - * @return The bytes for value. + * string operationType = 1; + * @return The bytes for operationType. */ @java.lang.Override public com.google.protobuf.ByteString - getValueBytes() { - java.lang.Object ref = value_; + getOperationTypeBytes() { + java.lang.Object ref = operationType_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - value_ = b; + operationType_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } + public static final int REQUEST_FIELD_NUMBER = 2; + private spec.proto.runtime.v1.RuntimeProto.StateItem request_; + /** + *
+     * Required. State values to be operated on
+     * 
+ * + * .spec.proto.runtime.v1.StateItem request = 2; + * @return Whether the request field is set. + */ + @java.lang.Override + public boolean hasRequest() { + return request_ != null; + } + /** + *
+     * Required. State values to be operated on
+     * 
+ * + * .spec.proto.runtime.v1.StateItem request = 2; + * @return The request. + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.StateItem getRequest() { + return request_ == null ? spec.proto.runtime.v1.RuntimeProto.StateItem.getDefaultInstance() : request_; + } + /** + *
+     * Required. State values to be operated on
+     * 
+ * + * .spec.proto.runtime.v1.StateItem request = 2; + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder getRequestOrBuilder() { + return getRequest(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -33982,8 +42015,11 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!getValueBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, value_); + if (!getOperationTypeBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, operationType_); + } + if (request_ != null) { + output.writeMessage(2, getRequest()); } unknownFields.writeTo(output); } @@ -33994,8 +42030,12 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!getValueBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, value_); + if (!getOperationTypeBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, operationType_); + } + if (request_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getRequest()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -34007,13 +42047,18 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.Etag)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.Etag other = (spec.proto.runtime.v1.RuntimeProto.Etag) obj; + spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation other = (spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation) obj; - if (!getValue() - .equals(other.getValue())) return false; + if (!getOperationType() + .equals(other.getOperationType())) return false; + if (hasRequest() != other.hasRequest()) return false; + if (hasRequest()) { + if (!getRequest() + .equals(other.getRequest())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -34025,76 +42070,80 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + VALUE_FIELD_NUMBER; - hash = (53 * hash) + getValue().hashCode(); + hash = (37 * hash) + OPERATIONTYPE_FIELD_NUMBER; + hash = (53 * hash) + getOperationType().hashCode(); + if (hasRequest()) { + hash = (37 * hash) + REQUEST_FIELD_NUMBER; + hash = (53 * hash) + getRequest().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.Etag parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.Etag parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -34107,7 +42156,7 @@ public static spec.proto.runtime.v1.RuntimeProto.Etag parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.Etag prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -34124,29 +42173,29 @@ protected Builder newBuilderForType( } /** *
-     * Etag represents a state item version
+     * TransactionalStateOperation is the message to execute a specified operation with a key-value pair.
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.Etag} + * Protobuf type {@code spec.proto.runtime.v1.TransactionalStateOperation} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.Etag) - spec.proto.runtime.v1.RuntimeProto.EtagOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.TransactionalStateOperation) + spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperationOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_Etag_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TransactionalStateOperation_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_Etag_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TransactionalStateOperation_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.Etag.class, spec.proto.runtime.v1.RuntimeProto.Etag.Builder.class); + spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.class, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.Etag.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -34164,25 +42213,31 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - value_ = ""; + operationType_ = ""; + if (requestBuilder_ == null) { + request_ = null; + } else { + request_ = null; + requestBuilder_ = null; + } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_Etag_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TransactionalStateOperation_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.Etag getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.Etag.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.Etag build() { - spec.proto.runtime.v1.RuntimeProto.Etag result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation build() { + spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -34190,9 +42245,14 @@ public spec.proto.runtime.v1.RuntimeProto.Etag build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.Etag buildPartial() { - spec.proto.runtime.v1.RuntimeProto.Etag result = new spec.proto.runtime.v1.RuntimeProto.Etag(this); - result.value_ = value_; + public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation buildPartial() { + spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation result = new spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation(this); + result.operationType_ = operationType_; + if (requestBuilder_ == null) { + result.request_ = request_; + } else { + result.request_ = requestBuilder_.build(); + } onBuilt(); return result; } @@ -34231,20 +42291,23 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.Etag) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.Etag)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.Etag other) { - if (other == spec.proto.runtime.v1.RuntimeProto.Etag.getDefaultInstance()) return this; - if (!other.getValue().isEmpty()) { - value_ = other.value_; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation other) { + if (other == spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.getDefaultInstance()) return this; + if (!other.getOperationType().isEmpty()) { + operationType_ = other.operationType_; onChanged(); } + if (other.hasRequest()) { + mergeRequest(other.getRequest()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -34260,11 +42323,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.Etag parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.Etag) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -34274,22 +42337,22 @@ public Builder mergeFrom( return this; } - private java.lang.Object value_ = ""; + private java.lang.Object operationType_ = ""; /** *
-       * value sets the etag value
+       * Required. The type of operation to be executed
        * 
* - * string value = 1; - * @return The value. + * string operationType = 1; + * @return The operationType. */ - public java.lang.String getValue() { - java.lang.Object ref = value_; + public java.lang.String getOperationType() { + java.lang.Object ref = operationType_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - value_ = s; + operationType_ = s; return s; } else { return (java.lang.String) ref; @@ -34297,77 +42360,232 @@ public java.lang.String getValue() { } /** *
-       * value sets the etag value
+       * Required. The type of operation to be executed
+       * 
+ * + * string operationType = 1; + * @return The bytes for operationType. + */ + public com.google.protobuf.ByteString + getOperationTypeBytes() { + java.lang.Object ref = operationType_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + operationType_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Required. The type of operation to be executed
+       * 
+ * + * string operationType = 1; + * @param value The operationType to set. + * @return This builder for chaining. + */ + public Builder setOperationType( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + operationType_ = value; + onChanged(); + return this; + } + /** + *
+       * Required. The type of operation to be executed
+       * 
+ * + * string operationType = 1; + * @return This builder for chaining. + */ + public Builder clearOperationType() { + + operationType_ = getDefaultInstance().getOperationType(); + onChanged(); + return this; + } + /** + *
+       * Required. The type of operation to be executed
+       * 
+ * + * string operationType = 1; + * @param value The bytes for operationType to set. + * @return This builder for chaining. + */ + public Builder setOperationTypeBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + operationType_ = value; + onChanged(); + return this; + } + + private spec.proto.runtime.v1.RuntimeProto.StateItem request_; + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.StateItem, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder, spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder> requestBuilder_; + /** + *
+       * Required. State values to be operated on
+       * 
+ * + * .spec.proto.runtime.v1.StateItem request = 2; + * @return Whether the request field is set. + */ + public boolean hasRequest() { + return requestBuilder_ != null || request_ != null; + } + /** + *
+       * Required. State values to be operated on
+       * 
+ * + * .spec.proto.runtime.v1.StateItem request = 2; + * @return The request. + */ + public spec.proto.runtime.v1.RuntimeProto.StateItem getRequest() { + if (requestBuilder_ == null) { + return request_ == null ? spec.proto.runtime.v1.RuntimeProto.StateItem.getDefaultInstance() : request_; + } else { + return requestBuilder_.getMessage(); + } + } + /** + *
+       * Required. State values to be operated on
+       * 
+ * + * .spec.proto.runtime.v1.StateItem request = 2; + */ + public Builder setRequest(spec.proto.runtime.v1.RuntimeProto.StateItem value) { + if (requestBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + request_ = value; + onChanged(); + } else { + requestBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * Required. State values to be operated on
+       * 
+ * + * .spec.proto.runtime.v1.StateItem request = 2; + */ + public Builder setRequest( + spec.proto.runtime.v1.RuntimeProto.StateItem.Builder builderForValue) { + if (requestBuilder_ == null) { + request_ = builderForValue.build(); + onChanged(); + } else { + requestBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * Required. State values to be operated on
+       * 
+ * + * .spec.proto.runtime.v1.StateItem request = 2; + */ + public Builder mergeRequest(spec.proto.runtime.v1.RuntimeProto.StateItem value) { + if (requestBuilder_ == null) { + if (request_ != null) { + request_ = + spec.proto.runtime.v1.RuntimeProto.StateItem.newBuilder(request_).mergeFrom(value).buildPartial(); + } else { + request_ = value; + } + onChanged(); + } else { + requestBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * Required. State values to be operated on
        * 
* - * string value = 1; - * @return The bytes for value. + * .spec.proto.runtime.v1.StateItem request = 2; */ - public com.google.protobuf.ByteString - getValueBytes() { - java.lang.Object ref = value_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - value_ = b; - return b; + public Builder clearRequest() { + if (requestBuilder_ == null) { + request_ = null; + onChanged(); } else { - return (com.google.protobuf.ByteString) ref; + request_ = null; + requestBuilder_ = null; } + + return this; } /** *
-       * value sets the etag value
+       * Required. State values to be operated on
        * 
* - * string value = 1; - * @param value The value to set. - * @return This builder for chaining. + * .spec.proto.runtime.v1.StateItem request = 2; */ - public Builder setValue( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - value_ = value; + public spec.proto.runtime.v1.RuntimeProto.StateItem.Builder getRequestBuilder() { + onChanged(); - return this; + return getRequestFieldBuilder().getBuilder(); } /** *
-       * value sets the etag value
+       * Required. State values to be operated on
        * 
* - * string value = 1; - * @return This builder for chaining. + * .spec.proto.runtime.v1.StateItem request = 2; */ - public Builder clearValue() { - - value_ = getDefaultInstance().getValue(); - onChanged(); - return this; + public spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder getRequestOrBuilder() { + if (requestBuilder_ != null) { + return requestBuilder_.getMessageOrBuilder(); + } else { + return request_ == null ? + spec.proto.runtime.v1.RuntimeProto.StateItem.getDefaultInstance() : request_; + } } /** *
-       * value sets the etag value
+       * Required. State values to be operated on
        * 
* - * string value = 1; - * @param value The bytes for value to set. - * @return This builder for chaining. + * .spec.proto.runtime.v1.StateItem request = 2; */ - public Builder setValueBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - value_ = value; - onChanged(); - return this; + private com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.StateItem, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder, spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder> + getRequestFieldBuilder() { + if (requestBuilder_ == null) { + requestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.StateItem, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder, spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder>( + getRequest(), + getParentForChildren(), + isClean()); + request_ = null; + } + return requestBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -34382,98 +42600,194 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.Etag) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.TransactionalStateOperation) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.Etag) - private static final spec.proto.runtime.v1.RuntimeProto.Etag DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.TransactionalStateOperation) + private static final spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.Etag(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation(); } - public static spec.proto.runtime.v1.RuntimeProto.Etag getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public Etag parsePartialFrom( + public TransactionalStateOperation parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new Etag(input, extensionRegistry); + return new TransactionalStateOperation(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.Etag getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface StateOptionsOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.StateOptions) + public interface ExecuteStateTransactionRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.ExecuteStateTransactionRequest) com.google.protobuf.MessageOrBuilder { /** - * .spec.proto.runtime.v1.StateOptions.StateConcurrency concurrency = 1; - * @return The enum numeric value on the wire for concurrency. + *
+     * Required. name of state store.
+     * 
+ * + * string storeName = 1; + * @return The storeName. */ - int getConcurrencyValue(); + java.lang.String getStoreName(); /** - * .spec.proto.runtime.v1.StateOptions.StateConcurrency concurrency = 1; - * @return The concurrency. + *
+     * Required. name of state store.
+     * 
+ * + * string storeName = 1; + * @return The bytes for storeName. */ - spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency getConcurrency(); + com.google.protobuf.ByteString + getStoreNameBytes(); /** - * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 2; - * @return The enum numeric value on the wire for consistency. + *
+     * Required. transactional operation list.
+     * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; */ - int getConsistencyValue(); + java.util.List + getOperationsList(); /** - * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 2; - * @return The consistency. + *
+     * Required. transactional operation list.
+     * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; */ - spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency getConsistency(); + spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation getOperations(int index); + /** + *
+     * Required. transactional operation list.
+     * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + int getOperationsCount(); + /** + *
+     * Required. transactional operation list.
+     * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + java.util.List + getOperationsOrBuilderList(); + /** + *
+     * Required. transactional operation list.
+     * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperationOrBuilder getOperationsOrBuilder( + int index); + + /** + *
+     * (optional) The metadata used for transactional operations.
+     * 
+ * + * map<string, string> metadata = 3; + */ + int getMetadataCount(); + /** + *
+     * (optional) The metadata used for transactional operations.
+     * 
+ * + * map<string, string> metadata = 3; + */ + boolean containsMetadata( + java.lang.String key); + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getMetadata(); + /** + *
+     * (optional) The metadata used for transactional operations.
+     * 
+ * + * map<string, string> metadata = 3; + */ + java.util.Map + getMetadataMap(); + /** + *
+     * (optional) The metadata used for transactional operations.
+     * 
+ * + * map<string, string> metadata = 3; + */ + + java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue); + /** + *
+     * (optional) The metadata used for transactional operations.
+     * 
+ * + * map<string, string> metadata = 3; + */ + + java.lang.String getMetadataOrThrow( + java.lang.String key); } /** *
-   * StateOptions configures concurrency and consistency for state operations
+   * ExecuteStateTransactionRequest is the message to execute multiple operations on a specified store.
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.StateOptions} + * Protobuf type {@code spec.proto.runtime.v1.ExecuteStateTransactionRequest} */ - public static final class StateOptions extends + public static final class ExecuteStateTransactionRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.StateOptions) - StateOptionsOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.ExecuteStateTransactionRequest) + ExecuteStateTransactionRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use StateOptions.newBuilder() to construct. - private StateOptions(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use ExecuteStateTransactionRequest.newBuilder() to construct. + private ExecuteStateTransactionRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private StateOptions() { - concurrency_ = 0; - consistency_ = 0; + private ExecuteStateTransactionRequest() { + storeName_ = ""; + operations_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new StateOptions(); + return new ExecuteStateTransactionRequest(); } @java.lang.Override @@ -34481,7 +42795,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private StateOptions( + private ExecuteStateTransactionRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -34489,6 +42803,7 @@ private StateOptions( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -34499,371 +42814,282 @@ private StateOptions( case 0: done = true; break; - case 8: { - int rawValue = input.readEnum(); - - concurrency_ = rawValue; - break; - } - case 16: { - int rawValue = input.readEnum(); + case 10: { + java.lang.String s = input.readStringRequireUtf8(); - consistency_ = rawValue; + storeName_ = s; break; } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; + case 18: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + operations_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; } + operations_.add( + input.readMessage(spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.parser(), extensionRegistry)); break; } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateOptions_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateOptions_fieldAccessorTable - .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.StateOptions.class, spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder.class); - } - - /** - *
-     * Enum describing the supported concurrency for state.
-     * The API server uses Optimized Concurrency Control (OCC) with ETags.
-     * When an ETag is associated with an save or delete request, the store shall allow the update only if the attached ETag matches with the latest ETag in the database.
-     * But when ETag is missing in the write requests, the state store shall handle the requests in the specified strategy(e.g. a last-write-wins fashion).
-     * 
- * - * Protobuf enum {@code spec.proto.runtime.v1.StateOptions.StateConcurrency} - */ - public enum StateConcurrency - implements com.google.protobuf.ProtocolMessageEnum { - /** - * CONCURRENCY_UNSPECIFIED = 0; - */ - CONCURRENCY_UNSPECIFIED(0), - /** - *
-       * First write wins
-       * 
- * - * CONCURRENCY_FIRST_WRITE = 1; - */ - CONCURRENCY_FIRST_WRITE(1), - /** - *
-       * Last write wins
-       * 
- * - * CONCURRENCY_LAST_WRITE = 2; - */ - CONCURRENCY_LAST_WRITE(2), - UNRECOGNIZED(-1), - ; - - /** - * CONCURRENCY_UNSPECIFIED = 0; - */ - public static final int CONCURRENCY_UNSPECIFIED_VALUE = 0; - /** - *
-       * First write wins
-       * 
- * - * CONCURRENCY_FIRST_WRITE = 1; - */ - public static final int CONCURRENCY_FIRST_WRITE_VALUE = 1; - /** - *
-       * Last write wins
-       * 
- * - * CONCURRENCY_LAST_WRITE = 2; - */ - public static final int CONCURRENCY_LAST_WRITE_VALUE = 2; - - - public final int getNumber() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalArgumentException( - "Can't get the number of an unknown enum value."); - } - return value; - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static StateConcurrency valueOf(int value) { - return forNumber(value); - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - */ - public static StateConcurrency forNumber(int value) { - switch (value) { - case 0: return CONCURRENCY_UNSPECIFIED; - case 1: return CONCURRENCY_FIRST_WRITE; - case 2: return CONCURRENCY_LAST_WRITE; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static final com.google.protobuf.Internal.EnumLiteMap< - StateConcurrency> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public StateConcurrency findValueByNumber(int number) { - return StateConcurrency.forNumber(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(ordinal()); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.StateOptions.getDescriptor().getEnumTypes().get(0); - } - - private static final StateConcurrency[] VALUES = values(); - - public static StateConcurrency valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { - if (desc.getType() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); - } - if (desc.getIndex() == -1) { - return UNRECOGNIZED; - } - return VALUES[desc.getIndex()]; - } - - private final int value; - - private StateConcurrency(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:spec.proto.runtime.v1.StateOptions.StateConcurrency) - } - - /** - *
-     * Enum describing the supported consistency for state.
-     * 
- * - * Protobuf enum {@code spec.proto.runtime.v1.StateOptions.StateConsistency} - */ - public enum StateConsistency - implements com.google.protobuf.ProtocolMessageEnum { - /** - * CONSISTENCY_UNSPECIFIED = 0; - */ - CONSISTENCY_UNSPECIFIED(0), - /** - *
-       *  The API server assumes data stores are eventually consistent by default.A state store should:
-       * - For read requests, the state store can return data from any of the replicas
-       * - For write request, the state store should asynchronously replicate updates to configured quorum after acknowledging the update request.
-       * 
- * - * CONSISTENCY_EVENTUAL = 1; - */ - CONSISTENCY_EVENTUAL(1), - /** - *
-       * When a strong consistency hint is attached, a state store should:
-       * - For read requests, the state store should return the most up-to-date data consistently across replicas.
-       * - For write/delete requests, the state store should synchronisely replicate updated data to configured quorum before completing the write request.
-       * 
- * - * CONSISTENCY_STRONG = 2; - */ - CONSISTENCY_STRONG(2), - UNRECOGNIZED(-1), - ; - - /** - * CONSISTENCY_UNSPECIFIED = 0; - */ - public static final int CONSISTENCY_UNSPECIFIED_VALUE = 0; - /** - *
-       *  The API server assumes data stores are eventually consistent by default.A state store should:
-       * - For read requests, the state store can return data from any of the replicas
-       * - For write request, the state store should asynchronously replicate updates to configured quorum after acknowledging the update request.
-       * 
- * - * CONSISTENCY_EVENTUAL = 1; - */ - public static final int CONSISTENCY_EVENTUAL_VALUE = 1; - /** - *
-       * When a strong consistency hint is attached, a state store should:
-       * - For read requests, the state store should return the most up-to-date data consistently across replicas.
-       * - For write/delete requests, the state store should synchronisely replicate updated data to configured quorum before completing the write request.
-       * 
- * - * CONSISTENCY_STRONG = 2; - */ - public static final int CONSISTENCY_STRONG_VALUE = 2; - - - public final int getNumber() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalArgumentException( - "Can't get the number of an unknown enum value."); + case 26: { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); + mutable_bitField0_ |= 0x00000002; + } + com.google.protobuf.MapEntry + metadata__ = input.readMessage( + MetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + metadata_.getMutableMap().put( + metadata__.getKey(), metadata__.getValue()); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } } - return value; - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static StateConsistency valueOf(int value) { - return forNumber(value); - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - */ - public static StateConsistency forNumber(int value) { - switch (value) { - case 0: return CONSISTENCY_UNSPECIFIED; - case 1: return CONSISTENCY_EVENTUAL; - case 2: return CONSISTENCY_STRONG; - default: return null; + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + operations_ = java.util.Collections.unmodifiableList(operations_); } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ExecuteStateTransactionRequest_descriptor; + } - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 3: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); } - private static final com.google.protobuf.Internal.EnumLiteMap< - StateConsistency> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public StateConsistency findValueByNumber(int number) { - return StateConsistency.forNumber(number); - } - }; + } + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ExecuteStateTransactionRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest.class, spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest.Builder.class); + } - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(ordinal()); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.StateOptions.getDescriptor().getEnumTypes().get(1); + public static final int STORENAME_FIELD_NUMBER = 1; + private volatile java.lang.Object storeName_; + /** + *
+     * Required. name of state store.
+     * 
+ * + * string storeName = 1; + * @return The storeName. + */ + @java.lang.Override + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + storeName_ = s; + return s; } - - private static final StateConsistency[] VALUES = values(); - - public static StateConsistency valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { - if (desc.getType() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); - } - if (desc.getIndex() == -1) { - return UNRECOGNIZED; - } - return VALUES[desc.getIndex()]; + } + /** + *
+     * Required. name of state store.
+     * 
+ * + * string storeName = 1; + * @return The bytes for storeName. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getStoreNameBytes() { + java.lang.Object ref = storeName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + storeName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; } + } - private final int value; + public static final int OPERATIONS_FIELD_NUMBER = 2; + private java.util.List operations_; + /** + *
+     * Required. transactional operation list.
+     * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + @java.lang.Override + public java.util.List getOperationsList() { + return operations_; + } + /** + *
+     * Required. transactional operation list.
+     * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + @java.lang.Override + public java.util.List + getOperationsOrBuilderList() { + return operations_; + } + /** + *
+     * Required. transactional operation list.
+     * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + @java.lang.Override + public int getOperationsCount() { + return operations_.size(); + } + /** + *
+     * Required. transactional operation list.
+     * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation getOperations(int index) { + return operations_.get(index); + } + /** + *
+     * Required. transactional operation list.
+     * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + @java.lang.Override + public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperationOrBuilder getOperationsOrBuilder( + int index) { + return operations_.get(index); + } - private StateConsistency(int value) { - this.value = value; + public static final int METADATA_FIELD_NUMBER = 3; + private static final class MetadataDefaultEntryHolder { + static final com.google.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ExecuteStateTransactionRequest_MetadataEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); } - - // @@protoc_insertion_point(enum_scope:spec.proto.runtime.v1.StateOptions.StateConsistency) + return metadata_; } - public static final int CONCURRENCY_FIELD_NUMBER = 1; - private int concurrency_; + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); + } /** - * .spec.proto.runtime.v1.StateOptions.StateConcurrency concurrency = 1; - * @return The enum numeric value on the wire for concurrency. + *
+     * (optional) The metadata used for transactional operations.
+     * 
+ * + * map<string, string> metadata = 3; */ - @java.lang.Override public int getConcurrencyValue() { - return concurrency_; + + @java.lang.Override + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); } /** - * .spec.proto.runtime.v1.StateOptions.StateConcurrency concurrency = 1; - * @return The concurrency. + * Use {@link #getMetadataMap()} instead. */ - @java.lang.Override public spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency getConcurrency() { - @SuppressWarnings("deprecation") - spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency result = spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency.valueOf(concurrency_); - return result == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency.UNRECOGNIZED : result; + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); } + /** + *
+     * (optional) The metadata used for transactional operations.
+     * 
+ * + * map<string, string> metadata = 3; + */ + @java.lang.Override - public static final int CONSISTENCY_FIELD_NUMBER = 2; - private int consistency_; + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); + } /** - * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 2; - * @return The enum numeric value on the wire for consistency. + *
+     * (optional) The metadata used for transactional operations.
+     * 
+ * + * map<string, string> metadata = 3; */ - @java.lang.Override public int getConsistencyValue() { - return consistency_; + @java.lang.Override + + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; } /** - * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 2; - * @return The consistency. + *
+     * (optional) The metadata used for transactional operations.
+     * 
+ * + * map<string, string> metadata = 3; */ - @java.lang.Override public spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency getConsistency() { - @SuppressWarnings("deprecation") - spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency result = spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.valueOf(consistency_); - return result == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.UNRECOGNIZED : result; + @java.lang.Override + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); } private byte memoizedIsInitialized = -1; @@ -34880,12 +43106,18 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (concurrency_ != spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency.CONCURRENCY_UNSPECIFIED.getNumber()) { - output.writeEnum(1, concurrency_); + if (!getStoreNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); } - if (consistency_ != spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.CONSISTENCY_UNSPECIFIED.getNumber()) { - output.writeEnum(2, consistency_); + for (int i = 0; i < operations_.size(); i++) { + output.writeMessage(2, operations_.get(i)); } + com.google.protobuf.GeneratedMessageV3 + .serializeStringMapTo( + output, + internalGetMetadata(), + MetadataDefaultEntryHolder.defaultEntry, + 3); unknownFields.writeTo(output); } @@ -34895,13 +43127,22 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (concurrency_ != spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency.CONCURRENCY_UNSPECIFIED.getNumber()) { + if (!getStoreNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); + } + for (int i = 0; i < operations_.size(); i++) { size += com.google.protobuf.CodedOutputStream - .computeEnumSize(1, concurrency_); + .computeMessageSize(2, operations_.get(i)); } - if (consistency_ != spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.CONSISTENCY_UNSPECIFIED.getNumber()) { + for (java.util.Map.Entry entry + : internalGetMetadata().getMap().entrySet()) { + com.google.protobuf.MapEntry + metadata__ = MetadataDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); size += com.google.protobuf.CodedOutputStream - .computeEnumSize(2, consistency_); + .computeMessageSize(3, metadata__); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -34913,13 +43154,17 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.StateOptions)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.StateOptions other = (spec.proto.runtime.v1.RuntimeProto.StateOptions) obj; + spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest other = (spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest) obj; - if (concurrency_ != other.concurrency_) return false; - if (consistency_ != other.consistency_) return false; + if (!getStoreName() + .equals(other.getStoreName())) return false; + if (!getOperationsList() + .equals(other.getOperationsList())) return false; + if (!internalGetMetadata().equals( + other.internalGetMetadata())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -34931,78 +43176,84 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + CONCURRENCY_FIELD_NUMBER; - hash = (53 * hash) + concurrency_; - hash = (37 * hash) + CONSISTENCY_FIELD_NUMBER; - hash = (53 * hash) + consistency_; + hash = (37 * hash) + STORENAME_FIELD_NUMBER; + hash = (53 * hash) + getStoreName().hashCode(); + if (getOperationsCount() > 0) { + hash = (37 * hash) + OPERATIONS_FIELD_NUMBER; + hash = (53 * hash) + getOperationsList().hashCode(); + } + if (!internalGetMetadata().getMap().isEmpty()) { + hash = (37 * hash) + METADATA_FIELD_NUMBER; + hash = (53 * hash) + internalGetMetadata().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -35015,7 +43266,7 @@ public static spec.proto.runtime.v1.RuntimeProto.StateOptions parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.StateOptions prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -35032,29 +43283,51 @@ protected Builder newBuilderForType( } /** *
-     * StateOptions configures concurrency and consistency for state operations
+     * ExecuteStateTransactionRequest is the message to execute multiple operations on a specified store.
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.StateOptions} + * Protobuf type {@code spec.proto.runtime.v1.ExecuteStateTransactionRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.StateOptions) - spec.proto.runtime.v1.RuntimeProto.StateOptionsOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.ExecuteStateTransactionRequest) + spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateOptions_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ExecuteStateTransactionRequest_descriptor; } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 3: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMutableMapField( + int number) { + switch (number) { + case 3: + return internalGetMutableMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateOptions_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ExecuteStateTransactionRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.StateOptions.class, spec.proto.runtime.v1.RuntimeProto.StateOptions.Builder.class); + spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest.class, spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.StateOptions.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -35067,32 +43340,38 @@ private Builder( private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getOperationsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - concurrency_ = 0; - - consistency_ = 0; + storeName_ = ""; + if (operationsBuilder_ == null) { + operations_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + operationsBuilder_.clear(); + } + internalGetMutableMetadata().clear(); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_StateOptions_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ExecuteStateTransactionRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateOptions getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.StateOptions.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateOptions build() { - spec.proto.runtime.v1.RuntimeProto.StateOptions result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest build() { + spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -35100,10 +43379,21 @@ public spec.proto.runtime.v1.RuntimeProto.StateOptions build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateOptions buildPartial() { - spec.proto.runtime.v1.RuntimeProto.StateOptions result = new spec.proto.runtime.v1.RuntimeProto.StateOptions(this); - result.concurrency_ = concurrency_; - result.consistency_ = consistency_; + public spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest result = new spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest(this); + int from_bitField0_ = bitField0_; + result.storeName_ = storeName_; + if (operationsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + operations_ = java.util.Collections.unmodifiableList(operations_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.operations_ = operations_; + } else { + result.operations_ = operationsBuilder_.build(); + } + result.metadata_ = internalGetMetadata(); + result.metadata_.makeImmutable(); onBuilt(); return result; } @@ -35142,22 +43432,48 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.StateOptions) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.StateOptions)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.StateOptions other) { - if (other == spec.proto.runtime.v1.RuntimeProto.StateOptions.getDefaultInstance()) return this; - if (other.concurrency_ != 0) { - setConcurrencyValue(other.getConcurrencyValue()); + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest.getDefaultInstance()) return this; + if (!other.getStoreName().isEmpty()) { + storeName_ = other.storeName_; + onChanged(); } - if (other.consistency_ != 0) { - setConsistencyValue(other.getConsistencyValue()); + if (operationsBuilder_ == null) { + if (!other.operations_.isEmpty()) { + if (operations_.isEmpty()) { + operations_ = other.operations_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureOperationsIsMutable(); + operations_.addAll(other.operations_); + } + onChanged(); + } + } else { + if (!other.operations_.isEmpty()) { + if (operationsBuilder_.isEmpty()) { + operationsBuilder_.dispose(); + operationsBuilder_ = null; + operations_ = other.operations_; + bitField0_ = (bitField0_ & ~0x00000001); + operationsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getOperationsFieldBuilder() : null; + } else { + operationsBuilder_.addAllMessages(other.operations_); + } + } } + internalGetMutableMetadata().mergeFrom( + other.internalGetMetadata()); this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -35173,11 +43489,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.StateOptions parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.StateOptions) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -35186,112 +43502,569 @@ public Builder mergeFrom( } return this; } + private int bitField0_; - private int concurrency_ = 0; + private java.lang.Object storeName_ = ""; /** - * .spec.proto.runtime.v1.StateOptions.StateConcurrency concurrency = 1; - * @return The enum numeric value on the wire for concurrency. + *
+       * Required. name of state store.
+       * 
+ * + * string storeName = 1; + * @return The storeName. */ - @java.lang.Override public int getConcurrencyValue() { - return concurrency_; + public java.lang.String getStoreName() { + java.lang.Object ref = storeName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + storeName_ = s; + return s; + } else { + return (java.lang.String) ref; + } } /** - * .spec.proto.runtime.v1.StateOptions.StateConcurrency concurrency = 1; - * @param value The enum numeric value on the wire for concurrency to set. + *
+       * Required. name of state store.
+       * 
+ * + * string storeName = 1; + * @return The bytes for storeName. + */ + public com.google.protobuf.ByteString + getStoreNameBytes() { + java.lang.Object ref = storeName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + storeName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Required. name of state store.
+       * 
+ * + * string storeName = 1; + * @param value The storeName to set. * @return This builder for chaining. */ - public Builder setConcurrencyValue(int value) { - - concurrency_ = value; + public Builder setStoreName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + storeName_ = value; onChanged(); return this; } /** - * .spec.proto.runtime.v1.StateOptions.StateConcurrency concurrency = 1; - * @return The concurrency. + *
+       * Required. name of state store.
+       * 
+ * + * string storeName = 1; + * @return This builder for chaining. */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency getConcurrency() { - @SuppressWarnings("deprecation") - spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency result = spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency.valueOf(concurrency_); - return result == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency.UNRECOGNIZED : result; + public Builder clearStoreName() { + + storeName_ = getDefaultInstance().getStoreName(); + onChanged(); + return this; } /** - * .spec.proto.runtime.v1.StateOptions.StateConcurrency concurrency = 1; - * @param value The concurrency to set. + *
+       * Required. name of state store.
+       * 
+ * + * string storeName = 1; + * @param value The bytes for storeName to set. * @return This builder for chaining. */ - public Builder setConcurrency(spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConcurrency value) { + public Builder setStoreNameBytes( + com.google.protobuf.ByteString value) { if (value == null) { - throw new NullPointerException(); - } + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); - concurrency_ = value.getNumber(); + storeName_ = value; onChanged(); return this; } + + private java.util.List operations_ = + java.util.Collections.emptyList(); + private void ensureOperationsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + operations_ = new java.util.ArrayList(operations_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperationOrBuilder> operationsBuilder_; + + /** + *
+       * Required. transactional operation list.
+       * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + public java.util.List getOperationsList() { + if (operationsBuilder_ == null) { + return java.util.Collections.unmodifiableList(operations_); + } else { + return operationsBuilder_.getMessageList(); + } + } + /** + *
+       * Required. transactional operation list.
+       * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + public int getOperationsCount() { + if (operationsBuilder_ == null) { + return operations_.size(); + } else { + return operationsBuilder_.getCount(); + } + } + /** + *
+       * Required. transactional operation list.
+       * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation getOperations(int index) { + if (operationsBuilder_ == null) { + return operations_.get(index); + } else { + return operationsBuilder_.getMessage(index); + } + } + /** + *
+       * Required. transactional operation list.
+       * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + public Builder setOperations( + int index, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation value) { + if (operationsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOperationsIsMutable(); + operations_.set(index, value); + onChanged(); + } else { + operationsBuilder_.setMessage(index, value); + } + return this; + } /** - * .spec.proto.runtime.v1.StateOptions.StateConcurrency concurrency = 1; - * @return This builder for chaining. + *
+       * Required. transactional operation list.
+       * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; */ - public Builder clearConcurrency() { - - concurrency_ = 0; - onChanged(); + public Builder setOperations( + int index, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder builderForValue) { + if (operationsBuilder_ == null) { + ensureOperationsIsMutable(); + operations_.set(index, builderForValue.build()); + onChanged(); + } else { + operationsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * Required. transactional operation list.
+       * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + public Builder addOperations(spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation value) { + if (operationsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOperationsIsMutable(); + operations_.add(value); + onChanged(); + } else { + operationsBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * Required. transactional operation list.
+       * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + public Builder addOperations( + int index, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation value) { + if (operationsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOperationsIsMutable(); + operations_.add(index, value); + onChanged(); + } else { + operationsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * Required. transactional operation list.
+       * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + public Builder addOperations( + spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder builderForValue) { + if (operationsBuilder_ == null) { + ensureOperationsIsMutable(); + operations_.add(builderForValue.build()); + onChanged(); + } else { + operationsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * Required. transactional operation list.
+       * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + public Builder addOperations( + int index, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder builderForValue) { + if (operationsBuilder_ == null) { + ensureOperationsIsMutable(); + operations_.add(index, builderForValue.build()); + onChanged(); + } else { + operationsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * Required. transactional operation list.
+       * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + public Builder addAllOperations( + java.lang.Iterable values) { + if (operationsBuilder_ == null) { + ensureOperationsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, operations_); + onChanged(); + } else { + operationsBuilder_.addAllMessages(values); + } + return this; + } + /** + *
+       * Required. transactional operation list.
+       * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + public Builder clearOperations() { + if (operationsBuilder_ == null) { + operations_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + operationsBuilder_.clear(); + } + return this; + } + /** + *
+       * Required. transactional operation list.
+       * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + public Builder removeOperations(int index) { + if (operationsBuilder_ == null) { + ensureOperationsIsMutable(); + operations_.remove(index); + onChanged(); + } else { + operationsBuilder_.remove(index); + } return this; } - - private int consistency_ = 0; /** - * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 2; - * @return The enum numeric value on the wire for consistency. + *
+       * Required. transactional operation list.
+       * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder getOperationsBuilder( + int index) { + return getOperationsFieldBuilder().getBuilder(index); + } + /** + *
+       * Required. transactional operation list.
+       * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperationOrBuilder getOperationsOrBuilder( + int index) { + if (operationsBuilder_ == null) { + return operations_.get(index); } else { + return operationsBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+       * Required. transactional operation list.
+       * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + public java.util.List + getOperationsOrBuilderList() { + if (operationsBuilder_ != null) { + return operationsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(operations_); + } + } + /** + *
+       * Required. transactional operation list.
+       * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder addOperationsBuilder() { + return getOperationsFieldBuilder().addBuilder( + spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.getDefaultInstance()); + } + /** + *
+       * Required. transactional operation list.
+       * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder addOperationsBuilder( + int index) { + return getOperationsFieldBuilder().addBuilder( + index, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.getDefaultInstance()); + } + /** + *
+       * Required. transactional operation list.
+       * 
+ * + * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + */ + public java.util.List + getOperationsBuilderList() { + return getOperationsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperationOrBuilder> + getOperationsFieldBuilder() { + if (operationsBuilder_ == null) { + operationsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperationOrBuilder>( + operations_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + operations_ = null; + } + return operationsBuilder_; + } + + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + return metadata_; + } + private com.google.protobuf.MapField + internalGetMutableMetadata() { + onChanged();; + if (metadata_ == null) { + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + if (!metadata_.isMutable()) { + metadata_ = metadata_.copy(); + } + return metadata_; + } + + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); + } + /** + *
+       * (optional) The metadata used for transactional operations.
+       * 
+ * + * map<string, string> metadata = 3; + */ + + @java.lang.Override + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); + } + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); + } + /** + *
+       * (optional) The metadata used for transactional operations.
+       * 
+ * + * map<string, string> metadata = 3; + */ + @java.lang.Override + + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); + } + /** + *
+       * (optional) The metadata used for transactional operations.
+       * 
+ * + * map<string, string> metadata = 3; + */ + @java.lang.Override + + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + *
+       * (optional) The metadata used for transactional operations.
+       * 
+ * + * map<string, string> metadata = 3; */ - @java.lang.Override public int getConsistencyValue() { - return consistency_; + @java.lang.Override + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public Builder clearMetadata() { + internalGetMutableMetadata().getMutableMap() + .clear(); + return this; } /** - * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 2; - * @param value The enum numeric value on the wire for consistency to set. - * @return This builder for chaining. + *
+       * (optional) The metadata used for transactional operations.
+       * 
+ * + * map<string, string> metadata = 3; */ - public Builder setConsistencyValue(int value) { - - consistency_ = value; - onChanged(); + + public Builder removeMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .remove(key); return this; } /** - * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 2; - * @return The consistency. + * Use alternate mutation accessors instead. */ - @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency getConsistency() { - @SuppressWarnings("deprecation") - spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency result = spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.valueOf(consistency_); - return result == null ? spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency.UNRECOGNIZED : result; + @java.lang.Deprecated + public java.util.Map + getMutableMetadata() { + return internalGetMutableMetadata().getMutableMap(); } /** - * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 2; - * @param value The consistency to set. - * @return This builder for chaining. + *
+       * (optional) The metadata used for transactional operations.
+       * 
+ * + * map<string, string> metadata = 3; */ - public Builder setConsistency(spec.proto.runtime.v1.RuntimeProto.StateOptions.StateConsistency value) { - if (value == null) { - throw new NullPointerException(); - } - - consistency_ = value.getNumber(); - onChanged(); + public Builder putMetadata( + java.lang.String key, + java.lang.String value) { + if (key == null) { throw new java.lang.NullPointerException(); } + if (value == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .put(key, value); return this; } /** - * .spec.proto.runtime.v1.StateOptions.StateConsistency consistency = 2; - * @return This builder for chaining. + *
+       * (optional) The metadata used for transactional operations.
+       * 
+ * + * map<string, string> metadata = 3; */ - public Builder clearConsistency() { - - consistency_ = 0; - onChanged(); + + public Builder putAllMetadata( + java.util.Map values) { + internalGetMutableMetadata().getMutableMap() + .putAll(values); return this; } @java.lang.Override @@ -35307,122 +44080,212 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.StateOptions) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.ExecuteStateTransactionRequest) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.StateOptions) - private static final spec.proto.runtime.v1.RuntimeProto.StateOptions DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.ExecuteStateTransactionRequest) + private static final spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.StateOptions(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest(); } - public static spec.proto.runtime.v1.RuntimeProto.StateOptions getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public StateOptions parsePartialFrom( + public ExecuteStateTransactionRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new StateOptions(input, extensionRegistry); + return new ExecuteStateTransactionRequest(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateOptions getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface TransactionalStateOperationOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.TransactionalStateOperation) + public interface PublishEventRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.PublishEventRequest) com.google.protobuf.MessageOrBuilder { /** *
-     * Required. The type of operation to be executed
+     * The name of the pubsub component
      * 
* - * string operationType = 1; - * @return The operationType. + * string pubsub_name = 1; + * @return The pubsubName. */ - java.lang.String getOperationType(); + java.lang.String getPubsubName(); /** *
-     * Required. The type of operation to be executed
+     * The name of the pubsub component
      * 
* - * string operationType = 1; - * @return The bytes for operationType. + * string pubsub_name = 1; + * @return The bytes for pubsubName. */ com.google.protobuf.ByteString - getOperationTypeBytes(); + getPubsubNameBytes(); /** *
-     * Required. State values to be operated on
+     * The pubsub topic
      * 
* - * .spec.proto.runtime.v1.StateItem request = 2; - * @return Whether the request field is set. + * string topic = 2; + * @return The topic. */ - boolean hasRequest(); + java.lang.String getTopic(); /** *
-     * Required. State values to be operated on
+     * The pubsub topic
      * 
* - * .spec.proto.runtime.v1.StateItem request = 2; - * @return The request. + * string topic = 2; + * @return The bytes for topic. */ - spec.proto.runtime.v1.RuntimeProto.StateItem getRequest(); + com.google.protobuf.ByteString + getTopicBytes(); + /** *
-     * Required. State values to be operated on
+     * The data which will be published to topic.
      * 
* - * .spec.proto.runtime.v1.StateItem request = 2; + * bytes data = 3; + * @return The data. */ - spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder getRequestOrBuilder(); + com.google.protobuf.ByteString getData(); + + /** + *
+     * The content type for the data (optional).
+     * 
+ * + * string data_content_type = 4; + * @return The dataContentType. + */ + java.lang.String getDataContentType(); + /** + *
+     * The content type for the data (optional).
+     * 
+ * + * string data_content_type = 4; + * @return The bytes for dataContentType. + */ + com.google.protobuf.ByteString + getDataContentTypeBytes(); + + /** + *
+     * The metadata passing to pub components
+     * metadata property:
+     * - key : the key of the message.
+     * 
+ * + * map<string, string> metadata = 5; + */ + int getMetadataCount(); + /** + *
+     * The metadata passing to pub components
+     * metadata property:
+     * - key : the key of the message.
+     * 
+ * + * map<string, string> metadata = 5; + */ + boolean containsMetadata( + java.lang.String key); + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getMetadata(); + /** + *
+     * The metadata passing to pub components
+     * metadata property:
+     * - key : the key of the message.
+     * 
+ * + * map<string, string> metadata = 5; + */ + java.util.Map + getMetadataMap(); + /** + *
+     * The metadata passing to pub components
+     * metadata property:
+     * - key : the key of the message.
+     * 
+ * + * map<string, string> metadata = 5; + */ + + java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue); + /** + *
+     * The metadata passing to pub components
+     * metadata property:
+     * - key : the key of the message.
+     * 
+ * + * map<string, string> metadata = 5; + */ + + java.lang.String getMetadataOrThrow( + java.lang.String key); } /** *
-   * TransactionalStateOperation is the message to execute a specified operation with a key-value pair.
+   * PublishEventRequest is the message to publish event data to pubsub topic
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.TransactionalStateOperation} + * Protobuf type {@code spec.proto.runtime.v1.PublishEventRequest} */ - public static final class TransactionalStateOperation extends + public static final class PublishEventRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.TransactionalStateOperation) - TransactionalStateOperationOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.PublishEventRequest) + PublishEventRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use TransactionalStateOperation.newBuilder() to construct. - private TransactionalStateOperation(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use PublishEventRequest.newBuilder() to construct. + private PublishEventRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private TransactionalStateOperation() { - operationType_ = ""; + private PublishEventRequest() { + pubsubName_ = ""; + topic_ = ""; + data_ = com.google.protobuf.ByteString.EMPTY; + dataContentType_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new TransactionalStateOperation(); + return new PublishEventRequest(); } @java.lang.Override @@ -35430,7 +44293,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private TransactionalStateOperation( + private PublishEventRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -35438,6 +44301,7 @@ private TransactionalStateOperation( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -35451,20 +44315,37 @@ private TransactionalStateOperation( case 10: { java.lang.String s = input.readStringRequireUtf8(); - operationType_ = s; + pubsubName_ = s; break; } case 18: { - spec.proto.runtime.v1.RuntimeProto.StateItem.Builder subBuilder = null; - if (request_ != null) { - subBuilder = request_.toBuilder(); - } - request_ = input.readMessage(spec.proto.runtime.v1.RuntimeProto.StateItem.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(request_); - request_ = subBuilder.buildPartial(); - } + java.lang.String s = input.readStringRequireUtf8(); + + topic_ = s; + break; + } + case 26: { + + data_ = input.readBytes(); + break; + } + case 34: { + java.lang.String s = input.readStringRequireUtf8(); + dataContentType_ = s; + break; + } + case 42: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); + mutable_bitField0_ |= 0x00000001; + } + com.google.protobuf.MapEntry + metadata__ = input.readMessage( + MetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + metadata_.getMutableMap().put( + metadata__.getKey(), metadata__.getValue()); break; } default: { @@ -35488,99 +44369,285 @@ private TransactionalStateOperation( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TransactionalStateOperation_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_PublishEventRequest_descriptor; } + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 5: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TransactionalStateOperation_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_PublishEventRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.class, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder.class); + spec.proto.runtime.v1.RuntimeProto.PublishEventRequest.class, spec.proto.runtime.v1.RuntimeProto.PublishEventRequest.Builder.class); } - public static final int OPERATIONTYPE_FIELD_NUMBER = 1; - private volatile java.lang.Object operationType_; + public static final int PUBSUB_NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object pubsubName_; /** *
-     * Required. The type of operation to be executed
+     * The name of the pubsub component
      * 
* - * string operationType = 1; - * @return The operationType. + * string pubsub_name = 1; + * @return The pubsubName. */ @java.lang.Override - public java.lang.String getOperationType() { - java.lang.Object ref = operationType_; + public java.lang.String getPubsubName() { + java.lang.Object ref = pubsubName_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - operationType_ = s; + pubsubName_ = s; return s; } } /** *
-     * Required. The type of operation to be executed
+     * The name of the pubsub component
      * 
* - * string operationType = 1; - * @return The bytes for operationType. + * string pubsub_name = 1; + * @return The bytes for pubsubName. */ @java.lang.Override public com.google.protobuf.ByteString - getOperationTypeBytes() { - java.lang.Object ref = operationType_; + getPubsubNameBytes() { + java.lang.Object ref = pubsubName_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - operationType_ = b; + pubsubName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TOPIC_FIELD_NUMBER = 2; + private volatile java.lang.Object topic_; + /** + *
+     * The pubsub topic
+     * 
+ * + * string topic = 2; + * @return The topic. + */ + @java.lang.Override + public java.lang.String getTopic() { + java.lang.Object ref = topic_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + topic_ = s; + return s; + } + } + /** + *
+     * The pubsub topic
+     * 
+ * + * string topic = 2; + * @return The bytes for topic. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getTopicBytes() { + java.lang.Object ref = topic_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + topic_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DATA_FIELD_NUMBER = 3; + private com.google.protobuf.ByteString data_; + /** + *
+     * The data which will be published to topic.
+     * 
+ * + * bytes data = 3; + * @return The data. + */ + @java.lang.Override + public com.google.protobuf.ByteString getData() { + return data_; + } + + public static final int DATA_CONTENT_TYPE_FIELD_NUMBER = 4; + private volatile java.lang.Object dataContentType_; + /** + *
+     * The content type for the data (optional).
+     * 
+ * + * string data_content_type = 4; + * @return The dataContentType. + */ + @java.lang.Override + public java.lang.String getDataContentType() { + java.lang.Object ref = dataContentType_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + dataContentType_ = s; + return s; + } + } + /** + *
+     * The content type for the data (optional).
+     * 
+ * + * string data_content_type = 4; + * @return The bytes for dataContentType. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getDataContentTypeBytes() { + java.lang.Object ref = dataContentType_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + dataContentType_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } - - public static final int REQUEST_FIELD_NUMBER = 2; - private spec.proto.runtime.v1.RuntimeProto.StateItem request_; + + public static final int METADATA_FIELD_NUMBER = 5; + private static final class MetadataDefaultEntryHolder { + static final com.google.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_PublishEventRequest_MetadataEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + return metadata_; + } + + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); + } + /** + *
+     * The metadata passing to pub components
+     * metadata property:
+     * - key : the key of the message.
+     * 
+ * + * map<string, string> metadata = 5; + */ + + @java.lang.Override + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); + } + /** + * Use {@link #getMetadataMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); + } /** *
-     * Required. State values to be operated on
+     * The metadata passing to pub components
+     * metadata property:
+     * - key : the key of the message.
      * 
* - * .spec.proto.runtime.v1.StateItem request = 2; - * @return Whether the request field is set. + * map<string, string> metadata = 5; */ @java.lang.Override - public boolean hasRequest() { - return request_ != null; + + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); } /** *
-     * Required. State values to be operated on
+     * The metadata passing to pub components
+     * metadata property:
+     * - key : the key of the message.
      * 
* - * .spec.proto.runtime.v1.StateItem request = 2; - * @return The request. + * map<string, string> metadata = 5; */ @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateItem getRequest() { - return request_ == null ? spec.proto.runtime.v1.RuntimeProto.StateItem.getDefaultInstance() : request_; + + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
-     * Required. State values to be operated on
+     * The metadata passing to pub components
+     * metadata property:
+     * - key : the key of the message.
      * 
* - * .spec.proto.runtime.v1.StateItem request = 2; + * map<string, string> metadata = 5; */ @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder getRequestOrBuilder() { - return getRequest(); + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); } private byte memoizedIsInitialized = -1; @@ -35597,12 +44664,24 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!getOperationTypeBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, operationType_); + if (!getPubsubNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, pubsubName_); } - if (request_ != null) { - output.writeMessage(2, getRequest()); + if (!getTopicBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, topic_); + } + if (!data_.isEmpty()) { + output.writeBytes(3, data_); + } + if (!getDataContentTypeBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, dataContentType_); } + com.google.protobuf.GeneratedMessageV3 + .serializeStringMapTo( + output, + internalGetMetadata(), + MetadataDefaultEntryHolder.defaultEntry, + 5); unknownFields.writeTo(output); } @@ -35612,12 +44691,28 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!getOperationTypeBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, operationType_); + if (!getPubsubNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, pubsubName_); } - if (request_ != null) { + if (!getTopicBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, topic_); + } + if (!data_.isEmpty()) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getRequest()); + .computeBytesSize(3, data_); + } + if (!getDataContentTypeBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, dataContentType_); + } + for (java.util.Map.Entry entry + : internalGetMetadata().getMap().entrySet()) { + com.google.protobuf.MapEntry + metadata__ = MetadataDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, metadata__); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -35629,18 +44724,21 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.PublishEventRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation other = (spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation) obj; + spec.proto.runtime.v1.RuntimeProto.PublishEventRequest other = (spec.proto.runtime.v1.RuntimeProto.PublishEventRequest) obj; - if (!getOperationType() - .equals(other.getOperationType())) return false; - if (hasRequest() != other.hasRequest()) return false; - if (hasRequest()) { - if (!getRequest() - .equals(other.getRequest())) return false; - } + if (!getPubsubName() + .equals(other.getPubsubName())) return false; + if (!getTopic() + .equals(other.getTopic())) return false; + if (!getData() + .equals(other.getData())) return false; + if (!getDataContentType() + .equals(other.getDataContentType())) return false; + if (!internalGetMetadata().equals( + other.internalGetMetadata())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -35652,80 +44750,86 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + OPERATIONTYPE_FIELD_NUMBER; - hash = (53 * hash) + getOperationType().hashCode(); - if (hasRequest()) { - hash = (37 * hash) + REQUEST_FIELD_NUMBER; - hash = (53 * hash) + getRequest().hashCode(); + hash = (37 * hash) + PUBSUB_NAME_FIELD_NUMBER; + hash = (53 * hash) + getPubsubName().hashCode(); + hash = (37 * hash) + TOPIC_FIELD_NUMBER; + hash = (53 * hash) + getTopic().hashCode(); + hash = (37 * hash) + DATA_FIELD_NUMBER; + hash = (53 * hash) + getData().hashCode(); + hash = (37 * hash) + DATA_CONTENT_TYPE_FIELD_NUMBER; + hash = (53 * hash) + getDataContentType().hashCode(); + if (!internalGetMetadata().getMap().isEmpty()) { + hash = (37 * hash) + METADATA_FIELD_NUMBER; + hash = (53 * hash) + internalGetMetadata().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -35738,7 +44842,7 @@ public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation par public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.PublishEventRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -35755,29 +44859,51 @@ protected Builder newBuilderForType( } /** *
-     * TransactionalStateOperation is the message to execute a specified operation with a key-value pair.
+     * PublishEventRequest is the message to publish event data to pubsub topic
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.TransactionalStateOperation} + * Protobuf type {@code spec.proto.runtime.v1.PublishEventRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.TransactionalStateOperation) - spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperationOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.PublishEventRequest) + spec.proto.runtime.v1.RuntimeProto.PublishEventRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TransactionalStateOperation_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_PublishEventRequest_descriptor; } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 5: + return internalGetMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMutableMapField( + int number) { + switch (number) { + case 5: + return internalGetMutableMetadata(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TransactionalStateOperation_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_PublishEventRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.class, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder.class); + spec.proto.runtime.v1.RuntimeProto.PublishEventRequest.class, spec.proto.runtime.v1.RuntimeProto.PublishEventRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.PublishEventRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -35795,31 +44921,32 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - operationType_ = ""; + pubsubName_ = ""; - if (requestBuilder_ == null) { - request_ = null; - } else { - request_ = null; - requestBuilder_ = null; - } + topic_ = ""; + + data_ = com.google.protobuf.ByteString.EMPTY; + + dataContentType_ = ""; + + internalGetMutableMetadata().clear(); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_TransactionalStateOperation_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_PublishEventRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.PublishEventRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation build() { - spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest build() { + spec.proto.runtime.v1.RuntimeProto.PublishEventRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -35827,14 +44954,15 @@ public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation buildPartial() { - spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation result = new spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation(this); - result.operationType_ = operationType_; - if (requestBuilder_ == null) { - result.request_ = request_; - } else { - result.request_ = requestBuilder_.build(); - } + public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.PublishEventRequest result = new spec.proto.runtime.v1.RuntimeProto.PublishEventRequest(this); + int from_bitField0_ = bitField0_; + result.pubsubName_ = pubsubName_; + result.topic_ = topic_; + result.data_ = data_; + result.dataContentType_ = dataContentType_; + result.metadata_ = internalGetMetadata(); + result.metadata_.makeImmutable(); onBuilt(); return result; } @@ -35873,68 +45001,317 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.PublishEventRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.PublishEventRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation other) { - if (other == spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.getDefaultInstance()) return this; - if (!other.getOperationType().isEmpty()) { - operationType_ = other.operationType_; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.PublishEventRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.PublishEventRequest.getDefaultInstance()) return this; + if (!other.getPubsubName().isEmpty()) { + pubsubName_ = other.pubsubName_; onChanged(); } - if (other.hasRequest()) { - mergeRequest(other.getRequest()); + if (!other.getTopic().isEmpty()) { + topic_ = other.topic_; + onChanged(); + } + if (other.getData() != com.google.protobuf.ByteString.EMPTY) { + setData(other.getData()); + } + if (!other.getDataContentType().isEmpty()) { + dataContentType_ = other.dataContentType_; + onChanged(); } + internalGetMutableMetadata().mergeFrom( + other.internalGetMetadata()); this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.PublishEventRequest) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.lang.Object pubsubName_ = ""; + /** + *
+       * The name of the pubsub component
+       * 
+ * + * string pubsub_name = 1; + * @return The pubsubName. + */ + public java.lang.String getPubsubName() { + java.lang.Object ref = pubsubName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pubsubName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * The name of the pubsub component
+       * 
+ * + * string pubsub_name = 1; + * @return The bytes for pubsubName. + */ + public com.google.protobuf.ByteString + getPubsubNameBytes() { + java.lang.Object ref = pubsubName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + pubsubName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The name of the pubsub component
+       * 
+ * + * string pubsub_name = 1; + * @param value The pubsubName to set. + * @return This builder for chaining. + */ + public Builder setPubsubName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + pubsubName_ = value; + onChanged(); + return this; + } + /** + *
+       * The name of the pubsub component
+       * 
+ * + * string pubsub_name = 1; + * @return This builder for chaining. + */ + public Builder clearPubsubName() { + + pubsubName_ = getDefaultInstance().getPubsubName(); + onChanged(); + return this; + } + /** + *
+       * The name of the pubsub component
+       * 
+ * + * string pubsub_name = 1; + * @param value The bytes for pubsubName to set. + * @return This builder for chaining. + */ + public Builder setPubsubNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + pubsubName_ = value; + onChanged(); + return this; + } + + private java.lang.Object topic_ = ""; + /** + *
+       * The pubsub topic
+       * 
+ * + * string topic = 2; + * @return The topic. + */ + public java.lang.String getTopic() { + java.lang.Object ref = topic_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + topic_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * The pubsub topic
+       * 
+ * + * string topic = 2; + * @return The bytes for topic. + */ + public com.google.protobuf.ByteString + getTopicBytes() { + java.lang.Object ref = topic_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + topic_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The pubsub topic
+       * 
+ * + * string topic = 2; + * @param value The topic to set. + * @return This builder for chaining. + */ + public Builder setTopic( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + topic_ = value; + onChanged(); + return this; + } + /** + *
+       * The pubsub topic
+       * 
+ * + * string topic = 2; + * @return This builder for chaining. + */ + public Builder clearTopic() { + + topic_ = getDefaultInstance().getTopic(); + onChanged(); + return this; + } + /** + *
+       * The pubsub topic
+       * 
+ * + * string topic = 2; + * @param value The bytes for topic to set. + * @return This builder for chaining. + */ + public Builder setTopicBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + topic_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; + /** + *
+       * The data which will be published to topic.
+       * 
+ * + * bytes data = 3; + * @return The data. + */ + @java.lang.Override + public com.google.protobuf.ByteString getData() { + return data_; + } + /** + *
+       * The data which will be published to topic.
+       * 
+ * + * bytes data = 3; + * @param value The data to set. + * @return This builder for chaining. + */ + public Builder setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + + data_ = value; + onChanged(); + return this; + } + /** + *
+       * The data which will be published to topic.
+       * 
+ * + * bytes data = 3; + * @return This builder for chaining. + */ + public Builder clearData() { + + data_ = getDefaultInstance().getData(); + onChanged(); return this; } - private java.lang.Object operationType_ = ""; + private java.lang.Object dataContentType_ = ""; /** *
-       * Required. The type of operation to be executed
+       * The content type for the data (optional).
        * 
* - * string operationType = 1; - * @return The operationType. + * string data_content_type = 4; + * @return The dataContentType. */ - public java.lang.String getOperationType() { - java.lang.Object ref = operationType_; + public java.lang.String getDataContentType() { + java.lang.Object ref = dataContentType_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - operationType_ = s; + dataContentType_ = s; return s; } else { return (java.lang.String) ref; @@ -35942,20 +45319,20 @@ public java.lang.String getOperationType() { } /** *
-       * Required. The type of operation to be executed
+       * The content type for the data (optional).
        * 
* - * string operationType = 1; - * @return The bytes for operationType. + * string data_content_type = 4; + * @return The bytes for dataContentType. */ public com.google.protobuf.ByteString - getOperationTypeBytes() { - java.lang.Object ref = operationType_; + getDataContentTypeBytes() { + java.lang.Object ref = dataContentType_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - operationType_ = b; + dataContentType_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; @@ -35963,211 +45340,226 @@ public java.lang.String getOperationType() { } /** *
-       * Required. The type of operation to be executed
+       * The content type for the data (optional).
        * 
* - * string operationType = 1; - * @param value The operationType to set. + * string data_content_type = 4; + * @param value The dataContentType to set. * @return This builder for chaining. */ - public Builder setOperationType( + public Builder setDataContentType( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - operationType_ = value; + dataContentType_ = value; onChanged(); return this; } /** *
-       * Required. The type of operation to be executed
+       * The content type for the data (optional).
        * 
* - * string operationType = 1; + * string data_content_type = 4; * @return This builder for chaining. */ - public Builder clearOperationType() { + public Builder clearDataContentType() { - operationType_ = getDefaultInstance().getOperationType(); + dataContentType_ = getDefaultInstance().getDataContentType(); onChanged(); return this; } /** *
-       * Required. The type of operation to be executed
+       * The content type for the data (optional).
        * 
* - * string operationType = 1; - * @param value The bytes for operationType to set. + * string data_content_type = 4; + * @param value The bytes for dataContentType to set. * @return This builder for chaining. */ - public Builder setOperationTypeBytes( + public Builder setDataContentTypeBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); - operationType_ = value; + dataContentType_ = value; onChanged(); return this; } - private spec.proto.runtime.v1.RuntimeProto.StateItem request_; - private com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.StateItem, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder, spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder> requestBuilder_; + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> metadata_; + private com.google.protobuf.MapField + internalGetMetadata() { + if (metadata_ == null) { + return com.google.protobuf.MapField.emptyMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + return metadata_; + } + private com.google.protobuf.MapField + internalGetMutableMetadata() { + onChanged();; + if (metadata_ == null) { + metadata_ = com.google.protobuf.MapField.newMapField( + MetadataDefaultEntryHolder.defaultEntry); + } + if (!metadata_.isMutable()) { + metadata_ = metadata_.copy(); + } + return metadata_; + } + + public int getMetadataCount() { + return internalGetMetadata().getMap().size(); + } /** *
-       * Required. State values to be operated on
+       * The metadata passing to pub components
+       * metadata property:
+       * - key : the key of the message.
        * 
* - * .spec.proto.runtime.v1.StateItem request = 2; - * @return Whether the request field is set. + * map<string, string> metadata = 5; */ - public boolean hasRequest() { - return requestBuilder_ != null || request_ != null; + + @java.lang.Override + public boolean containsMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + return internalGetMetadata().getMap().containsKey(key); } /** - *
-       * Required. State values to be operated on
-       * 
- * - * .spec.proto.runtime.v1.StateItem request = 2; - * @return The request. + * Use {@link #getMetadataMap()} instead. */ - public spec.proto.runtime.v1.RuntimeProto.StateItem getRequest() { - if (requestBuilder_ == null) { - return request_ == null ? spec.proto.runtime.v1.RuntimeProto.StateItem.getDefaultInstance() : request_; - } else { - return requestBuilder_.getMessage(); - } + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getMetadata() { + return getMetadataMap(); } /** *
-       * Required. State values to be operated on
+       * The metadata passing to pub components
+       * metadata property:
+       * - key : the key of the message.
        * 
* - * .spec.proto.runtime.v1.StateItem request = 2; + * map<string, string> metadata = 5; */ - public Builder setRequest(spec.proto.runtime.v1.RuntimeProto.StateItem value) { - if (requestBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - request_ = value; - onChanged(); - } else { - requestBuilder_.setMessage(value); - } + @java.lang.Override - return this; + public java.util.Map getMetadataMap() { + return internalGetMetadata().getMap(); } /** *
-       * Required. State values to be operated on
+       * The metadata passing to pub components
+       * metadata property:
+       * - key : the key of the message.
        * 
* - * .spec.proto.runtime.v1.StateItem request = 2; + * map<string, string> metadata = 5; */ - public Builder setRequest( - spec.proto.runtime.v1.RuntimeProto.StateItem.Builder builderForValue) { - if (requestBuilder_ == null) { - request_ = builderForValue.build(); - onChanged(); - } else { - requestBuilder_.setMessage(builderForValue.build()); - } + @java.lang.Override - return this; + public java.lang.String getMetadataOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
-       * Required. State values to be operated on
+       * The metadata passing to pub components
+       * metadata property:
+       * - key : the key of the message.
        * 
* - * .spec.proto.runtime.v1.StateItem request = 2; + * map<string, string> metadata = 5; */ - public Builder mergeRequest(spec.proto.runtime.v1.RuntimeProto.StateItem value) { - if (requestBuilder_ == null) { - if (request_ != null) { - request_ = - spec.proto.runtime.v1.RuntimeProto.StateItem.newBuilder(request_).mergeFrom(value).buildPartial(); - } else { - request_ = value; - } - onChanged(); - } else { - requestBuilder_.mergeFrom(value); + @java.lang.Override + + public java.lang.String getMetadataOrThrow( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + java.util.Map map = + internalGetMetadata().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); } + return map.get(key); + } + public Builder clearMetadata() { + internalGetMutableMetadata().getMutableMap() + .clear(); return this; } /** *
-       * Required. State values to be operated on
+       * The metadata passing to pub components
+       * metadata property:
+       * - key : the key of the message.
        * 
* - * .spec.proto.runtime.v1.StateItem request = 2; + * map<string, string> metadata = 5; */ - public Builder clearRequest() { - if (requestBuilder_ == null) { - request_ = null; - onChanged(); - } else { - request_ = null; - requestBuilder_ = null; - } + public Builder removeMetadata( + java.lang.String key) { + if (key == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .remove(key); return this; } /** - *
-       * Required. State values to be operated on
-       * 
- * - * .spec.proto.runtime.v1.StateItem request = 2; + * Use alternate mutation accessors instead. */ - public spec.proto.runtime.v1.RuntimeProto.StateItem.Builder getRequestBuilder() { - - onChanged(); - return getRequestFieldBuilder().getBuilder(); + @java.lang.Deprecated + public java.util.Map + getMutableMetadata() { + return internalGetMutableMetadata().getMutableMap(); } /** *
-       * Required. State values to be operated on
+       * The metadata passing to pub components
+       * metadata property:
+       * - key : the key of the message.
        * 
* - * .spec.proto.runtime.v1.StateItem request = 2; + * map<string, string> metadata = 5; */ - public spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder getRequestOrBuilder() { - if (requestBuilder_ != null) { - return requestBuilder_.getMessageOrBuilder(); - } else { - return request_ == null ? - spec.proto.runtime.v1.RuntimeProto.StateItem.getDefaultInstance() : request_; - } + public Builder putMetadata( + java.lang.String key, + java.lang.String value) { + if (key == null) { throw new java.lang.NullPointerException(); } + if (value == null) { throw new java.lang.NullPointerException(); } + internalGetMutableMetadata().getMutableMap() + .put(key, value); + return this; } /** *
-       * Required. State values to be operated on
+       * The metadata passing to pub components
+       * metadata property:
+       * - key : the key of the message.
        * 
* - * .spec.proto.runtime.v1.StateItem request = 2; + * map<string, string> metadata = 5; */ - private com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.StateItem, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder, spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder> - getRequestFieldBuilder() { - if (requestBuilder_ == null) { - requestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.StateItem, spec.proto.runtime.v1.RuntimeProto.StateItem.Builder, spec.proto.runtime.v1.RuntimeProto.StateItemOrBuilder>( - getRequest(), - getParentForChildren(), - isClean()); - request_ = null; - } - return requestBuilder_; + + public Builder putAllMetadata( + java.util.Map values) { + internalGetMutableMetadata().getMutableMap() + .putAll(values); + return this; } @java.lang.Override public final Builder setUnknownFields( @@ -36182,117 +45574,88 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.TransactionalStateOperation) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.PublishEventRequest) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.TransactionalStateOperation) - private static final spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.PublishEventRequest) + private static final spec.proto.runtime.v1.RuntimeProto.PublishEventRequest DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.PublishEventRequest(); } - public static spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public TransactionalStateOperation parsePartialFrom( + public PublishEventRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new TransactionalStateOperation(input, extensionRegistry); + return new PublishEventRequest(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface ExecuteStateTransactionRequestOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.ExecuteStateTransactionRequest) + public interface InvokeBindingRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.InvokeBindingRequest) com.google.protobuf.MessageOrBuilder { /** *
-     * Required. name of state store.
+     * The name of the output binding to invoke.
      * 
* - * string storeName = 1; - * @return The storeName. + * string name = 1; + * @return The name. */ - java.lang.String getStoreName(); + java.lang.String getName(); /** *
-     * Required. name of state store.
+     * The name of the output binding to invoke.
      * 
* - * string storeName = 1; - * @return The bytes for storeName. + * string name = 1; + * @return The bytes for name. */ com.google.protobuf.ByteString - getStoreNameBytes(); + getNameBytes(); /** *
-     * Required. transactional operation list.
-     * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - java.util.List - getOperationsList(); - /** - *
-     * Required. transactional operation list.
-     * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation getOperations(int index); - /** - *
-     * Required. transactional operation list.
-     * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - int getOperationsCount(); - /** - *
-     * Required. transactional operation list.
-     * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - java.util.List - getOperationsOrBuilderList(); - /** - *
-     * Required. transactional operation list.
+     * The data which will be sent to output binding.
      * 
* - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + * bytes data = 2; + * @return The data. */ - spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperationOrBuilder getOperationsOrBuilder( - int index); + com.google.protobuf.ByteString getData(); /** *
-     * (optional) The metadata used for transactional operations.
+     * The metadata passing to output binding components
+     * Common metadata property:
+     * - ttlInSeconds : the time to live in seconds for the message.
+     * If set in the binding definition will cause all messages to
+     * have a default time to live. The message ttl overrides any value
+     * in the binding definition.
      * 
* * map<string, string> metadata = 3; @@ -36300,7 +45663,12 @@ spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperationOrBuilder getOpera int getMetadataCount(); /** *
-     * (optional) The metadata used for transactional operations.
+     * The metadata passing to output binding components
+     * Common metadata property:
+     * - ttlInSeconds : the time to live in seconds for the message.
+     * If set in the binding definition will cause all messages to
+     * have a default time to live. The message ttl overrides any value
+     * in the binding definition.
      * 
* * map<string, string> metadata = 3; @@ -36315,7 +45683,12 @@ boolean containsMetadata( getMetadata(); /** *
-     * (optional) The metadata used for transactional operations.
+     * The metadata passing to output binding components
+     * Common metadata property:
+     * - ttlInSeconds : the time to live in seconds for the message.
+     * If set in the binding definition will cause all messages to
+     * have a default time to live. The message ttl overrides any value
+     * in the binding definition.
      * 
* * map<string, string> metadata = 3; @@ -36324,7 +45697,12 @@ boolean containsMetadata( getMetadataMap(); /** *
-     * (optional) The metadata used for transactional operations.
+     * The metadata passing to output binding components
+     * Common metadata property:
+     * - ttlInSeconds : the time to live in seconds for the message.
+     * If set in the binding definition will cause all messages to
+     * have a default time to live. The message ttl overrides any value
+     * in the binding definition.
      * 
* * map<string, string> metadata = 3; @@ -36335,7 +45713,12 @@ java.lang.String getMetadataOrDefault( java.lang.String defaultValue); /** *
-     * (optional) The metadata used for transactional operations.
+     * The metadata passing to output binding components
+     * Common metadata property:
+     * - ttlInSeconds : the time to live in seconds for the message.
+     * If set in the binding definition will cause all messages to
+     * have a default time to live. The message ttl overrides any value
+     * in the binding definition.
      * 
* * map<string, string> metadata = 3; @@ -36343,33 +45726,54 @@ java.lang.String getMetadataOrDefault( java.lang.String getMetadataOrThrow( java.lang.String key); + + /** + *
+     * The name of the operation type for the binding to invoke
+     * 
+ * + * string operation = 4; + * @return The operation. + */ + java.lang.String getOperation(); + /** + *
+     * The name of the operation type for the binding to invoke
+     * 
+ * + * string operation = 4; + * @return The bytes for operation. + */ + com.google.protobuf.ByteString + getOperationBytes(); } /** *
-   * ExecuteStateTransactionRequest is the message to execute multiple operations on a specified store.
+   * InvokeBindingRequest is the message to send data to output bindings
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.ExecuteStateTransactionRequest} + * Protobuf type {@code spec.proto.runtime.v1.InvokeBindingRequest} */ - public static final class ExecuteStateTransactionRequest extends + public static final class InvokeBindingRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.ExecuteStateTransactionRequest) - ExecuteStateTransactionRequestOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.InvokeBindingRequest) + InvokeBindingRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use ExecuteStateTransactionRequest.newBuilder() to construct. - private ExecuteStateTransactionRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use InvokeBindingRequest.newBuilder() to construct. + private InvokeBindingRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private ExecuteStateTransactionRequest() { - storeName_ = ""; - operations_ = java.util.Collections.emptyList(); + private InvokeBindingRequest() { + name_ = ""; + data_ = com.google.protobuf.ByteString.EMPTY; + operation_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new ExecuteStateTransactionRequest(); + return new InvokeBindingRequest(); } @java.lang.Override @@ -36377,7 +45781,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private ExecuteStateTransactionRequest( + private InvokeBindingRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -36399,23 +45803,19 @@ private ExecuteStateTransactionRequest( case 10: { java.lang.String s = input.readStringRequireUtf8(); - storeName_ = s; + name_ = s; break; } case 18: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - operations_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - operations_.add( - input.readMessage(spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.parser(), extensionRegistry)); + + data_ = input.readBytes(); break; } case 26: { - if (!((mutable_bitField0_ & 0x00000002) != 0)) { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { metadata_ = com.google.protobuf.MapField.newMapField( MetadataDefaultEntryHolder.defaultEntry); - mutable_bitField0_ |= 0x00000002; + mutable_bitField0_ |= 0x00000001; } com.google.protobuf.MapEntry metadata__ = input.readMessage( @@ -36424,6 +45824,12 @@ private ExecuteStateTransactionRequest( metadata__.getKey(), metadata__.getValue()); break; } + case 34: { + java.lang.String s = input.readStringRequireUtf8(); + + operation_ = s; + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -36439,16 +45845,13 @@ private ExecuteStateTransactionRequest( throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - operations_ = java.util.Collections.unmodifiableList(operations_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ExecuteStateTransactionRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeBindingRequest_descriptor; } @SuppressWarnings({"rawtypes"}) @@ -36466,115 +45869,70 @@ protected com.google.protobuf.MapField internalGetMapField( @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ExecuteStateTransactionRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeBindingRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest.class, spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest.Builder.class); - } - - public static final int STORENAME_FIELD_NUMBER = 1; - private volatile java.lang.Object storeName_; - /** - *
-     * Required. name of state store.
-     * 
- * - * string storeName = 1; - * @return The storeName. - */ - @java.lang.Override - public java.lang.String getStoreName() { - java.lang.Object ref = storeName_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - storeName_ = s; - return s; - } - } - /** - *
-     * Required. name of state store.
-     * 
- * - * string storeName = 1; - * @return The bytes for storeName. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getStoreNameBytes() { - java.lang.Object ref = storeName_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - storeName_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int OPERATIONS_FIELD_NUMBER = 2; - private java.util.List operations_; - /** - *
-     * Required. transactional operation list.
-     * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - @java.lang.Override - public java.util.List getOperationsList() { - return operations_; - } - /** - *
-     * Required. transactional operation list.
-     * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - @java.lang.Override - public java.util.List - getOperationsOrBuilderList() { - return operations_; + spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest.class, spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest.Builder.class); } + + public static final int NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object name_; /** *
-     * Required. transactional operation list.
+     * The name of the output binding to invoke.
      * 
* - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + * string name = 1; + * @return The name. */ @java.lang.Override - public int getOperationsCount() { - return operations_.size(); + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } } /** *
-     * Required. transactional operation list.
+     * The name of the output binding to invoke.
      * 
* - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + * string name = 1; + * @return The bytes for name. */ @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation getOperations(int index) { - return operations_.get(index); + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } + + public static final int DATA_FIELD_NUMBER = 2; + private com.google.protobuf.ByteString data_; /** *
-     * Required. transactional operation list.
+     * The data which will be sent to output binding.
      * 
* - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + * bytes data = 2; + * @return The data. */ @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperationOrBuilder getOperationsOrBuilder( - int index) { - return operations_.get(index); + public com.google.protobuf.ByteString getData() { + return data_; } public static final int METADATA_FIELD_NUMBER = 3; @@ -36583,7 +45941,7 @@ private static final class MetadataDefaultEntryHolder { java.lang.String, java.lang.String> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( - spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ExecuteStateTransactionRequest_MetadataEntry_descriptor, + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeBindingRequest_MetadataEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.STRING, @@ -36605,7 +45963,12 @@ public int getMetadataCount() { } /** *
-     * (optional) The metadata used for transactional operations.
+     * The metadata passing to output binding components
+     * Common metadata property:
+     * - ttlInSeconds : the time to live in seconds for the message.
+     * If set in the binding definition will cause all messages to
+     * have a default time to live. The message ttl overrides any value
+     * in the binding definition.
      * 
* * map<string, string> metadata = 3; @@ -36627,7 +45990,12 @@ public java.util.Map getMetadata() { } /** *
-     * (optional) The metadata used for transactional operations.
+     * The metadata passing to output binding components
+     * Common metadata property:
+     * - ttlInSeconds : the time to live in seconds for the message.
+     * If set in the binding definition will cause all messages to
+     * have a default time to live. The message ttl overrides any value
+     * in the binding definition.
      * 
* * map<string, string> metadata = 3; @@ -36639,7 +46007,12 @@ public java.util.Map getMetadataMap() { } /** *
-     * (optional) The metadata used for transactional operations.
+     * The metadata passing to output binding components
+     * Common metadata property:
+     * - ttlInSeconds : the time to live in seconds for the message.
+     * If set in the binding definition will cause all messages to
+     * have a default time to live. The message ttl overrides any value
+     * in the binding definition.
      * 
* * map<string, string> metadata = 3; @@ -36656,7 +46029,12 @@ public java.lang.String getMetadataOrDefault( } /** *
-     * (optional) The metadata used for transactional operations.
+     * The metadata passing to output binding components
+     * Common metadata property:
+     * - ttlInSeconds : the time to live in seconds for the message.
+     * If set in the binding definition will cause all messages to
+     * have a default time to live. The message ttl overrides any value
+     * in the binding definition.
      * 
* * map<string, string> metadata = 3; @@ -36674,6 +46052,52 @@ public java.lang.String getMetadataOrThrow( return map.get(key); } + public static final int OPERATION_FIELD_NUMBER = 4; + private volatile java.lang.Object operation_; + /** + *
+     * The name of the operation type for the binding to invoke
+     * 
+ * + * string operation = 4; + * @return The operation. + */ + @java.lang.Override + public java.lang.String getOperation() { + java.lang.Object ref = operation_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + operation_ = s; + return s; + } + } + /** + *
+     * The name of the operation type for the binding to invoke
+     * 
+ * + * string operation = 4; + * @return The bytes for operation. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getOperationBytes() { + java.lang.Object ref = operation_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + operation_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -36688,11 +46112,11 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!getStoreNameBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storeName_); + if (!getNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); } - for (int i = 0; i < operations_.size(); i++) { - output.writeMessage(2, operations_.get(i)); + if (!data_.isEmpty()) { + output.writeBytes(2, data_); } com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( @@ -36700,6 +46124,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) internalGetMetadata(), MetadataDefaultEntryHolder.defaultEntry, 3); + if (!getOperationBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, operation_); + } unknownFields.writeTo(output); } @@ -36709,12 +46136,12 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!getStoreNameBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storeName_); + if (!getNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); } - for (int i = 0; i < operations_.size(); i++) { + if (!data_.isEmpty()) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, operations_.get(i)); + .computeBytesSize(2, data_); } for (java.util.Map.Entry entry : internalGetMetadata().getMap().entrySet()) { @@ -36726,6 +46153,9 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, metadata__); } + if (!getOperationBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, operation_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -36736,17 +46166,19 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest other = (spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest) obj; + spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest other = (spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest) obj; - if (!getStoreName() - .equals(other.getStoreName())) return false; - if (!getOperationsList() - .equals(other.getOperationsList())) return false; + if (!getName() + .equals(other.getName())) return false; + if (!getData() + .equals(other.getData())) return false; if (!internalGetMetadata().equals( other.internalGetMetadata())) return false; + if (!getOperation() + .equals(other.getOperation())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -36758,84 +46190,84 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + STORENAME_FIELD_NUMBER; - hash = (53 * hash) + getStoreName().hashCode(); - if (getOperationsCount() > 0) { - hash = (37 * hash) + OPERATIONS_FIELD_NUMBER; - hash = (53 * hash) + getOperationsList().hashCode(); - } + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + DATA_FIELD_NUMBER; + hash = (53 * hash) + getData().hashCode(); if (!internalGetMetadata().getMap().isEmpty()) { hash = (37 * hash) + METADATA_FIELD_NUMBER; hash = (53 * hash) + internalGetMetadata().hashCode(); } + hash = (37 * hash) + OPERATION_FIELD_NUMBER; + hash = (53 * hash) + getOperation().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -36848,7 +46280,7 @@ public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -36865,18 +46297,18 @@ protected Builder newBuilderForType( } /** *
-     * ExecuteStateTransactionRequest is the message to execute multiple operations on a specified store.
+     * InvokeBindingRequest is the message to send data to output bindings
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.ExecuteStateTransactionRequest} + * Protobuf type {@code spec.proto.runtime.v1.InvokeBindingRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.ExecuteStateTransactionRequest) - spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequestOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.InvokeBindingRequest) + spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ExecuteStateTransactionRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeBindingRequest_descriptor; } @SuppressWarnings({"rawtypes"}) @@ -36904,12 +46336,12 @@ protected com.google.protobuf.MapField internalGetMutableMapField( @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ExecuteStateTransactionRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeBindingRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest.class, spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest.class, spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -36922,38 +46354,35 @@ private Builder( private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getOperationsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - storeName_ = ""; + name_ = ""; + + data_ = com.google.protobuf.ByteString.EMPTY; - if (operationsBuilder_ == null) { - operations_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - operationsBuilder_.clear(); - } internalGetMutableMetadata().clear(); + operation_ = ""; + return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_ExecuteStateTransactionRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeBindingRequest_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest build() { - spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest build() { + spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -36961,21 +46390,14 @@ public spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest build() } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest buildPartial() { - spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest result = new spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest(this); + public spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest buildPartial() { + spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest result = new spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest(this); int from_bitField0_ = bitField0_; - result.storeName_ = storeName_; - if (operationsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - operations_ = java.util.Collections.unmodifiableList(operations_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.operations_ = operations_; - } else { - result.operations_ = operationsBuilder_.build(); - } + result.name_ = name_; + result.data_ = data_; result.metadata_ = internalGetMetadata(); result.metadata_.makeImmutable(); + result.operation_ = operation_; onBuilt(); return result; } @@ -37014,48 +46436,29 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest other) { - if (other == spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest.getDefaultInstance()) return this; - if (!other.getStoreName().isEmpty()) { - storeName_ = other.storeName_; + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest other) { + if (other == spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; onChanged(); } - if (operationsBuilder_ == null) { - if (!other.operations_.isEmpty()) { - if (operations_.isEmpty()) { - operations_ = other.operations_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureOperationsIsMutable(); - operations_.addAll(other.operations_); - } - onChanged(); - } - } else { - if (!other.operations_.isEmpty()) { - if (operationsBuilder_.isEmpty()) { - operationsBuilder_.dispose(); - operationsBuilder_ = null; - operations_ = other.operations_; - bitField0_ = (bitField0_ & ~0x00000001); - operationsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getOperationsFieldBuilder() : null; - } else { - operationsBuilder_.addAllMessages(other.operations_); - } - } + if (other.getData() != com.google.protobuf.ByteString.EMPTY) { + setData(other.getData()); } internalGetMutableMetadata().mergeFrom( other.internalGetMetadata()); + if (!other.getOperation().isEmpty()) { + operation_ = other.operation_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -37071,11 +46474,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -37086,22 +46489,22 @@ public Builder mergeFrom( } private int bitField0_; - private java.lang.Object storeName_ = ""; + private java.lang.Object name_ = ""; /** *
-       * Required. name of state store.
+       * The name of the output binding to invoke.
        * 
* - * string storeName = 1; - * @return The storeName. + * string name = 1; + * @return The name. */ - public java.lang.String getStoreName() { - java.lang.Object ref = storeName_; + public java.lang.String getName() { + java.lang.Object ref = name_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - storeName_ = s; + name_ = s; return s; } else { return (java.lang.String) ref; @@ -37109,20 +46512,20 @@ public java.lang.String getStoreName() { } /** *
-       * Required. name of state store.
+       * The name of the output binding to invoke.
        * 
* - * string storeName = 1; - * @return The bytes for storeName. + * string name = 1; + * @return The bytes for name. */ public com.google.protobuf.ByteString - getStoreNameBytes() { - java.lang.Object ref = storeName_; + getNameBytes() { + java.lang.Object ref = name_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - storeName_ = b; + name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; @@ -37130,368 +46533,102 @@ public java.lang.String getStoreName() { } /** *
-       * Required. name of state store.
+       * The name of the output binding to invoke.
        * 
* - * string storeName = 1; - * @param value The storeName to set. + * string name = 1; + * @param value The name to set. * @return This builder for chaining. */ - public Builder setStoreName( + public Builder setName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - storeName_ = value; - onChanged(); - return this; - } - /** - *
-       * Required. name of state store.
-       * 
- * - * string storeName = 1; - * @return This builder for chaining. - */ - public Builder clearStoreName() { - - storeName_ = getDefaultInstance().getStoreName(); - onChanged(); - return this; - } - /** - *
-       * Required. name of state store.
-       * 
- * - * string storeName = 1; - * @param value The bytes for storeName to set. - * @return This builder for chaining. - */ - public Builder setStoreNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - storeName_ = value; - onChanged(); - return this; - } - - private java.util.List operations_ = - java.util.Collections.emptyList(); - private void ensureOperationsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - operations_ = new java.util.ArrayList(operations_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperationOrBuilder> operationsBuilder_; - - /** - *
-       * Required. transactional operation list.
-       * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - public java.util.List getOperationsList() { - if (operationsBuilder_ == null) { - return java.util.Collections.unmodifiableList(operations_); - } else { - return operationsBuilder_.getMessageList(); - } - } - /** - *
-       * Required. transactional operation list.
-       * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - public int getOperationsCount() { - if (operationsBuilder_ == null) { - return operations_.size(); - } else { - return operationsBuilder_.getCount(); - } - } - /** - *
-       * Required. transactional operation list.
-       * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation getOperations(int index) { - if (operationsBuilder_ == null) { - return operations_.get(index); - } else { - return operationsBuilder_.getMessage(index); - } - } - /** - *
-       * Required. transactional operation list.
-       * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - public Builder setOperations( - int index, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation value) { - if (operationsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOperationsIsMutable(); - operations_.set(index, value); - onChanged(); - } else { - operationsBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-       * Required. transactional operation list.
-       * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - public Builder setOperations( - int index, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder builderForValue) { - if (operationsBuilder_ == null) { - ensureOperationsIsMutable(); - operations_.set(index, builderForValue.build()); - onChanged(); - } else { - operationsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * Required. transactional operation list.
-       * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - public Builder addOperations(spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation value) { - if (operationsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOperationsIsMutable(); - operations_.add(value); - onChanged(); - } else { - operationsBuilder_.addMessage(value); - } - return this; - } - /** - *
-       * Required. transactional operation list.
-       * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - public Builder addOperations( - int index, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation value) { - if (operationsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureOperationsIsMutable(); - operations_.add(index, value); - onChanged(); - } else { - operationsBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-       * Required. transactional operation list.
-       * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - public Builder addOperations( - spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder builderForValue) { - if (operationsBuilder_ == null) { - ensureOperationsIsMutable(); - operations_.add(builderForValue.build()); - onChanged(); - } else { - operationsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-       * Required. transactional operation list.
-       * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - public Builder addOperations( - int index, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder builderForValue) { - if (operationsBuilder_ == null) { - ensureOperationsIsMutable(); - operations_.add(index, builderForValue.build()); - onChanged(); - } else { - operationsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * Required. transactional operation list.
-       * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - public Builder addAllOperations( - java.lang.Iterable values) { - if (operationsBuilder_ == null) { - ensureOperationsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, operations_); - onChanged(); - } else { - operationsBuilder_.addAllMessages(values); - } - return this; - } - /** - *
-       * Required. transactional operation list.
-       * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - public Builder clearOperations() { - if (operationsBuilder_ == null) { - operations_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - } else { - operationsBuilder_.clear(); - } - return this; - } - /** - *
-       * Required. transactional operation list.
-       * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - public Builder removeOperations(int index) { - if (operationsBuilder_ == null) { - ensureOperationsIsMutable(); - operations_.remove(index); - onChanged(); - } else { - operationsBuilder_.remove(index); - } - return this; - } - /** - *
-       * Required. transactional operation list.
-       * 
- * - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; - */ - public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder getOperationsBuilder( - int index) { - return getOperationsFieldBuilder().getBuilder(index); + name_ = value; + onChanged(); + return this; } /** *
-       * Required. transactional operation list.
+       * The name of the output binding to invoke.
        * 
* - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + * string name = 1; + * @return This builder for chaining. */ - public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperationOrBuilder getOperationsOrBuilder( - int index) { - if (operationsBuilder_ == null) { - return operations_.get(index); } else { - return operationsBuilder_.getMessageOrBuilder(index); - } + public Builder clearName() { + + name_ = getDefaultInstance().getName(); + onChanged(); + return this; } /** *
-       * Required. transactional operation list.
+       * The name of the output binding to invoke.
        * 
* - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + * string name = 1; + * @param value The bytes for name to set. + * @return This builder for chaining. */ - public java.util.List - getOperationsOrBuilderList() { - if (operationsBuilder_ != null) { - return operationsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(operations_); - } + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + name_ = value; + onChanged(); + return this; } + + private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; /** *
-       * Required. transactional operation list.
+       * The data which will be sent to output binding.
        * 
* - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + * bytes data = 2; + * @return The data. */ - public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder addOperationsBuilder() { - return getOperationsFieldBuilder().addBuilder( - spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.getDefaultInstance()); + @java.lang.Override + public com.google.protobuf.ByteString getData() { + return data_; } /** *
-       * Required. transactional operation list.
+       * The data which will be sent to output binding.
        * 
* - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + * bytes data = 2; + * @param value The data to set. + * @return This builder for chaining. */ - public spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder addOperationsBuilder( - int index) { - return getOperationsFieldBuilder().addBuilder( - index, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.getDefaultInstance()); + public Builder setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + + data_ = value; + onChanged(); + return this; } /** *
-       * Required. transactional operation list.
+       * The data which will be sent to output binding.
        * 
* - * repeated .spec.proto.runtime.v1.TransactionalStateOperation operations = 2; + * bytes data = 2; + * @return This builder for chaining. */ - public java.util.List - getOperationsBuilderList() { - return getOperationsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperationOrBuilder> - getOperationsFieldBuilder() { - if (operationsBuilder_ == null) { - operationsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperation.Builder, spec.proto.runtime.v1.RuntimeProto.TransactionalStateOperationOrBuilder>( - operations_, - ((bitField0_ & 0x00000001) != 0), - getParentForChildren(), - isClean()); - operations_ = null; - } - return operationsBuilder_; + public Builder clearData() { + + data_ = getDefaultInstance().getData(); + onChanged(); + return this; } private com.google.protobuf.MapField< @@ -37522,7 +46659,12 @@ public int getMetadataCount() { } /** *
-       * (optional) The metadata used for transactional operations.
+       * The metadata passing to output binding components
+       * Common metadata property:
+       * - ttlInSeconds : the time to live in seconds for the message.
+       * If set in the binding definition will cause all messages to
+       * have a default time to live. The message ttl overrides any value
+       * in the binding definition.
        * 
* * map<string, string> metadata = 3; @@ -37544,7 +46686,12 @@ public java.util.Map getMetadata() { } /** *
-       * (optional) The metadata used for transactional operations.
+       * The metadata passing to output binding components
+       * Common metadata property:
+       * - ttlInSeconds : the time to live in seconds for the message.
+       * If set in the binding definition will cause all messages to
+       * have a default time to live. The message ttl overrides any value
+       * in the binding definition.
        * 
* * map<string, string> metadata = 3; @@ -37556,7 +46703,12 @@ public java.util.Map getMetadataMap() { } /** *
-       * (optional) The metadata used for transactional operations.
+       * The metadata passing to output binding components
+       * Common metadata property:
+       * - ttlInSeconds : the time to live in seconds for the message.
+       * If set in the binding definition will cause all messages to
+       * have a default time to live. The message ttl overrides any value
+       * in the binding definition.
        * 
* * map<string, string> metadata = 3; @@ -37573,7 +46725,12 @@ public java.lang.String getMetadataOrDefault( } /** *
-       * (optional) The metadata used for transactional operations.
+       * The metadata passing to output binding components
+       * Common metadata property:
+       * - ttlInSeconds : the time to live in seconds for the message.
+       * If set in the binding definition will cause all messages to
+       * have a default time to live. The message ttl overrides any value
+       * in the binding definition.
        * 
* * map<string, string> metadata = 3; @@ -37598,7 +46755,12 @@ public Builder clearMetadata() { } /** *
-       * (optional) The metadata used for transactional operations.
+       * The metadata passing to output binding components
+       * Common metadata property:
+       * - ttlInSeconds : the time to live in seconds for the message.
+       * If set in the binding definition will cause all messages to
+       * have a default time to live. The message ttl overrides any value
+       * in the binding definition.
        * 
* * map<string, string> metadata = 3; @@ -37621,7 +46783,12 @@ public Builder removeMetadata( } /** *
-       * (optional) The metadata used for transactional operations.
+       * The metadata passing to output binding components
+       * Common metadata property:
+       * - ttlInSeconds : the time to live in seconds for the message.
+       * If set in the binding definition will cause all messages to
+       * have a default time to live. The message ttl overrides any value
+       * in the binding definition.
        * 
* * map<string, string> metadata = 3; @@ -37637,7 +46804,12 @@ public Builder putMetadata( } /** *
-       * (optional) The metadata used for transactional operations.
+       * The metadata passing to output binding components
+       * Common metadata property:
+       * - ttlInSeconds : the time to live in seconds for the message.
+       * If set in the binding definition will cause all messages to
+       * have a default time to live. The message ttl overrides any value
+       * in the binding definition.
        * 
* * map<string, string> metadata = 3; @@ -37649,6 +46821,102 @@ public Builder putAllMetadata( .putAll(values); return this; } + + private java.lang.Object operation_ = ""; + /** + *
+       * The name of the operation type for the binding to invoke
+       * 
+ * + * string operation = 4; + * @return The operation. + */ + public java.lang.String getOperation() { + java.lang.Object ref = operation_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + operation_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * The name of the operation type for the binding to invoke
+       * 
+ * + * string operation = 4; + * @return The bytes for operation. + */ + public com.google.protobuf.ByteString + getOperationBytes() { + java.lang.Object ref = operation_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + operation_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * The name of the operation type for the binding to invoke
+       * 
+ * + * string operation = 4; + * @param value The operation to set. + * @return This builder for chaining. + */ + public Builder setOperation( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + operation_ = value; + onChanged(); + return this; + } + /** + *
+       * The name of the operation type for the binding to invoke
+       * 
+ * + * string operation = 4; + * @return This builder for chaining. + */ + public Builder clearOperation() { + + operation_ = getDefaultInstance().getOperation(); + onChanged(); + return this; + } + /** + *
+       * The name of the operation type for the binding to invoke
+       * 
+ * + * string operation = 4; + * @param value The bytes for operation to set. + * @return This builder for chaining. + */ + public Builder setOperationBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + operation_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -37662,138 +46930,74 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.ExecuteStateTransactionRequest) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.InvokeBindingRequest) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.ExecuteStateTransactionRequest) - private static final spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.InvokeBindingRequest) + private static final spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest(); } - public static spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public ExecuteStateTransactionRequest parsePartialFrom( + public InvokeBindingRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new ExecuteStateTransactionRequest(input, extensionRegistry); + return new InvokeBindingRequest(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.ExecuteStateTransactionRequest getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.InvokeBindingRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface PublishEventRequestOrBuilder extends - // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.PublishEventRequest) + public interface InvokeBindingResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:spec.proto.runtime.v1.InvokeBindingResponse) com.google.protobuf.MessageOrBuilder { /** *
-     * The name of the pubsub component
-     * 
- * - * string pubsub_name = 1; - * @return The pubsubName. - */ - java.lang.String getPubsubName(); - /** - *
-     * The name of the pubsub component
-     * 
- * - * string pubsub_name = 1; - * @return The bytes for pubsubName. - */ - com.google.protobuf.ByteString - getPubsubNameBytes(); - - /** - *
-     * The pubsub topic
-     * 
- * - * string topic = 2; - * @return The topic. - */ - java.lang.String getTopic(); - /** - *
-     * The pubsub topic
-     * 
- * - * string topic = 2; - * @return The bytes for topic. - */ - com.google.protobuf.ByteString - getTopicBytes(); - - /** - *
-     * The data which will be published to topic.
+     * The data which will be sent to output binding.
      * 
* - * bytes data = 3; + * bytes data = 1; * @return The data. */ com.google.protobuf.ByteString getData(); /** *
-     * The content type for the data (optional).
-     * 
- * - * string data_content_type = 4; - * @return The dataContentType. - */ - java.lang.String getDataContentType(); - /** - *
-     * The content type for the data (optional).
-     * 
- * - * string data_content_type = 4; - * @return The bytes for dataContentType. - */ - com.google.protobuf.ByteString - getDataContentTypeBytes(); - - /** - *
-     * The metadata passing to pub components
-     * metadata property:
-     * - key : the key of the message.
+     * The metadata returned from an external system
      * 
* - * map<string, string> metadata = 5; + * map<string, string> metadata = 2; */ int getMetadataCount(); /** *
-     * The metadata passing to pub components
-     * metadata property:
-     * - key : the key of the message.
+     * The metadata returned from an external system
      * 
* - * map<string, string> metadata = 5; + * map<string, string> metadata = 2; */ boolean containsMetadata( java.lang.String key); @@ -37805,23 +47009,19 @@ boolean containsMetadata( getMetadata(); /** *
-     * The metadata passing to pub components
-     * metadata property:
-     * - key : the key of the message.
+     * The metadata returned from an external system
      * 
* - * map<string, string> metadata = 5; + * map<string, string> metadata = 2; */ java.util.Map getMetadataMap(); /** *
-     * The metadata passing to pub components
-     * metadata property:
-     * - key : the key of the message.
+     * The metadata returned from an external system
      * 
* - * map<string, string> metadata = 5; + * map<string, string> metadata = 2; */ java.lang.String getMetadataOrDefault( @@ -37829,12 +47029,10 @@ java.lang.String getMetadataOrDefault( java.lang.String defaultValue); /** *
-     * The metadata passing to pub components
-     * metadata property:
-     * - key : the key of the message.
+     * The metadata returned from an external system
      * 
* - * map<string, string> metadata = 5; + * map<string, string> metadata = 2; */ java.lang.String getMetadataOrThrow( @@ -37842,32 +47040,29 @@ java.lang.String getMetadataOrThrow( } /** *
-   * PublishEventRequest is the message to publish event data to pubsub topic
+   * InvokeBindingResponse is the message returned from an output binding invocation
    * 
* - * Protobuf type {@code spec.proto.runtime.v1.PublishEventRequest} + * Protobuf type {@code spec.proto.runtime.v1.InvokeBindingResponse} */ - public static final class PublishEventRequest extends + public static final class InvokeBindingResponse extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.PublishEventRequest) - PublishEventRequestOrBuilder { + // @@protoc_insertion_point(message_implements:spec.proto.runtime.v1.InvokeBindingResponse) + InvokeBindingResponseOrBuilder { private static final long serialVersionUID = 0L; - // Use PublishEventRequest.newBuilder() to construct. - private PublishEventRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use InvokeBindingResponse.newBuilder() to construct. + private InvokeBindingResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private PublishEventRequest() { - pubsubName_ = ""; - topic_ = ""; + private InvokeBindingResponse() { data_ = com.google.protobuf.ByteString.EMPTY; - dataContentType_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new PublishEventRequest(); + return new InvokeBindingResponse(); } @java.lang.Override @@ -37875,7 +47070,7 @@ protected java.lang.Object newInstance( getUnknownFields() { return this.unknownFields; } - private PublishEventRequest( + private InvokeBindingResponse( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -37895,29 +47090,11 @@ private PublishEventRequest( done = true; break; case 10: { - java.lang.String s = input.readStringRequireUtf8(); - - pubsubName_ = s; - break; - } - case 18: { - java.lang.String s = input.readStringRequireUtf8(); - - topic_ = s; - break; - } - case 26: { data_ = input.readBytes(); break; } - case 34: { - java.lang.String s = input.readStringRequireUtf8(); - - dataContentType_ = s; - break; - } - case 42: { + case 18: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { metadata_ = com.google.protobuf.MapField.newMapField( MetadataDefaultEntryHolder.defaultEntry); @@ -37951,7 +47128,7 @@ private PublishEventRequest( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_PublishEventRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeBindingResponse_descriptor; } @SuppressWarnings({"rawtypes"}) @@ -37959,7 +47136,7 @@ private PublishEventRequest( protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { - case 5: + case 2: return internalGetMetadata(); default: throw new RuntimeException( @@ -37969,111 +47146,19 @@ protected com.google.protobuf.MapField internalGetMapField( @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_PublishEventRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeBindingResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.PublishEventRequest.class, spec.proto.runtime.v1.RuntimeProto.PublishEventRequest.Builder.class); - } - - public static final int PUBSUB_NAME_FIELD_NUMBER = 1; - private volatile java.lang.Object pubsubName_; - /** - *
-     * The name of the pubsub component
-     * 
- * - * string pubsub_name = 1; - * @return The pubsubName. - */ - @java.lang.Override - public java.lang.String getPubsubName() { - java.lang.Object ref = pubsubName_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - pubsubName_ = s; - return s; - } - } - /** - *
-     * The name of the pubsub component
-     * 
- * - * string pubsub_name = 1; - * @return The bytes for pubsubName. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getPubsubNameBytes() { - java.lang.Object ref = pubsubName_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - pubsubName_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int TOPIC_FIELD_NUMBER = 2; - private volatile java.lang.Object topic_; - /** - *
-     * The pubsub topic
-     * 
- * - * string topic = 2; - * @return The topic. - */ - @java.lang.Override - public java.lang.String getTopic() { - java.lang.Object ref = topic_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - topic_ = s; - return s; - } - } - /** - *
-     * The pubsub topic
-     * 
- * - * string topic = 2; - * @return The bytes for topic. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getTopicBytes() { - java.lang.Object ref = topic_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - topic_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse.class, spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse.Builder.class); } - public static final int DATA_FIELD_NUMBER = 3; + public static final int DATA_FIELD_NUMBER = 1; private com.google.protobuf.ByteString data_; /** *
-     * The data which will be published to topic.
+     * The data which will be sent to output binding.
      * 
* - * bytes data = 3; + * bytes data = 1; * @return The data. */ @java.lang.Override @@ -38081,59 +47166,13 @@ public com.google.protobuf.ByteString getData() { return data_; } - public static final int DATA_CONTENT_TYPE_FIELD_NUMBER = 4; - private volatile java.lang.Object dataContentType_; - /** - *
-     * The content type for the data (optional).
-     * 
- * - * string data_content_type = 4; - * @return The dataContentType. - */ - @java.lang.Override - public java.lang.String getDataContentType() { - java.lang.Object ref = dataContentType_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - dataContentType_ = s; - return s; - } - } - /** - *
-     * The content type for the data (optional).
-     * 
- * - * string data_content_type = 4; - * @return The bytes for dataContentType. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getDataContentTypeBytes() { - java.lang.Object ref = dataContentType_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - dataContentType_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int METADATA_FIELD_NUMBER = 5; + public static final int METADATA_FIELD_NUMBER = 2; private static final class MetadataDefaultEntryHolder { static final com.google.protobuf.MapEntry< java.lang.String, java.lang.String> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( - spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_PublishEventRequest_MetadataEntry_descriptor, + spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeBindingResponse_MetadataEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.STRING, @@ -38155,12 +47194,10 @@ public int getMetadataCount() { } /** *
-     * The metadata passing to pub components
-     * metadata property:
-     * - key : the key of the message.
+     * The metadata returned from an external system
      * 
* - * map<string, string> metadata = 5; + * map<string, string> metadata = 2; */ @java.lang.Override @@ -38179,12 +47216,10 @@ public java.util.Map getMetadata() { } /** *
-     * The metadata passing to pub components
-     * metadata property:
-     * - key : the key of the message.
+     * The metadata returned from an external system
      * 
* - * map<string, string> metadata = 5; + * map<string, string> metadata = 2; */ @java.lang.Override @@ -38193,12 +47228,10 @@ public java.util.Map getMetadataMap() { } /** *
-     * The metadata passing to pub components
-     * metadata property:
-     * - key : the key of the message.
+     * The metadata returned from an external system
      * 
* - * map<string, string> metadata = 5; + * map<string, string> metadata = 2; */ @java.lang.Override @@ -38212,12 +47245,10 @@ public java.lang.String getMetadataOrDefault( } /** *
-     * The metadata passing to pub components
-     * metadata property:
-     * - key : the key of the message.
+     * The metadata returned from an external system
      * 
* - * map<string, string> metadata = 5; + * map<string, string> metadata = 2; */ @java.lang.Override @@ -38246,24 +47277,15 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!getPubsubNameBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, pubsubName_); - } - if (!getTopicBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, topic_); - } if (!data_.isEmpty()) { - output.writeBytes(3, data_); - } - if (!getDataContentTypeBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 4, dataContentType_); + output.writeBytes(1, data_); } com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( output, internalGetMetadata(), MetadataDefaultEntryHolder.defaultEntry, - 5); + 2); unknownFields.writeTo(output); } @@ -38273,18 +47295,9 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!getPubsubNameBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, pubsubName_); - } - if (!getTopicBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, topic_); - } if (!data_.isEmpty()) { size += com.google.protobuf.CodedOutputStream - .computeBytesSize(3, data_); - } - if (!getDataContentTypeBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, dataContentType_); + .computeBytesSize(1, data_); } for (java.util.Map.Entry entry : internalGetMetadata().getMap().entrySet()) { @@ -38294,7 +47307,7 @@ public int getSerializedSize() { .setValue(entry.getValue()) .build(); size += com.google.protobuf.CodedOutputStream - .computeMessageSize(5, metadata__); + .computeMessageSize(2, metadata__); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -38306,19 +47319,13 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.PublishEventRequest)) { + if (!(obj instanceof spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse)) { return super.equals(obj); } - spec.proto.runtime.v1.RuntimeProto.PublishEventRequest other = (spec.proto.runtime.v1.RuntimeProto.PublishEventRequest) obj; + spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse other = (spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse) obj; - if (!getPubsubName() - .equals(other.getPubsubName())) return false; - if (!getTopic() - .equals(other.getTopic())) return false; if (!getData() .equals(other.getData())) return false; - if (!getDataContentType() - .equals(other.getDataContentType())) return false; if (!internalGetMetadata().equals( other.internalGetMetadata())) return false; if (!unknownFields.equals(other.unknownFields)) return false; @@ -38332,14 +47339,8 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + PUBSUB_NAME_FIELD_NUMBER; - hash = (53 * hash) + getPubsubName().hashCode(); - hash = (37 * hash) + TOPIC_FIELD_NUMBER; - hash = (53 * hash) + getTopic().hashCode(); hash = (37 * hash) + DATA_FIELD_NUMBER; hash = (53 * hash) + getData().hashCode(); - hash = (37 * hash) + DATA_CONTENT_TYPE_FIELD_NUMBER; - hash = (53 * hash) + getDataContentType().hashCode(); if (!internalGetMetadata().getMap().isEmpty()) { hash = (37 * hash) + METADATA_FIELD_NUMBER; hash = (53 * hash) + internalGetMetadata().hashCode(); @@ -38349,69 +47350,69 @@ public int hashCode() { return hash; } - public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom(byte[] data) + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseDelimitedFrom(java.io.InputStream input) + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseDelimitedFrom( + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom( + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -38424,7 +47425,7 @@ public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.PublishEventRequest prototype) { + public static Builder newBuilder(spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -38441,25 +47442,25 @@ protected Builder newBuilderForType( } /** *
-     * PublishEventRequest is the message to publish event data to pubsub topic
+     * InvokeBindingResponse is the message returned from an output binding invocation
      * 
* - * Protobuf type {@code spec.proto.runtime.v1.PublishEventRequest} + * Protobuf type {@code spec.proto.runtime.v1.InvokeBindingResponse} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.PublishEventRequest) - spec.proto.runtime.v1.RuntimeProto.PublishEventRequestOrBuilder { + // @@protoc_insertion_point(builder_implements:spec.proto.runtime.v1.InvokeBindingResponse) + spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponseOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_PublishEventRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeBindingResponse_descriptor; } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { - case 5: + case 2: return internalGetMetadata(); default: throw new RuntimeException( @@ -38470,7 +47471,7 @@ protected com.google.protobuf.MapField internalGetMapField( protected com.google.protobuf.MapField internalGetMutableMapField( int number) { switch (number) { - case 5: + case 2: return internalGetMutableMetadata(); default: throw new RuntimeException( @@ -38480,12 +47481,12 @@ protected com.google.protobuf.MapField internalGetMutableMapField( @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_PublishEventRequest_fieldAccessorTable + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeBindingResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( - spec.proto.runtime.v1.RuntimeProto.PublishEventRequest.class, spec.proto.runtime.v1.RuntimeProto.PublishEventRequest.Builder.class); + spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse.class, spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse.Builder.class); } - // Construct using spec.proto.runtime.v1.RuntimeProto.PublishEventRequest.newBuilder() + // Construct using spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -38503,14 +47504,8 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - pubsubName_ = ""; - - topic_ = ""; - data_ = com.google.protobuf.ByteString.EMPTY; - dataContentType_ = ""; - internalGetMutableMetadata().clear(); return this; } @@ -38518,17 +47513,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_PublishEventRequest_descriptor; + return spec.proto.runtime.v1.RuntimeProto.internal_static_spec_proto_runtime_v1_InvokeBindingResponse_descriptor; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstanceForType() { - return spec.proto.runtime.v1.RuntimeProto.PublishEventRequest.getDefaultInstance(); + public spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse getDefaultInstanceForType() { + return spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse.getDefaultInstance(); } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest build() { - spec.proto.runtime.v1.RuntimeProto.PublishEventRequest result = buildPartial(); + public spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse build() { + spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -38536,13 +47531,10 @@ public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest build() { } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest buildPartial() { - spec.proto.runtime.v1.RuntimeProto.PublishEventRequest result = new spec.proto.runtime.v1.RuntimeProto.PublishEventRequest(this); + public spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse buildPartial() { + spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse result = new spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse(this); int from_bitField0_ = bitField0_; - result.pubsubName_ = pubsubName_; - result.topic_ = topic_; result.data_ = data_; - result.dataContentType_ = dataContentType_; result.metadata_ = internalGetMetadata(); result.metadata_.makeImmutable(); onBuilt(); @@ -38583,31 +47575,19 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof spec.proto.runtime.v1.RuntimeProto.PublishEventRequest) { - return mergeFrom((spec.proto.runtime.v1.RuntimeProto.PublishEventRequest)other); + if (other instanceof spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse) { + return mergeFrom((spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.PublishEventRequest other) { - if (other == spec.proto.runtime.v1.RuntimeProto.PublishEventRequest.getDefaultInstance()) return this; - if (!other.getPubsubName().isEmpty()) { - pubsubName_ = other.pubsubName_; - onChanged(); - } - if (!other.getTopic().isEmpty()) { - topic_ = other.topic_; - onChanged(); - } + public Builder mergeFrom(spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse other) { + if (other == spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse.getDefaultInstance()) return this; if (other.getData() != com.google.protobuf.ByteString.EMPTY) { setData(other.getData()); } - if (!other.getDataContentType().isEmpty()) { - dataContentType_ = other.dataContentType_; - onChanged(); - } internalGetMutableMetadata().mergeFrom( other.internalGetMetadata()); this.mergeUnknownFields(other.unknownFields); @@ -38625,11 +47605,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - spec.proto.runtime.v1.RuntimeProto.PublishEventRequest parsedMessage = null; + spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (spec.proto.runtime.v1.RuntimeProto.PublishEventRequest) e.getUnfinishedMessage(); + parsedMessage = (spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -38640,205 +47620,13 @@ public Builder mergeFrom( } private int bitField0_; - private java.lang.Object pubsubName_ = ""; - /** - *
-       * The name of the pubsub component
-       * 
- * - * string pubsub_name = 1; - * @return The pubsubName. - */ - public java.lang.String getPubsubName() { - java.lang.Object ref = pubsubName_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - pubsubName_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * The name of the pubsub component
-       * 
- * - * string pubsub_name = 1; - * @return The bytes for pubsubName. - */ - public com.google.protobuf.ByteString - getPubsubNameBytes() { - java.lang.Object ref = pubsubName_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - pubsubName_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * The name of the pubsub component
-       * 
- * - * string pubsub_name = 1; - * @param value The pubsubName to set. - * @return This builder for chaining. - */ - public Builder setPubsubName( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - pubsubName_ = value; - onChanged(); - return this; - } - /** - *
-       * The name of the pubsub component
-       * 
- * - * string pubsub_name = 1; - * @return This builder for chaining. - */ - public Builder clearPubsubName() { - - pubsubName_ = getDefaultInstance().getPubsubName(); - onChanged(); - return this; - } - /** - *
-       * The name of the pubsub component
-       * 
- * - * string pubsub_name = 1; - * @param value The bytes for pubsubName to set. - * @return This builder for chaining. - */ - public Builder setPubsubNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - pubsubName_ = value; - onChanged(); - return this; - } - - private java.lang.Object topic_ = ""; - /** - *
-       * The pubsub topic
-       * 
- * - * string topic = 2; - * @return The topic. - */ - public java.lang.String getTopic() { - java.lang.Object ref = topic_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - topic_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * The pubsub topic
-       * 
- * - * string topic = 2; - * @return The bytes for topic. - */ - public com.google.protobuf.ByteString - getTopicBytes() { - java.lang.Object ref = topic_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - topic_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * The pubsub topic
-       * 
- * - * string topic = 2; - * @param value The topic to set. - * @return This builder for chaining. - */ - public Builder setTopic( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - topic_ = value; - onChanged(); - return this; - } - /** - *
-       * The pubsub topic
-       * 
- * - * string topic = 2; - * @return This builder for chaining. - */ - public Builder clearTopic() { - - topic_ = getDefaultInstance().getTopic(); - onChanged(); - return this; - } - /** - *
-       * The pubsub topic
-       * 
- * - * string topic = 2; - * @param value The bytes for topic to set. - * @return This builder for chaining. - */ - public Builder setTopicBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - topic_ = value; - onChanged(); - return this; - } - private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; /** *
-       * The data which will be published to topic.
+       * The data which will be sent to output binding.
        * 
* - * bytes data = 3; + * bytes data = 1; * @return The data. */ @java.lang.Override @@ -38847,10 +47635,10 @@ public com.google.protobuf.ByteString getData() { } /** *
-       * The data which will be published to topic.
+       * The data which will be sent to output binding.
        * 
* - * bytes data = 3; + * bytes data = 1; * @param value The data to set. * @return This builder for chaining. */ @@ -38865,10 +47653,10 @@ public Builder setData(com.google.protobuf.ByteString value) { } /** *
-       * The data which will be published to topic.
+       * The data which will be sent to output binding.
        * 
* - * bytes data = 3; + * bytes data = 1; * @return This builder for chaining. */ public Builder clearData() { @@ -38878,102 +47666,6 @@ public Builder clearData() { return this; } - private java.lang.Object dataContentType_ = ""; - /** - *
-       * The content type for the data (optional).
-       * 
- * - * string data_content_type = 4; - * @return The dataContentType. - */ - public java.lang.String getDataContentType() { - java.lang.Object ref = dataContentType_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - dataContentType_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * The content type for the data (optional).
-       * 
- * - * string data_content_type = 4; - * @return The bytes for dataContentType. - */ - public com.google.protobuf.ByteString - getDataContentTypeBytes() { - java.lang.Object ref = dataContentType_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - dataContentType_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * The content type for the data (optional).
-       * 
- * - * string data_content_type = 4; - * @param value The dataContentType to set. - * @return This builder for chaining. - */ - public Builder setDataContentType( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - dataContentType_ = value; - onChanged(); - return this; - } - /** - *
-       * The content type for the data (optional).
-       * 
- * - * string data_content_type = 4; - * @return This builder for chaining. - */ - public Builder clearDataContentType() { - - dataContentType_ = getDefaultInstance().getDataContentType(); - onChanged(); - return this; - } - /** - *
-       * The content type for the data (optional).
-       * 
- * - * string data_content_type = 4; - * @param value The bytes for dataContentType to set. - * @return This builder for chaining. - */ - public Builder setDataContentTypeBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - dataContentType_ = value; - onChanged(); - return this; - } - private com.google.protobuf.MapField< java.lang.String, java.lang.String> metadata_; private com.google.protobuf.MapField @@ -39002,12 +47694,10 @@ public int getMetadataCount() { } /** *
-       * The metadata passing to pub components
-       * metadata property:
-       * - key : the key of the message.
+       * The metadata returned from an external system
        * 
* - * map<string, string> metadata = 5; + * map<string, string> metadata = 2; */ @java.lang.Override @@ -39026,12 +47716,10 @@ public java.util.Map getMetadata() { } /** *
-       * The metadata passing to pub components
-       * metadata property:
-       * - key : the key of the message.
+       * The metadata returned from an external system
        * 
* - * map<string, string> metadata = 5; + * map<string, string> metadata = 2; */ @java.lang.Override @@ -39040,12 +47728,10 @@ public java.util.Map getMetadataMap() { } /** *
-       * The metadata passing to pub components
-       * metadata property:
-       * - key : the key of the message.
+       * The metadata returned from an external system
        * 
* - * map<string, string> metadata = 5; + * map<string, string> metadata = 2; */ @java.lang.Override @@ -39059,12 +47745,10 @@ public java.lang.String getMetadataOrDefault( } /** *
-       * The metadata passing to pub components
-       * metadata property:
-       * - key : the key of the message.
+       * The metadata returned from an external system
        * 
* - * map<string, string> metadata = 5; + * map<string, string> metadata = 2; */ @java.lang.Override @@ -39086,12 +47770,10 @@ public Builder clearMetadata() { } /** *
-       * The metadata passing to pub components
-       * metadata property:
-       * - key : the key of the message.
+       * The metadata returned from an external system
        * 
* - * map<string, string> metadata = 5; + * map<string, string> metadata = 2; */ public Builder removeMetadata( @@ -39111,12 +47793,10 @@ public Builder removeMetadata( } /** *
-       * The metadata passing to pub components
-       * metadata property:
-       * - key : the key of the message.
+       * The metadata returned from an external system
        * 
* - * map<string, string> metadata = 5; + * map<string, string> metadata = 2; */ public Builder putMetadata( java.lang.String key, @@ -39129,12 +47809,10 @@ public Builder putMetadata( } /** *
-       * The metadata passing to pub components
-       * metadata property:
-       * - key : the key of the message.
+       * The metadata returned from an external system
        * 
* - * map<string, string> metadata = 5; + * map<string, string> metadata = 2; */ public Builder putAllMetadata( @@ -39156,46 +47834,96 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.PublishEventRequest) + // @@protoc_insertion_point(builder_scope:spec.proto.runtime.v1.InvokeBindingResponse) } - // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.PublishEventRequest) - private static final spec.proto.runtime.v1.RuntimeProto.PublishEventRequest DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:spec.proto.runtime.v1.InvokeBindingResponse) + private static final spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.PublishEventRequest(); + DEFAULT_INSTANCE = new spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse(); } - public static spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance() { + public static spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public PublishEventRequest parsePartialFrom( + public InvokeBindingResponse parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new PublishEventRequest(input, extensionRegistry); + return new InvokeBindingResponse(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstanceForType() { + public spec.proto.runtime.v1.RuntimeProto.InvokeBindingResponse getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_spec_proto_runtime_v1_GetFileRequest_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_spec_proto_runtime_v1_GetFileRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_spec_proto_runtime_v1_GetFileRequest_MetadataEntry_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_spec_proto_runtime_v1_GetFileRequest_MetadataEntry_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_spec_proto_runtime_v1_GetFileResponse_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_spec_proto_runtime_v1_GetFileResponse_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_spec_proto_runtime_v1_PutFileRequest_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_spec_proto_runtime_v1_PutFileRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_spec_proto_runtime_v1_PutFileRequest_MetadataEntry_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_spec_proto_runtime_v1_PutFileRequest_MetadataEntry_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_spec_proto_runtime_v1_FileRequest_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_spec_proto_runtime_v1_FileRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_spec_proto_runtime_v1_FileRequest_MetadataEntry_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_spec_proto_runtime_v1_FileRequest_MetadataEntry_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_spec_proto_runtime_v1_ListFileRequest_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_spec_proto_runtime_v1_ListFileRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_spec_proto_runtime_v1_ListFileResp_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_spec_proto_runtime_v1_ListFileResp_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_spec_proto_runtime_v1_DelFileRequest_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_spec_proto_runtime_v1_DelFileRequest_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_spec_proto_runtime_v1_GetNextIdRequest_descriptor; private static final @@ -39441,6 +48169,26 @@ public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_spec_proto_runtime_v1_PublishEventRequest_MetadataEntry_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_spec_proto_runtime_v1_InvokeBindingRequest_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_spec_proto_runtime_v1_InvokeBindingRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_spec_proto_runtime_v1_InvokeBindingRequest_MetadataEntry_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_spec_proto_runtime_v1_InvokeBindingRequest_MetadataEntry_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_spec_proto_runtime_v1_InvokeBindingResponse_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_spec_proto_runtime_v1_InvokeBindingResponse_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_spec_proto_runtime_v1_InvokeBindingResponse_MetadataEntry_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_spec_proto_runtime_v1_InvokeBindingResponse_MetadataEntry_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { @@ -39450,189 +48198,231 @@ public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance descriptor; static { java.lang.String[] descriptorData = { - "\n\rruntime.proto\022\025spec.proto.runtime.v1\032\033" + - "google/protobuf/empty.proto\032\031google/prot" + - "obuf/any.proto\"\347\001\n\020GetNextIdRequest\022\022\n\ns" + - "tore_name\030\001 \001(\t\022\013\n\003key\030\002 \001(\t\0228\n\007options\030" + - "\003 \001(\0132\'.spec.proto.runtime.v1.SequencerO" + - "ptions\022G\n\010metadata\030\004 \003(\01325.spec.proto.ru" + - "ntime.v1.GetNextIdRequest.MetadataEntry\032" + - "/\n\rMetadataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002" + - " \001(\t:\0028\001\"\203\001\n\020SequencerOptions\022H\n\tincreme" + - "nt\030\001 \001(\01625.spec.proto.runtime.v1.Sequenc" + - "erOptions.AutoIncrement\"%\n\rAutoIncrement" + - "\022\010\n\004WEAK\020\000\022\n\n\006STRONG\020\001\"$\n\021GetNextIdRespo" + - "nse\022\017\n\007next_id\030\001 \001(\003\"]\n\016TryLockRequest\022\022" + - "\n\nstore_name\030\001 \001(\t\022\023\n\013resource_id\030\002 \001(\t\022" + - "\022\n\nlock_owner\030\003 \001(\t\022\016\n\006expire\030\004 \001(\005\"\"\n\017T" + - "ryLockResponse\022\017\n\007success\030\001 \001(\010\"L\n\rUnloc" + - "kRequest\022\022\n\nstore_name\030\001 \001(\t\022\023\n\013resource" + - "_id\030\002 \001(\t\022\022\n\nlock_owner\030\003 \001(\t\"\246\001\n\016Unlock" + - "Response\022<\n\006status\030\001 \001(\0162,.spec.proto.ru" + - "ntime.v1.UnlockResponse.Status\"V\n\006Status" + - "\022\013\n\007SUCCESS\020\000\022\020\n\014LOCK_UNEXIST\020\001\022\031\n\025LOCK_" + - "BELONG_TO_OTHERS\020\002\022\022\n\016INTERNAL_ERROR\020\003\"5" + - "\n\017SayHelloRequest\022\024\n\014service_name\030\001 \001(\t\022" + - "\014\n\004name\030\002 \001(\t\"!\n\020SayHelloResponse\022\r\n\005hel" + - "lo\030\001 \001(\t\"_\n\024InvokeServiceRequest\022\n\n\002id\030\001" + - " \001(\t\022;\n\007message\030\003 \001(\0132*.spec.proto.runti" + - "me.v1.CommonInvokeRequest\"\235\001\n\023CommonInvo" + - "keRequest\022\016\n\006method\030\001 \001(\t\022\"\n\004data\030\002 \001(\0132" + - "\024.google.protobuf.Any\022\024\n\014content_type\030\003 " + - "\001(\t\022<\n\016http_extension\030\004 \001(\0132$.spec.proto" + - ".runtime.v1.HTTPExtension\"\306\001\n\rHTTPExtens" + - "ion\0227\n\004verb\030\001 \001(\0162).spec.proto.runtime.v" + - "1.HTTPExtension.Verb\022\023\n\013querystring\030\002 \001(" + - "\t\"g\n\004Verb\022\010\n\004NONE\020\000\022\007\n\003GET\020\001\022\010\n\004HEAD\020\002\022\010" + - "\n\004POST\020\003\022\007\n\003PUT\020\004\022\n\n\006DELETE\020\005\022\013\n\007CONNECT" + - "\020\006\022\013\n\007OPTIONS\020\007\022\t\n\005TRACE\020\010\"J\n\016InvokeResp" + - "onse\022\"\n\004data\030\001 \001(\0132\024.google.protobuf.Any" + - "\022\024\n\014content_type\030\002 \001(\t\"\271\002\n\021Configuration" + - "Item\022\013\n\003key\030\001 \001(\t\022\017\n\007content\030\002 \001(\t\022\r\n\005gr" + - "oup\030\003 \001(\t\022\r\n\005label\030\004 \001(\t\022@\n\004tags\030\005 \003(\01322" + - ".spec.proto.runtime.v1.ConfigurationItem" + - ".TagsEntry\022H\n\010metadata\030\006 \003(\01326.spec.prot" + - "o.runtime.v1.ConfigurationItem.MetadataE" + - "ntry\032+\n\tTagsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030" + - "\002 \001(\t:\0028\001\032/\n\rMetadataEntry\022\013\n\003key\030\001 \001(\t\022" + - "\r\n\005value\030\002 \001(\t:\0028\001\"\204\002\n\027GetConfigurationR" + - "equest\022\022\n\nstore_name\030\001 \001(\t\022\016\n\006app_id\030\002 \001" + - "(\t\022\r\n\005group\030\003 \001(\t\022\r\n\005label\030\004 \001(\t\022\014\n\004keys" + - "\030\005 \003(\t\022N\n\010metadata\030\006 \003(\0132<.spec.proto.ru" + - "ntime.v1.GetConfigurationRequest.Metadat" + - "aEntry\022\030\n\020subscribe_update\030\007 \001(\010\032/\n\rMeta" + - "dataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028" + - "\001\"S\n\030GetConfigurationResponse\0227\n\005items\030\001" + - " \003(\0132(.spec.proto.runtime.v1.Configurati" + - "onItem\"\366\001\n\035SubscribeConfigurationRequest" + - "\022\022\n\nstore_name\030\001 \001(\t\022\016\n\006app_id\030\002 \001(\t\022\r\n\005" + - "group\030\003 \001(\t\022\r\n\005label\030\004 \001(\t\022\014\n\004keys\030\005 \003(\t" + - "\022T\n\010metadata\030\006 \003(\0132B.spec.proto.runtime." + - "v1.SubscribeConfigurationRequest.Metadat" + - "aEntry\032/\n\rMetadataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005" + - "value\030\002 \001(\t:\0028\001\"}\n\036SubscribeConfiguratio" + - "nResponse\022\022\n\nstore_name\030\001 \001(\t\022\016\n\006app_id\030" + - "\002 \001(\t\0227\n\005items\030\003 \003(\0132(.spec.proto.runtim" + - "e.v1.ConfigurationItem\"\371\001\n\030SaveConfigura" + - "tionRequest\022\022\n\nstore_name\030\001 \001(\t\022\016\n\006app_i" + - "d\030\002 \001(\t\0227\n\005items\030\003 \003(\0132(.spec.proto.runt" + - "ime.v1.ConfigurationItem\022O\n\010metadata\030\004 \003" + - "(\0132=.spec.proto.runtime.v1.SaveConfigura" + - "tionRequest.MetadataEntry\032/\n\rMetadataEnt" + - "ry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\360\001\n\032D" + - "eleteConfigurationRequest\022\022\n\nstore_name\030" + - "\001 \001(\t\022\016\n\006app_id\030\002 \001(\t\022\r\n\005group\030\003 \001(\t\022\r\n\005" + - "label\030\004 \001(\t\022\014\n\004keys\030\005 \003(\t\022Q\n\010metadata\030\006 " + - "\003(\0132?.spec.proto.runtime.v1.DeleteConfig" + - "urationRequest.MetadataEntry\032/\n\rMetadata" + - "Entry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\366\001" + - "\n\017GetStateRequest\022\022\n\nstore_name\030\001 \001(\t\022\013\n" + - "\003key\030\002 \001(\t\022I\n\013consistency\030\003 \001(\01624.spec.p" + - "roto.runtime.v1.StateOptions.StateConsis" + - "tency\022F\n\010metadata\030\004 \003(\01324.spec.proto.run" + - "time.v1.GetStateRequest.MetadataEntry\032/\n" + - "\rMetadataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001" + - "(\t:\0028\001\"\311\001\n\023GetBulkStateRequest\022\022\n\nstore_" + - "name\030\001 \001(\t\022\014\n\004keys\030\002 \003(\t\022\023\n\013parallelism\030" + - "\003 \001(\005\022J\n\010metadata\030\004 \003(\01328.spec.proto.run" + - "time.v1.GetBulkStateRequest.MetadataEntr" + - "y\032/\n\rMetadataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value" + - "\030\002 \001(\t:\0028\001\"K\n\024GetBulkStateResponse\0223\n\005it" + - "ems\030\001 \003(\0132$.spec.proto.runtime.v1.BulkSt" + - "ateItem\"\276\001\n\rBulkStateItem\022\013\n\003key\030\001 \001(\t\022\014" + - "\n\004data\030\002 \001(\014\022\014\n\004etag\030\003 \001(\t\022\r\n\005error\030\004 \001(" + - "\t\022D\n\010metadata\030\005 \003(\01322.spec.proto.runtime" + - ".v1.BulkStateItem.MetadataEntry\032/\n\rMetad" + - "ataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001" + - "\"\250\001\n\020GetStateResponse\022\014\n\004data\030\001 \001(\014\022\014\n\004e" + - "tag\030\002 \001(\t\022G\n\010metadata\030\003 \003(\01325.spec.proto" + - ".runtime.v1.GetStateResponse.MetadataEnt" + - "ry\032/\n\rMetadataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005valu" + - "e\030\002 \001(\t:\0028\001\"\222\002\n\022DeleteStateRequest\022\022\n\nst" + - "ore_name\030\001 \001(\t\022\013\n\003key\030\002 \001(\t\022)\n\004etag\030\003 \001(" + - "\0132\033.spec.proto.runtime.v1.Etag\0224\n\007option" + - "s\030\004 \001(\0132#.spec.proto.runtime.v1.StateOpt" + - "ions\022I\n\010metadata\030\005 \003(\01327.spec.proto.runt" + - "ime.v1.DeleteStateRequest.MetadataEntry\032" + - "/\n\rMetadataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002" + - " \001(\t:\0028\001\"^\n\026DeleteBulkStateRequest\022\022\n\nst" + - "ore_name\030\001 \001(\t\0220\n\006states\030\002 \003(\0132 .spec.pr" + - "oto.runtime.v1.StateItem\"X\n\020SaveStateReq" + - "uest\022\022\n\nstore_name\030\001 \001(\t\0220\n\006states\030\002 \003(\013" + - "2 .spec.proto.runtime.v1.StateItem\"\373\001\n\tS" + - "tateItem\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\014\022)\n\004" + - "etag\030\003 \001(\0132\033.spec.proto.runtime.v1.Etag\022" + - "@\n\010metadata\030\004 \003(\0132..spec.proto.runtime.v" + - "1.StateItem.MetadataEntry\0224\n\007options\030\005 \001" + - "(\0132#.spec.proto.runtime.v1.StateOptions\032" + - "/\n\rMetadataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002" + - " \001(\t:\0028\001\"\025\n\004Etag\022\r\n\005value\030\001 \001(\t\"\361\002\n\014Stat" + - "eOptions\022I\n\013concurrency\030\001 \001(\01624.spec.pro" + - "to.runtime.v1.StateOptions.StateConcurre" + - "ncy\022I\n\013consistency\030\002 \001(\01624.spec.proto.ru" + - "ntime.v1.StateOptions.StateConsistency\"h" + - "\n\020StateConcurrency\022\033\n\027CONCURRENCY_UNSPEC" + - "IFIED\020\000\022\033\n\027CONCURRENCY_FIRST_WRITE\020\001\022\032\n\026" + - "CONCURRENCY_LAST_WRITE\020\002\"a\n\020StateConsist" + - "ency\022\033\n\027CONSISTENCY_UNSPECIFIED\020\000\022\030\n\024CON" + - "SISTENCY_EVENTUAL\020\001\022\026\n\022CONSISTENCY_STRON" + - "G\020\002\"g\n\033TransactionalStateOperation\022\025\n\rop" + - "erationType\030\001 \001(\t\0221\n\007request\030\002 \001(\0132 .spe" + - "c.proto.runtime.v1.StateItem\"\203\002\n\036Execute" + - "StateTransactionRequest\022\021\n\tstoreName\030\001 \001" + - "(\t\022F\n\noperations\030\002 \003(\01322.spec.proto.runt" + - "ime.v1.TransactionalStateOperation\022U\n\010me" + - "tadata\030\003 \003(\0132C.spec.proto.runtime.v1.Exe" + - "cuteStateTransactionRequest.MetadataEntr" + - "y\032/\n\rMetadataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value" + - "\030\002 \001(\t:\0028\001\"\337\001\n\023PublishEventRequest\022\023\n\013pu" + - "bsub_name\030\001 \001(\t\022\r\n\005topic\030\002 \001(\t\022\014\n\004data\030\003" + - " \001(\014\022\031\n\021data_content_type\030\004 \001(\t\022J\n\010metad" + - "ata\030\005 \003(\01328.spec.proto.runtime.v1.Publis" + - "hEventRequest.MetadataEntry\032/\n\rMetadataE" + - "ntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\0012\273\014\n" + - "\007Runtime\022]\n\010SayHello\022&.spec.proto.runtim" + - "e.v1.SayHelloRequest\032\'.spec.proto.runtim" + - "e.v1.SayHelloResponse\"\000\022e\n\rInvokeService" + - "\022+.spec.proto.runtime.v1.InvokeServiceRe" + - "quest\032%.spec.proto.runtime.v1.InvokeResp" + - "onse\"\000\022u\n\020GetConfiguration\022..spec.proto." + - "runtime.v1.GetConfigurationRequest\032/.spe" + - "c.proto.runtime.v1.GetConfigurationRespo" + - "nse\"\000\022^\n\021SaveConfiguration\022/.spec.proto." + - "runtime.v1.SaveConfigurationRequest\032\026.go" + - "ogle.protobuf.Empty\"\000\022b\n\023DeleteConfigura" + - "tion\0221.spec.proto.runtime.v1.DeleteConfi" + - "gurationRequest\032\026.google.protobuf.Empty\"" + - "\000\022\213\001\n\026SubscribeConfiguration\0224.spec.prot" + - "o.runtime.v1.SubscribeConfigurationReque" + - "st\0325.spec.proto.runtime.v1.SubscribeConf" + - "igurationResponse\"\000(\0010\001\022Z\n\007TryLock\022%.spe" + - "c.proto.runtime.v1.TryLockRequest\032&.spec" + - ".proto.runtime.v1.TryLockResponse\"\000\022W\n\006U" + - "nlock\022$.spec.proto.runtime.v1.UnlockRequ" + - "est\032%.spec.proto.runtime.v1.UnlockRespon" + - "se\"\000\022`\n\tGetNextId\022\'.spec.proto.runtime.v" + - "1.GetNextIdRequest\032(.spec.proto.runtime." + - "v1.GetNextIdResponse\"\000\022]\n\010GetState\022&.spe" + - "c.proto.runtime.v1.GetStateRequest\032\'.spe" + - "c.proto.runtime.v1.GetStateResponse\"\000\022i\n" + - "\014GetBulkState\022*.spec.proto.runtime.v1.Ge" + - "tBulkStateRequest\032+.spec.proto.runtime.v" + - "1.GetBulkStateResponse\"\000\022N\n\tSaveState\022\'." + - "spec.proto.runtime.v1.SaveStateRequest\032\026" + - ".google.protobuf.Empty\"\000\022R\n\013DeleteState\022" + - ").spec.proto.runtime.v1.DeleteStateReque" + - "st\032\026.google.protobuf.Empty\"\000\022Z\n\017DeleteBu" + - "lkState\022-.spec.proto.runtime.v1.DeleteBu" + - "lkStateRequest\032\026.google.protobuf.Empty\"\000" + - "\022j\n\027ExecuteStateTransaction\0225.spec.proto" + - ".runtime.v1.ExecuteStateTransactionReque" + - "st\032\026.google.protobuf.Empty\"\000\022T\n\014PublishE" + - "vent\022*.spec.proto.runtime.v1.PublishEven" + - "tRequest\032\026.google.protobuf.Empty\"\000B=B\014Ru" + - "ntimeProtoZ-mosn.io/layotto/spec/proto/r" + - "untime/v1;runtimeb\006proto3" + "\n\036proto/runtime/v1/runtime.proto\022\025spec.p" + + "roto.runtime.v1\032\033google/protobuf/empty.p" + + "roto\032\031google/protobuf/any.proto\"\252\001\n\016GetF" + + "ileRequest\022\022\n\nstore_name\030\001 \001(\t\022\014\n\004name\030\002" + + " \001(\t\022E\n\010metadata\030\003 \003(\01323.spec.proto.runt" + + "ime.v1.GetFileRequest.MetadataEntry\032/\n\rM" + + "etadataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t" + + ":\0028\001\"\037\n\017GetFileResponse\022\014\n\004data\030\001 \001(\014\"\270\001" + + "\n\016PutFileRequest\022\022\n\nstore_name\030\001 \001(\t\022\014\n\004" + + "name\030\002 \001(\t\022\014\n\004data\030\003 \001(\014\022E\n\010metadata\030\004 \003" + + "(\01323.spec.proto.runtime.v1.PutFileReques" + + "t.MetadataEntry\032/\n\rMetadataEntry\022\013\n\003key\030" + + "\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\244\001\n\013FileRequest" + + "\022\022\n\nstore_name\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\022B\n\010me" + + "tadata\030\003 \003(\01320.spec.proto.runtime.v1.Fil" + + "eRequest.MetadataEntry\032/\n\rMetadataEntry\022" + + "\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"F\n\017ListF" + + "ileRequest\0223\n\007request\030\001 \001(\0132\".spec.proto" + + ".runtime.v1.FileRequest\"!\n\014ListFileResp\022" + + "\021\n\tfile_name\030\001 \003(\t\"E\n\016DelFileRequest\0223\n\007" + + "request\030\001 \001(\0132\".spec.proto.runtime.v1.Fi" + + "leRequest\"\347\001\n\020GetNextIdRequest\022\022\n\nstore_" + + "name\030\001 \001(\t\022\013\n\003key\030\002 \001(\t\0228\n\007options\030\003 \001(\013" + + "2\'.spec.proto.runtime.v1.SequencerOption" + + "s\022G\n\010metadata\030\004 \003(\01325.spec.proto.runtime" + + ".v1.GetNextIdRequest.MetadataEntry\032/\n\rMe" + + "tadataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:" + + "\0028\001\"\203\001\n\020SequencerOptions\022H\n\tincrement\030\001 " + + "\001(\01625.spec.proto.runtime.v1.SequencerOpt" + + "ions.AutoIncrement\"%\n\rAutoIncrement\022\010\n\004W" + + "EAK\020\000\022\n\n\006STRONG\020\001\"$\n\021GetNextIdResponse\022\017" + + "\n\007next_id\030\001 \001(\003\"]\n\016TryLockRequest\022\022\n\nsto" + + "re_name\030\001 \001(\t\022\023\n\013resource_id\030\002 \001(\t\022\022\n\nlo" + + "ck_owner\030\003 \001(\t\022\016\n\006expire\030\004 \001(\005\"\"\n\017TryLoc" + + "kResponse\022\017\n\007success\030\001 \001(\010\"L\n\rUnlockRequ" + + "est\022\022\n\nstore_name\030\001 \001(\t\022\023\n\013resource_id\030\002" + + " \001(\t\022\022\n\nlock_owner\030\003 \001(\t\"\246\001\n\016UnlockRespo" + + "nse\022<\n\006status\030\001 \001(\0162,.spec.proto.runtime" + + ".v1.UnlockResponse.Status\"V\n\006Status\022\013\n\007S" + + "UCCESS\020\000\022\020\n\014LOCK_UNEXIST\020\001\022\031\n\025LOCK_BELON" + + "G_TO_OTHERS\020\002\022\022\n\016INTERNAL_ERROR\020\003\"Y\n\017Say" + + "HelloRequest\022\024\n\014service_name\030\001 \001(\t\022\014\n\004na" + + "me\030\002 \001(\t\022\"\n\004data\030\003 \001(\0132\024.google.protobuf" + + ".Any\"E\n\020SayHelloResponse\022\r\n\005hello\030\001 \001(\t\022" + + "\"\n\004data\030\002 \001(\0132\024.google.protobuf.Any\"_\n\024I" + + "nvokeServiceRequest\022\n\n\002id\030\001 \001(\t\022;\n\007messa" + + "ge\030\003 \001(\0132*.spec.proto.runtime.v1.CommonI" + + "nvokeRequest\"\235\001\n\023CommonInvokeRequest\022\016\n\006" + + "method\030\001 \001(\t\022\"\n\004data\030\002 \001(\0132\024.google.prot" + + "obuf.Any\022\024\n\014content_type\030\003 \001(\t\022<\n\016http_e" + + "xtension\030\004 \001(\0132$.spec.proto.runtime.v1.H" + + "TTPExtension\"\306\001\n\rHTTPExtension\0227\n\004verb\030\001" + + " \001(\0162).spec.proto.runtime.v1.HTTPExtensi" + + "on.Verb\022\023\n\013querystring\030\002 \001(\t\"g\n\004Verb\022\010\n\004" + + "NONE\020\000\022\007\n\003GET\020\001\022\010\n\004HEAD\020\002\022\010\n\004POST\020\003\022\007\n\003P" + + "UT\020\004\022\n\n\006DELETE\020\005\022\013\n\007CONNECT\020\006\022\013\n\007OPTIONS" + + "\020\007\022\t\n\005TRACE\020\010\"J\n\016InvokeResponse\022\"\n\004data\030" + + "\001 \001(\0132\024.google.protobuf.Any\022\024\n\014content_t" + + "ype\030\002 \001(\t\"\271\002\n\021ConfigurationItem\022\013\n\003key\030\001" + + " \001(\t\022\017\n\007content\030\002 \001(\t\022\r\n\005group\030\003 \001(\t\022\r\n\005" + + "label\030\004 \001(\t\022@\n\004tags\030\005 \003(\01322.spec.proto.r" + + "untime.v1.ConfigurationItem.TagsEntry\022H\n" + + "\010metadata\030\006 \003(\01326.spec.proto.runtime.v1." + + "ConfigurationItem.MetadataEntry\032+\n\tTagsE" + + "ntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\032/\n\r" + + "MetadataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(" + + "\t:\0028\001\"\204\002\n\027GetConfigurationRequest\022\022\n\nsto" + + "re_name\030\001 \001(\t\022\016\n\006app_id\030\002 \001(\t\022\r\n\005group\030\003" + + " \001(\t\022\r\n\005label\030\004 \001(\t\022\014\n\004keys\030\005 \003(\t\022N\n\010met" + + "adata\030\006 \003(\0132<.spec.proto.runtime.v1.GetC" + + "onfigurationRequest.MetadataEntry\022\030\n\020sub" + + "scribe_update\030\007 \001(\010\032/\n\rMetadataEntry\022\013\n\003" + + "key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"S\n\030GetConfi" + + "gurationResponse\0227\n\005items\030\001 \003(\0132(.spec.p" + + "roto.runtime.v1.ConfigurationItem\"\366\001\n\035Su" + + "bscribeConfigurationRequest\022\022\n\nstore_nam" + + "e\030\001 \001(\t\022\016\n\006app_id\030\002 \001(\t\022\r\n\005group\030\003 \001(\t\022\r" + + "\n\005label\030\004 \001(\t\022\014\n\004keys\030\005 \003(\t\022T\n\010metadata\030" + + "\006 \003(\0132B.spec.proto.runtime.v1.SubscribeC" + + "onfigurationRequest.MetadataEntry\032/\n\rMet" + + "adataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\002" + + "8\001\"}\n\036SubscribeConfigurationResponse\022\022\n\n" + + "store_name\030\001 \001(\t\022\016\n\006app_id\030\002 \001(\t\0227\n\005item" + + "s\030\003 \003(\0132(.spec.proto.runtime.v1.Configur" + + "ationItem\"\371\001\n\030SaveConfigurationRequest\022\022" + + "\n\nstore_name\030\001 \001(\t\022\016\n\006app_id\030\002 \001(\t\0227\n\005it" + + "ems\030\003 \003(\0132(.spec.proto.runtime.v1.Config" + + "urationItem\022O\n\010metadata\030\004 \003(\0132=.spec.pro" + + "to.runtime.v1.SaveConfigurationRequest.M" + + "etadataEntry\032/\n\rMetadataEntry\022\013\n\003key\030\001 \001" + + "(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\360\001\n\032DeleteConfigur" + + "ationRequest\022\022\n\nstore_name\030\001 \001(\t\022\016\n\006app_" + + "id\030\002 \001(\t\022\r\n\005group\030\003 \001(\t\022\r\n\005label\030\004 \001(\t\022\014" + + "\n\004keys\030\005 \003(\t\022Q\n\010metadata\030\006 \003(\0132?.spec.pr" + + "oto.runtime.v1.DeleteConfigurationReques" + + "t.MetadataEntry\032/\n\rMetadataEntry\022\013\n\003key\030" + + "\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\366\001\n\017GetStateReq" + + "uest\022\022\n\nstore_name\030\001 \001(\t\022\013\n\003key\030\002 \001(\t\022I\n" + + "\013consistency\030\003 \001(\01624.spec.proto.runtime." + + "v1.StateOptions.StateConsistency\022F\n\010meta" + + "data\030\004 \003(\01324.spec.proto.runtime.v1.GetSt" + + "ateRequest.MetadataEntry\032/\n\rMetadataEntr" + + "y\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\311\001\n\023Ge" + + "tBulkStateRequest\022\022\n\nstore_name\030\001 \001(\t\022\014\n" + + "\004keys\030\002 \003(\t\022\023\n\013parallelism\030\003 \001(\005\022J\n\010meta" + + "data\030\004 \003(\01328.spec.proto.runtime.v1.GetBu" + + "lkStateRequest.MetadataEntry\032/\n\rMetadata" + + "Entry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"K\n" + + "\024GetBulkStateResponse\0223\n\005items\030\001 \003(\0132$.s" + + "pec.proto.runtime.v1.BulkStateItem\"\276\001\n\rB" + + "ulkStateItem\022\013\n\003key\030\001 \001(\t\022\014\n\004data\030\002 \001(\014\022" + + "\014\n\004etag\030\003 \001(\t\022\r\n\005error\030\004 \001(\t\022D\n\010metadata" + + "\030\005 \003(\01322.spec.proto.runtime.v1.BulkState" + + "Item.MetadataEntry\032/\n\rMetadataEntry\022\013\n\003k" + + "ey\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\250\001\n\020GetState" + + "Response\022\014\n\004data\030\001 \001(\014\022\014\n\004etag\030\002 \001(\t\022G\n\010" + + "metadata\030\003 \003(\01325.spec.proto.runtime.v1.G" + + "etStateResponse.MetadataEntry\032/\n\rMetadat" + + "aEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\222" + + "\002\n\022DeleteStateRequest\022\022\n\nstore_name\030\001 \001(" + + "\t\022\013\n\003key\030\002 \001(\t\022)\n\004etag\030\003 \001(\0132\033.spec.prot" + + "o.runtime.v1.Etag\0224\n\007options\030\004 \001(\0132#.spe" + + "c.proto.runtime.v1.StateOptions\022I\n\010metad" + + "ata\030\005 \003(\01327.spec.proto.runtime.v1.Delete" + + "StateRequest.MetadataEntry\032/\n\rMetadataEn" + + "try\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"^\n\026D" + + "eleteBulkStateRequest\022\022\n\nstore_name\030\001 \001(" + + "\t\0220\n\006states\030\002 \003(\0132 .spec.proto.runtime.v" + + "1.StateItem\"X\n\020SaveStateRequest\022\022\n\nstore" + + "_name\030\001 \001(\t\0220\n\006states\030\002 \003(\0132 .spec.proto" + + ".runtime.v1.StateItem\"\373\001\n\tStateItem\022\013\n\003k" + + "ey\030\001 \001(\t\022\r\n\005value\030\002 \001(\014\022)\n\004etag\030\003 \001(\0132\033." + + "spec.proto.runtime.v1.Etag\022@\n\010metadata\030\004" + + " \003(\0132..spec.proto.runtime.v1.StateItem.M" + + "etadataEntry\0224\n\007options\030\005 \001(\0132#.spec.pro" + + "to.runtime.v1.StateOptions\032/\n\rMetadataEn" + + "try\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\025\n\004E" + + "tag\022\r\n\005value\030\001 \001(\t\"\361\002\n\014StateOptions\022I\n\013c" + + "oncurrency\030\001 \001(\01624.spec.proto.runtime.v1" + + ".StateOptions.StateConcurrency\022I\n\013consis" + + "tency\030\002 \001(\01624.spec.proto.runtime.v1.Stat" + + "eOptions.StateConsistency\"h\n\020StateConcur" + + "rency\022\033\n\027CONCURRENCY_UNSPECIFIED\020\000\022\033\n\027CO" + + "NCURRENCY_FIRST_WRITE\020\001\022\032\n\026CONCURRENCY_L" + + "AST_WRITE\020\002\"a\n\020StateConsistency\022\033\n\027CONSI" + + "STENCY_UNSPECIFIED\020\000\022\030\n\024CONSISTENCY_EVEN" + + "TUAL\020\001\022\026\n\022CONSISTENCY_STRONG\020\002\"g\n\033Transa" + + "ctionalStateOperation\022\025\n\roperationType\030\001" + + " \001(\t\0221\n\007request\030\002 \001(\0132 .spec.proto.runti" + + "me.v1.StateItem\"\203\002\n\036ExecuteStateTransact" + + "ionRequest\022\021\n\tstoreName\030\001 \001(\t\022F\n\noperati" + + "ons\030\002 \003(\01322.spec.proto.runtime.v1.Transa" + + "ctionalStateOperation\022U\n\010metadata\030\003 \003(\0132" + + "C.spec.proto.runtime.v1.ExecuteStateTran" + + "sactionRequest.MetadataEntry\032/\n\rMetadata" + + "Entry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\337\001" + + "\n\023PublishEventRequest\022\023\n\013pubsub_name\030\001 \001" + + "(\t\022\r\n\005topic\030\002 \001(\t\022\014\n\004data\030\003 \001(\014\022\031\n\021data_" + + "content_type\030\004 \001(\t\022J\n\010metadata\030\005 \003(\01328.s" + + "pec.proto.runtime.v1.PublishEventRequest" + + ".MetadataEntry\032/\n\rMetadataEntry\022\013\n\003key\030\001" + + " \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\303\001\n\024InvokeBindin" + + "gRequest\022\014\n\004name\030\001 \001(\t\022\014\n\004data\030\002 \001(\014\022K\n\010" + + "metadata\030\003 \003(\01329.spec.proto.runtime.v1.I" + + "nvokeBindingRequest.MetadataEntry\022\021\n\tope" + + "ration\030\004 \001(\t\032/\n\rMetadataEntry\022\013\n\003key\030\001 \001" + + "(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\244\001\n\025InvokeBindingR" + + "esponse\022\014\n\004data\030\001 \001(\014\022L\n\010metadata\030\002 \003(\0132" + + ":.spec.proto.runtime.v1.InvokeBindingRes" + + "ponse.MetadataEntry\032/\n\rMetadataEntry\022\013\n\003" + + "key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\0012\374\017\n\007Runtime" + + "\022]\n\010SayHello\022&.spec.proto.runtime.v1.Say" + + "HelloRequest\032\'.spec.proto.runtime.v1.Say" + + "HelloResponse\"\000\022e\n\rInvokeService\022+.spec." + + "proto.runtime.v1.InvokeServiceRequest\032%." + + "spec.proto.runtime.v1.InvokeResponse\"\000\022u" + + "\n\020GetConfiguration\022..spec.proto.runtime." + + "v1.GetConfigurationRequest\032/.spec.proto." + + "runtime.v1.GetConfigurationResponse\"\000\022^\n" + + "\021SaveConfiguration\022/.spec.proto.runtime." + + "v1.SaveConfigurationRequest\032\026.google.pro" + + "tobuf.Empty\"\000\022b\n\023DeleteConfiguration\0221.s" + + "pec.proto.runtime.v1.DeleteConfiguration" + + "Request\032\026.google.protobuf.Empty\"\000\022\213\001\n\026Su" + + "bscribeConfiguration\0224.spec.proto.runtim" + + "e.v1.SubscribeConfigurationRequest\0325.spe" + + "c.proto.runtime.v1.SubscribeConfiguratio" + + "nResponse\"\000(\0010\001\022Z\n\007TryLock\022%.spec.proto." + + "runtime.v1.TryLockRequest\032&.spec.proto.r" + + "untime.v1.TryLockResponse\"\000\022W\n\006Unlock\022$." + + "spec.proto.runtime.v1.UnlockRequest\032%.sp" + + "ec.proto.runtime.v1.UnlockResponse\"\000\022`\n\t" + + "GetNextId\022\'.spec.proto.runtime.v1.GetNex" + + "tIdRequest\032(.spec.proto.runtime.v1.GetNe" + + "xtIdResponse\"\000\022]\n\010GetState\022&.spec.proto." + + "runtime.v1.GetStateRequest\032\'.spec.proto." + + "runtime.v1.GetStateResponse\"\000\022i\n\014GetBulk" + + "State\022*.spec.proto.runtime.v1.GetBulkSta" + + "teRequest\032+.spec.proto.runtime.v1.GetBul" + + "kStateResponse\"\000\022N\n\tSaveState\022\'.spec.pro" + + "to.runtime.v1.SaveStateRequest\032\026.google." + + "protobuf.Empty\"\000\022R\n\013DeleteState\022).spec.p" + + "roto.runtime.v1.DeleteStateRequest\032\026.goo" + + "gle.protobuf.Empty\"\000\022Z\n\017DeleteBulkState\022" + + "-.spec.proto.runtime.v1.DeleteBulkStateR" + + "equest\032\026.google.protobuf.Empty\"\000\022j\n\027Exec" + + "uteStateTransaction\0225.spec.proto.runtime" + + ".v1.ExecuteStateTransactionRequest\032\026.goo" + + "gle.protobuf.Empty\"\000\022T\n\014PublishEvent\022*.s" + + "pec.proto.runtime.v1.PublishEventRequest" + + "\032\026.google.protobuf.Empty\"\000\022\\\n\007GetFile\022%." + + "spec.proto.runtime.v1.GetFileRequest\032&.s" + + "pec.proto.runtime.v1.GetFileResponse\"\0000\001" + + "\022L\n\007PutFile\022%.spec.proto.runtime.v1.PutF" + + "ileRequest\032\026.google.protobuf.Empty\"\000(\001\022Y" + + "\n\010ListFile\022&.spec.proto.runtime.v1.ListF" + + "ileRequest\032#.spec.proto.runtime.v1.ListF" + + "ileResp\"\000\022J\n\007DelFile\022%.spec.proto.runtim" + + "e.v1.DelFileRequest\032\026.google.protobuf.Em" + + "pty\"\000\022l\n\rInvokeBinding\022+.spec.proto.runt" + + "ime.v1.InvokeBindingRequest\032,.spec.proto" + + ".runtime.v1.InvokeBindingResponse\"\000BT\n\025s" + + "pec.proto.runtime.v1B\014RuntimeProtoZ-mosn" + + ".io/layotto/spec/proto/runtime/v1;runtim" + + "eb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -39640,8 +48430,68 @@ public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance com.google.protobuf.EmptyProto.getDescriptor(), com.google.protobuf.AnyProto.getDescriptor(), }); - internal_static_spec_proto_runtime_v1_GetNextIdRequest_descriptor = + internal_static_spec_proto_runtime_v1_GetFileRequest_descriptor = getDescriptor().getMessageTypes().get(0); + internal_static_spec_proto_runtime_v1_GetFileRequest_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_spec_proto_runtime_v1_GetFileRequest_descriptor, + new java.lang.String[] { "StoreName", "Name", "Metadata", }); + internal_static_spec_proto_runtime_v1_GetFileRequest_MetadataEntry_descriptor = + internal_static_spec_proto_runtime_v1_GetFileRequest_descriptor.getNestedTypes().get(0); + internal_static_spec_proto_runtime_v1_GetFileRequest_MetadataEntry_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_spec_proto_runtime_v1_GetFileRequest_MetadataEntry_descriptor, + new java.lang.String[] { "Key", "Value", }); + internal_static_spec_proto_runtime_v1_GetFileResponse_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_spec_proto_runtime_v1_GetFileResponse_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_spec_proto_runtime_v1_GetFileResponse_descriptor, + new java.lang.String[] { "Data", }); + internal_static_spec_proto_runtime_v1_PutFileRequest_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_spec_proto_runtime_v1_PutFileRequest_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_spec_proto_runtime_v1_PutFileRequest_descriptor, + new java.lang.String[] { "StoreName", "Name", "Data", "Metadata", }); + internal_static_spec_proto_runtime_v1_PutFileRequest_MetadataEntry_descriptor = + internal_static_spec_proto_runtime_v1_PutFileRequest_descriptor.getNestedTypes().get(0); + internal_static_spec_proto_runtime_v1_PutFileRequest_MetadataEntry_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_spec_proto_runtime_v1_PutFileRequest_MetadataEntry_descriptor, + new java.lang.String[] { "Key", "Value", }); + internal_static_spec_proto_runtime_v1_FileRequest_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_spec_proto_runtime_v1_FileRequest_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_spec_proto_runtime_v1_FileRequest_descriptor, + new java.lang.String[] { "StoreName", "Name", "Metadata", }); + internal_static_spec_proto_runtime_v1_FileRequest_MetadataEntry_descriptor = + internal_static_spec_proto_runtime_v1_FileRequest_descriptor.getNestedTypes().get(0); + internal_static_spec_proto_runtime_v1_FileRequest_MetadataEntry_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_spec_proto_runtime_v1_FileRequest_MetadataEntry_descriptor, + new java.lang.String[] { "Key", "Value", }); + internal_static_spec_proto_runtime_v1_ListFileRequest_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_spec_proto_runtime_v1_ListFileRequest_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_spec_proto_runtime_v1_ListFileRequest_descriptor, + new java.lang.String[] { "Request", }); + internal_static_spec_proto_runtime_v1_ListFileResp_descriptor = + getDescriptor().getMessageTypes().get(5); + internal_static_spec_proto_runtime_v1_ListFileResp_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_spec_proto_runtime_v1_ListFileResp_descriptor, + new java.lang.String[] { "FileName", }); + internal_static_spec_proto_runtime_v1_DelFileRequest_descriptor = + getDescriptor().getMessageTypes().get(6); + internal_static_spec_proto_runtime_v1_DelFileRequest_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_spec_proto_runtime_v1_DelFileRequest_descriptor, + new java.lang.String[] { "Request", }); + internal_static_spec_proto_runtime_v1_GetNextIdRequest_descriptor = + getDescriptor().getMessageTypes().get(7); internal_static_spec_proto_runtime_v1_GetNextIdRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_GetNextIdRequest_descriptor, @@ -39653,79 +48503,79 @@ public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance internal_static_spec_proto_runtime_v1_GetNextIdRequest_MetadataEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_spec_proto_runtime_v1_SequencerOptions_descriptor = - getDescriptor().getMessageTypes().get(1); + getDescriptor().getMessageTypes().get(8); internal_static_spec_proto_runtime_v1_SequencerOptions_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_SequencerOptions_descriptor, new java.lang.String[] { "Increment", }); internal_static_spec_proto_runtime_v1_GetNextIdResponse_descriptor = - getDescriptor().getMessageTypes().get(2); + getDescriptor().getMessageTypes().get(9); internal_static_spec_proto_runtime_v1_GetNextIdResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_GetNextIdResponse_descriptor, new java.lang.String[] { "NextId", }); internal_static_spec_proto_runtime_v1_TryLockRequest_descriptor = - getDescriptor().getMessageTypes().get(3); + getDescriptor().getMessageTypes().get(10); internal_static_spec_proto_runtime_v1_TryLockRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_TryLockRequest_descriptor, new java.lang.String[] { "StoreName", "ResourceId", "LockOwner", "Expire", }); internal_static_spec_proto_runtime_v1_TryLockResponse_descriptor = - getDescriptor().getMessageTypes().get(4); + getDescriptor().getMessageTypes().get(11); internal_static_spec_proto_runtime_v1_TryLockResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_TryLockResponse_descriptor, new java.lang.String[] { "Success", }); internal_static_spec_proto_runtime_v1_UnlockRequest_descriptor = - getDescriptor().getMessageTypes().get(5); + getDescriptor().getMessageTypes().get(12); internal_static_spec_proto_runtime_v1_UnlockRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_UnlockRequest_descriptor, new java.lang.String[] { "StoreName", "ResourceId", "LockOwner", }); internal_static_spec_proto_runtime_v1_UnlockResponse_descriptor = - getDescriptor().getMessageTypes().get(6); + getDescriptor().getMessageTypes().get(13); internal_static_spec_proto_runtime_v1_UnlockResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_UnlockResponse_descriptor, new java.lang.String[] { "Status", }); internal_static_spec_proto_runtime_v1_SayHelloRequest_descriptor = - getDescriptor().getMessageTypes().get(7); + getDescriptor().getMessageTypes().get(14); internal_static_spec_proto_runtime_v1_SayHelloRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_SayHelloRequest_descriptor, - new java.lang.String[] { "ServiceName", "Name", }); + new java.lang.String[] { "ServiceName", "Name", "Data", }); internal_static_spec_proto_runtime_v1_SayHelloResponse_descriptor = - getDescriptor().getMessageTypes().get(8); + getDescriptor().getMessageTypes().get(15); internal_static_spec_proto_runtime_v1_SayHelloResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_SayHelloResponse_descriptor, - new java.lang.String[] { "Hello", }); + new java.lang.String[] { "Hello", "Data", }); internal_static_spec_proto_runtime_v1_InvokeServiceRequest_descriptor = - getDescriptor().getMessageTypes().get(9); + getDescriptor().getMessageTypes().get(16); internal_static_spec_proto_runtime_v1_InvokeServiceRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_InvokeServiceRequest_descriptor, new java.lang.String[] { "Id", "Message", }); internal_static_spec_proto_runtime_v1_CommonInvokeRequest_descriptor = - getDescriptor().getMessageTypes().get(10); + getDescriptor().getMessageTypes().get(17); internal_static_spec_proto_runtime_v1_CommonInvokeRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_CommonInvokeRequest_descriptor, new java.lang.String[] { "Method", "Data", "ContentType", "HttpExtension", }); internal_static_spec_proto_runtime_v1_HTTPExtension_descriptor = - getDescriptor().getMessageTypes().get(11); + getDescriptor().getMessageTypes().get(18); internal_static_spec_proto_runtime_v1_HTTPExtension_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_HTTPExtension_descriptor, new java.lang.String[] { "Verb", "Querystring", }); internal_static_spec_proto_runtime_v1_InvokeResponse_descriptor = - getDescriptor().getMessageTypes().get(12); + getDescriptor().getMessageTypes().get(19); internal_static_spec_proto_runtime_v1_InvokeResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_InvokeResponse_descriptor, new java.lang.String[] { "Data", "ContentType", }); internal_static_spec_proto_runtime_v1_ConfigurationItem_descriptor = - getDescriptor().getMessageTypes().get(13); + getDescriptor().getMessageTypes().get(20); internal_static_spec_proto_runtime_v1_ConfigurationItem_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_ConfigurationItem_descriptor, @@ -39743,7 +48593,7 @@ public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance internal_static_spec_proto_runtime_v1_ConfigurationItem_MetadataEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_spec_proto_runtime_v1_GetConfigurationRequest_descriptor = - getDescriptor().getMessageTypes().get(14); + getDescriptor().getMessageTypes().get(21); internal_static_spec_proto_runtime_v1_GetConfigurationRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_GetConfigurationRequest_descriptor, @@ -39755,13 +48605,13 @@ public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance internal_static_spec_proto_runtime_v1_GetConfigurationRequest_MetadataEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_spec_proto_runtime_v1_GetConfigurationResponse_descriptor = - getDescriptor().getMessageTypes().get(15); + getDescriptor().getMessageTypes().get(22); internal_static_spec_proto_runtime_v1_GetConfigurationResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_GetConfigurationResponse_descriptor, new java.lang.String[] { "Items", }); internal_static_spec_proto_runtime_v1_SubscribeConfigurationRequest_descriptor = - getDescriptor().getMessageTypes().get(16); + getDescriptor().getMessageTypes().get(23); internal_static_spec_proto_runtime_v1_SubscribeConfigurationRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_SubscribeConfigurationRequest_descriptor, @@ -39773,13 +48623,13 @@ public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance internal_static_spec_proto_runtime_v1_SubscribeConfigurationRequest_MetadataEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_spec_proto_runtime_v1_SubscribeConfigurationResponse_descriptor = - getDescriptor().getMessageTypes().get(17); + getDescriptor().getMessageTypes().get(24); internal_static_spec_proto_runtime_v1_SubscribeConfigurationResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_SubscribeConfigurationResponse_descriptor, new java.lang.String[] { "StoreName", "AppId", "Items", }); internal_static_spec_proto_runtime_v1_SaveConfigurationRequest_descriptor = - getDescriptor().getMessageTypes().get(18); + getDescriptor().getMessageTypes().get(25); internal_static_spec_proto_runtime_v1_SaveConfigurationRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_SaveConfigurationRequest_descriptor, @@ -39791,7 +48641,7 @@ public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance internal_static_spec_proto_runtime_v1_SaveConfigurationRequest_MetadataEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_spec_proto_runtime_v1_DeleteConfigurationRequest_descriptor = - getDescriptor().getMessageTypes().get(19); + getDescriptor().getMessageTypes().get(26); internal_static_spec_proto_runtime_v1_DeleteConfigurationRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_DeleteConfigurationRequest_descriptor, @@ -39803,7 +48653,7 @@ public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance internal_static_spec_proto_runtime_v1_DeleteConfigurationRequest_MetadataEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_spec_proto_runtime_v1_GetStateRequest_descriptor = - getDescriptor().getMessageTypes().get(20); + getDescriptor().getMessageTypes().get(27); internal_static_spec_proto_runtime_v1_GetStateRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_GetStateRequest_descriptor, @@ -39815,7 +48665,7 @@ public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance internal_static_spec_proto_runtime_v1_GetStateRequest_MetadataEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_spec_proto_runtime_v1_GetBulkStateRequest_descriptor = - getDescriptor().getMessageTypes().get(21); + getDescriptor().getMessageTypes().get(28); internal_static_spec_proto_runtime_v1_GetBulkStateRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_GetBulkStateRequest_descriptor, @@ -39827,13 +48677,13 @@ public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance internal_static_spec_proto_runtime_v1_GetBulkStateRequest_MetadataEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_spec_proto_runtime_v1_GetBulkStateResponse_descriptor = - getDescriptor().getMessageTypes().get(22); + getDescriptor().getMessageTypes().get(29); internal_static_spec_proto_runtime_v1_GetBulkStateResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_GetBulkStateResponse_descriptor, new java.lang.String[] { "Items", }); internal_static_spec_proto_runtime_v1_BulkStateItem_descriptor = - getDescriptor().getMessageTypes().get(23); + getDescriptor().getMessageTypes().get(30); internal_static_spec_proto_runtime_v1_BulkStateItem_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_BulkStateItem_descriptor, @@ -39845,7 +48695,7 @@ public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance internal_static_spec_proto_runtime_v1_BulkStateItem_MetadataEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_spec_proto_runtime_v1_GetStateResponse_descriptor = - getDescriptor().getMessageTypes().get(24); + getDescriptor().getMessageTypes().get(31); internal_static_spec_proto_runtime_v1_GetStateResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_GetStateResponse_descriptor, @@ -39857,7 +48707,7 @@ public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance internal_static_spec_proto_runtime_v1_GetStateResponse_MetadataEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_spec_proto_runtime_v1_DeleteStateRequest_descriptor = - getDescriptor().getMessageTypes().get(25); + getDescriptor().getMessageTypes().get(32); internal_static_spec_proto_runtime_v1_DeleteStateRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_DeleteStateRequest_descriptor, @@ -39869,19 +48719,19 @@ public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance internal_static_spec_proto_runtime_v1_DeleteStateRequest_MetadataEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_spec_proto_runtime_v1_DeleteBulkStateRequest_descriptor = - getDescriptor().getMessageTypes().get(26); + getDescriptor().getMessageTypes().get(33); internal_static_spec_proto_runtime_v1_DeleteBulkStateRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_DeleteBulkStateRequest_descriptor, new java.lang.String[] { "StoreName", "States", }); internal_static_spec_proto_runtime_v1_SaveStateRequest_descriptor = - getDescriptor().getMessageTypes().get(27); + getDescriptor().getMessageTypes().get(34); internal_static_spec_proto_runtime_v1_SaveStateRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_SaveStateRequest_descriptor, new java.lang.String[] { "StoreName", "States", }); internal_static_spec_proto_runtime_v1_StateItem_descriptor = - getDescriptor().getMessageTypes().get(28); + getDescriptor().getMessageTypes().get(35); internal_static_spec_proto_runtime_v1_StateItem_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_StateItem_descriptor, @@ -39893,25 +48743,25 @@ public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance internal_static_spec_proto_runtime_v1_StateItem_MetadataEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_spec_proto_runtime_v1_Etag_descriptor = - getDescriptor().getMessageTypes().get(29); + getDescriptor().getMessageTypes().get(36); internal_static_spec_proto_runtime_v1_Etag_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_Etag_descriptor, new java.lang.String[] { "Value", }); internal_static_spec_proto_runtime_v1_StateOptions_descriptor = - getDescriptor().getMessageTypes().get(30); + getDescriptor().getMessageTypes().get(37); internal_static_spec_proto_runtime_v1_StateOptions_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_StateOptions_descriptor, new java.lang.String[] { "Concurrency", "Consistency", }); internal_static_spec_proto_runtime_v1_TransactionalStateOperation_descriptor = - getDescriptor().getMessageTypes().get(31); + getDescriptor().getMessageTypes().get(38); internal_static_spec_proto_runtime_v1_TransactionalStateOperation_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_TransactionalStateOperation_descriptor, new java.lang.String[] { "OperationType", "Request", }); internal_static_spec_proto_runtime_v1_ExecuteStateTransactionRequest_descriptor = - getDescriptor().getMessageTypes().get(32); + getDescriptor().getMessageTypes().get(39); internal_static_spec_proto_runtime_v1_ExecuteStateTransactionRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_ExecuteStateTransactionRequest_descriptor, @@ -39923,7 +48773,7 @@ public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance internal_static_spec_proto_runtime_v1_ExecuteStateTransactionRequest_MetadataEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_spec_proto_runtime_v1_PublishEventRequest_descriptor = - getDescriptor().getMessageTypes().get(33); + getDescriptor().getMessageTypes().get(40); internal_static_spec_proto_runtime_v1_PublishEventRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_PublishEventRequest_descriptor, @@ -39934,6 +48784,30 @@ public spec.proto.runtime.v1.RuntimeProto.PublishEventRequest getDefaultInstance com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_spec_proto_runtime_v1_PublishEventRequest_MetadataEntry_descriptor, new java.lang.String[] { "Key", "Value", }); + internal_static_spec_proto_runtime_v1_InvokeBindingRequest_descriptor = + getDescriptor().getMessageTypes().get(41); + internal_static_spec_proto_runtime_v1_InvokeBindingRequest_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_spec_proto_runtime_v1_InvokeBindingRequest_descriptor, + new java.lang.String[] { "Name", "Data", "Metadata", "Operation", }); + internal_static_spec_proto_runtime_v1_InvokeBindingRequest_MetadataEntry_descriptor = + internal_static_spec_proto_runtime_v1_InvokeBindingRequest_descriptor.getNestedTypes().get(0); + internal_static_spec_proto_runtime_v1_InvokeBindingRequest_MetadataEntry_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_spec_proto_runtime_v1_InvokeBindingRequest_MetadataEntry_descriptor, + new java.lang.String[] { "Key", "Value", }); + internal_static_spec_proto_runtime_v1_InvokeBindingResponse_descriptor = + getDescriptor().getMessageTypes().get(42); + internal_static_spec_proto_runtime_v1_InvokeBindingResponse_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_spec_proto_runtime_v1_InvokeBindingResponse_descriptor, + new java.lang.String[] { "Data", "Metadata", }); + internal_static_spec_proto_runtime_v1_InvokeBindingResponse_MetadataEntry_descriptor = + internal_static_spec_proto_runtime_v1_InvokeBindingResponse_descriptor.getNestedTypes().get(0); + internal_static_spec_proto_runtime_v1_InvokeBindingResponse_MetadataEntry_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_spec_proto_runtime_v1_InvokeBindingResponse_MetadataEntry_descriptor, + new java.lang.String[] { "Key", "Value", }); com.google.protobuf.EmptyProto.getDescriptor(); com.google.protobuf.AnyProto.getDescriptor(); } diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/client/RuntimeClient.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/client/RuntimeClient.java new file mode 100644 index 0000000000..ab2afc68d7 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/client/RuntimeClient.java @@ -0,0 +1,28 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.client; + +import spec.sdk.runtime.v1.domain.*; + +public interface RuntimeClient extends + HelloRuntime, + ConfigurationRuntime, + InvocationRuntime, + PubSubRuntime, + StateRuntime, + LockRuntime, + SequencerRuntime { +} \ No newline at end of file diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/ConfigurationRuntime.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/ConfigurationRuntime.java new file mode 100644 index 0000000000..0b6231cbe4 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/ConfigurationRuntime.java @@ -0,0 +1,19 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain; + +public interface ConfigurationRuntime { +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/HelloRuntime.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/HelloRuntime.java new file mode 100644 index 0000000000..598f6cc026 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/HelloRuntime.java @@ -0,0 +1,23 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain; + +public interface HelloRuntime { + + String sayHello(String name); + + String sayHello(String name, int timeoutMillisecond); +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/InvocationRuntime.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/InvocationRuntime.java new file mode 100644 index 0000000000..009a3413fe --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/InvocationRuntime.java @@ -0,0 +1,37 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain; + +import spec.sdk.runtime.v1.domain.invocation.InvokeResponse; + +import java.util.Map; + +public interface InvocationRuntime { + + InvokeResponse invokeMethod(String appId, String methodName, byte[] data, Map header); + + /** + * Invoke a service method. + * + * @param appId + * @param methodName + * @param data + * @param header + * @param timeoutMs can be customized every time a service method is called, since different services provide different SLA. + * @return + */ + InvokeResponse invokeMethod(String appId, String methodName, byte[] data, Map header, int timeoutMs); +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/LockRuntime.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/LockRuntime.java new file mode 100644 index 0000000000..7745383b93 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/LockRuntime.java @@ -0,0 +1,19 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain; + +public interface LockRuntime { +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/PubSubRuntime.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/PubSubRuntime.java new file mode 100644 index 0000000000..669ca02afc --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/PubSubRuntime.java @@ -0,0 +1,53 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain; + +import java.util.Map; + +public interface PubSubRuntime { + /** + * Publish an event. + * + * @param pubsubName the pubsub name we will publish the event to + * @param topicName the topicName where the event will be published. + * @param data the event's data to be published, use byte[] for skipping serialization. + */ + //void publishEvent(String pubsubName, String topicName, Object data); + + /** + * Publish an event. + * + * @param pubsubName the pubsub name we will publish the event to + * @param topicName the topicName where the event will be published. + * @param data the event's data to be published, use byte[] for skipping serialization. + * @param metadata The metadata for the published event. + */ + //void publishEvent(String pubsubName, String topicName, Object data, Map metadata); + + /** + * Publish an event. + * + * @param pubsubName the pubsub name we will publish the event to + * @param topicName the topicName where the event will be published. + * @param data the event's data to be published, use byte[] for skipping serialization. + */ + void publishEvent(String pubsubName, String topicName, byte[] data); + + void publishEvent(String pubsubName, String topicName, byte[] data, Map metadata); + + void publishEvent(String pubsubName, String topicName, byte[] data, String contentType, Map metadata); + +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/SequencerRuntime.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/SequencerRuntime.java new file mode 100644 index 0000000000..a419955f5c --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/SequencerRuntime.java @@ -0,0 +1,19 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain; + +public interface SequencerRuntime { +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/StateRuntime.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/StateRuntime.java new file mode 100644 index 0000000000..2e86bcee75 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/StateRuntime.java @@ -0,0 +1,151 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain; + +import spec.sdk.runtime.v1.domain.state.*; + +import java.util.List; +import java.util.Map; + +public interface StateRuntime { + + /** + * Retrieve a State based on their key. + * + * @param storeName The name of the state store. + * @param key The key of the State to be retrieved. + * @param clazz The type of State needed as return. + * @param The type of the return. + */ + State getState(String storeName, String key, Class clazz); + + /** + * Retrieve a State based on their key. + * + * @param storeName The name of the state store. + * @param key The key of the State to be retrieved. + * @param options Optional settings for retrieve operation. + * @param clazz The Type of State needed as return. + * @param The Type of the return. + */ + State getState(String storeName, String key, StateOptions options, Class clazz); + + /** + * Retrieve a State based on their key. + * + * @param request The request to get state. + * @param clazz The Class of State needed as return. + * @param The Type of the return. + * @return The requested State. + */ + State getState(GetStateRequest request, Class clazz); + + /** + * Retrieve bulk States based on their keys. + * + * @param storeName The name of the state store. + * @param keys The keys of the State to be retrieved. + * @param clazz The type of State needed as return. + * @param The type of the return. + */ + List> getBulkState(String storeName, List keys, Class clazz); + + /** + * Retrieve bulk States based on their keys. + * + * @param request The request to get state. + * @param clazz The Class of State needed as return. + * @param The Type of the return. + * @return The requested State. + */ + List> getBulkState(GetBulkStateRequest request, Class clazz); + + /** + * Execute a transaction. + * + * @param storeName The name of the state store. + * @param operations The operations to be performed. + */ + void executeStateTransaction(String storeName, + List> operations); + + /** + * Execute a transaction. + * + * @param request Request to execute transaction. + */ + void executeStateTransaction(ExecuteStateTransactionRequest request); + + /** + * Save/Update a list of states. + * + * @param storeName The name of the state store. + * @param states The States to be saved. + */ + void saveBulkState(String storeName, List> states); + + /** + * Save/Update a list of states. + * + * @param request Request to save states. + */ + void saveBulkState(SaveStateRequest request); + + /** + * Save/Update a state. + * + * @param storeName The name of the state store. + * @param key The key of the state. + * @param value The value of the state. + */ + void saveState(String storeName, String key, Object value); + + /** + * Save/Update a state. + * + * @param storeName The name of the state store. + * @param key The key of the state. + * @param etag The etag to be used. + * @param value The value of the state. + * @param options The Options to use for each state. + */ + void saveState(String storeName, String key, String etag, Object value, StateOptions options, Map metadata); + + /** + * Delete a state. + * + * @param storeName The name of the state store. + * @param key The key of the State to be removed. + */ + void deleteState(String storeName, String key); + + /** + * Delete a state. + * + * @param storeName The name of the state store. + * @param key The key of the State to be removed. + * @param etag Optional etag for conditional delete. + * @param options Optional settings for state operation. + */ + void deleteState(String storeName, String key, String etag, StateOptions options); + + /** + * Delete a state. + * + * @param request Request to delete a state. + */ + void deleteState(DeleteStateRequest request); +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/invocation/InvokeResponse.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/invocation/InvokeResponse.java new file mode 100644 index 0000000000..a5fa06a035 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/invocation/InvokeResponse.java @@ -0,0 +1,57 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain.invocation; + +public class InvokeResponse { + private String contentType; + private T data; + + /** + * Getter method for property contentType. + * + * @return property value of contentType + */ + public String getContentType() { + return contentType; + } + + /** + * Setter method for property contentType. + * + * @param contentType value to be assigned to property contentType + */ + public void setContentType(String contentType) { + this.contentType = contentType; + } + + /** + * Getter method for property data. + * + * @return property value of data + */ + public T getData() { + return data; + } + + /** + * Setter method for property data. + * + * @param data value to be assigned to property data + */ + public void setData(T data) { + this.data = data; + } +} diff --git a/sdk/java-sdk/src/main/java/io/mosn/layotto/v1/domain/TryLockRequest.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/lock/TryLockRequest.java similarity index 94% rename from sdk/java-sdk/src/main/java/io/mosn/layotto/v1/domain/TryLockRequest.java rename to sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/lock/TryLockRequest.java index 9d24a0b06a..bc69fcab43 100644 --- a/sdk/java-sdk/src/main/java/io/mosn/layotto/v1/domain/TryLockRequest.java +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/lock/TryLockRequest.java @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.mosn.layotto.v1.domain; +package spec.sdk.runtime.v1.domain.lock; public class TryLockRequest { public String storeName; diff --git a/sdk/java-sdk/src/main/java/io/mosn/layotto/v1/domain/TryLockResponse.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/lock/TryLockResponse.java similarity index 94% rename from sdk/java-sdk/src/main/java/io/mosn/layotto/v1/domain/TryLockResponse.java rename to sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/lock/TryLockResponse.java index 0cc1fac6f8..a9922ea5af 100644 --- a/sdk/java-sdk/src/main/java/io/mosn/layotto/v1/domain/TryLockResponse.java +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/lock/TryLockResponse.java @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.mosn.layotto.v1.domain; +package spec.sdk.runtime.v1.domain.lock; public class TryLockResponse { public boolean success; diff --git a/sdk/java-sdk/src/main/java/io/mosn/layotto/v1/domain/UnlockRequest.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/lock/UnlockRequest.java similarity index 94% rename from sdk/java-sdk/src/main/java/io/mosn/layotto/v1/domain/UnlockRequest.java rename to sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/lock/UnlockRequest.java index 7b6044a86c..52a545bcde 100644 --- a/sdk/java-sdk/src/main/java/io/mosn/layotto/v1/domain/UnlockRequest.java +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/lock/UnlockRequest.java @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.mosn.layotto.v1.domain; +package spec.sdk.runtime.v1.domain.lock; public class UnlockRequest { public String storeName; diff --git a/sdk/java-sdk/src/main/java/io/mosn/layotto/v1/domain/UnlockResponse.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/lock/UnlockResponse.java similarity index 95% rename from sdk/java-sdk/src/main/java/io/mosn/layotto/v1/domain/UnlockResponse.java rename to sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/lock/UnlockResponse.java index 4c6db92d40..a12f8191ee 100644 --- a/sdk/java-sdk/src/main/java/io/mosn/layotto/v1/domain/UnlockResponse.java +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/lock/UnlockResponse.java @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.mosn.layotto.v1.domain; +package spec.sdk.runtime.v1.domain.lock; enum UnlockResponseStatus { SUCCESS(0), diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/PublishEventRequest.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/PublishEventRequest.java new file mode 100644 index 0000000000..f4f79c2654 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/PublishEventRequest.java @@ -0,0 +1,126 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain.pubsub; + +import java.util.Map; + +public class PublishEventRequest { + // The name of the pubsub component + private String pubsubName; + // The pubsub topic + private String topic; + // The data which will be published to topic. + private byte[] data; + + // The content type for the data (optional). + private String contentType; + + // The metadata passing to pub components + // + // metadata property: + // - key : the key of the message. + private Map metadata; + + /** + * Getter method for property pubsubName. + * + * @return property value of pubsubName + */ + public String getPubsubName() { + return pubsubName; + } + + /** + * Setter method for property pubsubName. + * + * @param pubsubName value to be assigned to property pubsubName + */ + public void setPubsubName(String pubsubName) { + this.pubsubName = pubsubName; + } + + /** + * Getter method for property topic. + * + * @return property value of topic + */ + public String getTopic() { + return topic; + } + + /** + * Setter method for property topic. + * + * @param topic value to be assigned to property topic + */ + public void setTopic(String topic) { + this.topic = topic; + } + + /** + * Getter method for property data. + * + * @return property value of data + */ + public byte[] getData() { + return data; + } + + /** + * Setter method for property data. + * + * @param data value to be assigned to property data + */ + public void setData(byte[] data) { + this.data = data; + } + + /** + * Getter method for property contentType. + * + * @return property value of contentType + */ + public String getContentType() { + return contentType; + } + + /** + * Setter method for property contentType. + * + * @param contentType value to be assigned to property contentType + */ + public void setContentType(String contentType) { + this.contentType = contentType; + } + + /** + * Getter method for property metadata. + * + * @return property value of metadata + */ + public Map getMetadata() { + return metadata; + } + + /** + * Setter method for property metadata. + * + * @param metadata value to be assigned to property metadata + */ + public void setMetadata(Map metadata) { + this.metadata = metadata; + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/TopicEventRequest.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/TopicEventRequest.java new file mode 100644 index 0000000000..362d4ff214 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/TopicEventRequest.java @@ -0,0 +1,215 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain.pubsub; + +import java.util.Map; + +public class TopicEventRequest { + // id identifies the event. Producers MUST ensure that source + id + // is unique for each distinct event. If a duplicate event is re-sent + // (e.g. due to a network error) it MAY have the same id. + private String id ; + + // source identifies the context in which an event happened. + // Often this will include information such as the type of the + // event source, the organization publishing the event or the process + // that produced the event. The exact syntax and semantics behind + // the data encoded in the URI is defined by the event producer. + private String source ; + + // The type of event related to the originating occurrence. + private String type ; + + // The version of the CloudEvents specification. + private String specVersion ; + + // The content type of data value. + private String contentType ; + + // The content of the event. + private byte[] data ; + + // The pubsub topic which publisher sent to. + private String topic ; + + // The name of the pubsub the publisher sent to. + private String pubsubName; + + // add a map to pass some extra properties. + private Map metadata ; + + /** + * Getter method for property id. + * + * @return property value of id + */ + public String getId() { + return id; + } + + /** + * Setter method for property id. + * + * @param id value to be assigned to property id + */ + public void setId(String id) { + this.id = id; + } + + /** + * Getter method for property source. + * + * @return property value of source + */ + public String getSource() { + return source; + } + + /** + * Setter method for property source. + * + * @param source value to be assigned to property source + */ + public void setSource(String source) { + this.source = source; + } + + /** + * Getter method for property type. + * + * @return property value of type + */ + public String getType() { + return type; + } + + /** + * Setter method for property type. + * + * @param type value to be assigned to property type + */ + public void setType(String type) { + this.type = type; + } + + /** + * Getter method for property specVersion. + * + * @return property value of specVersion + */ + public String getSpecVersion() { + return specVersion; + } + + /** + * Setter method for property specVersion. + * + * @param specVersion value to be assigned to property specVersion + */ + public void setSpecVersion(String specVersion) { + this.specVersion = specVersion; + } + + /** + * Getter method for property contentType. + * + * @return property value of contentType + */ + public String getContentType() { + return contentType; + } + + /** + * Setter method for property contentType. + * + * @param contentType value to be assigned to property contentType + */ + public void setContentType(String contentType) { + this.contentType = contentType; + } + + /** + * Getter method for property data. + * + * @return property value of data + */ + public byte[] getData() { + return data; + } + + /** + * Setter method for property data. + * + * @param data value to be assigned to property data + */ + public void setData(byte[] data) { + this.data = data; + } + + /** + * Getter method for property topic. + * + * @return property value of topic + */ + public String getTopic() { + return topic; + } + + /** + * Setter method for property topic. + * + * @param topic value to be assigned to property topic + */ + public void setTopic(String topic) { + this.topic = topic; + } + + /** + * Getter method for property pubsubName. + * + * @return property value of pubsubName + */ + public String getPubsubName() { + return pubsubName; + } + + /** + * Setter method for property pubsubName. + * + * @param pubsubName value to be assigned to property pubsubName + */ + public void setPubsubName(String pubsubName) { + this.pubsubName = pubsubName; + } + + /** + * Getter method for property metadata. + * + * @return property value of metadata + */ + public Map getMetadata() { + return metadata; + } + + /** + * Setter method for property metadata. + * + * @param metadata value to be assigned to property metadata + */ + public void setMetadata(Map metadata) { + this.metadata = metadata; + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/TopicEventResponse.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/TopicEventResponse.java new file mode 100644 index 0000000000..09e853a890 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/TopicEventResponse.java @@ -0,0 +1,38 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain.pubsub; + +public class TopicEventResponse { + private TopicEventResponseStatus status; + + /** + * Getter method for property status. + * + * @return property value of status + */ + public TopicEventResponseStatus getStatus() { + return status; + } + + /** + * Setter method for property status. + * + * @param status value to be assigned to property status + */ + public void setStatus(TopicEventResponseStatus status) { + this.status = status; + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/TopicEventResponseStatus.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/TopicEventResponseStatus.java new file mode 100644 index 0000000000..164aeaa79f --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/TopicEventResponseStatus.java @@ -0,0 +1,41 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain.pubsub; + +// TopicEventResponseStatus allows apps to have finer control over handling of the message. +public enum TopicEventResponseStatus { + // SUCCESS is the default behavior: message is acknowledged and not retried or logged. + SUCCESS(0), + // RETRY status signals runtime to retry the message as part of an expected scenario (no warning is logged). + RETRY(1), + // DROP status signals runtime to drop the message as part of an unexpected scenario (warning is logged). + DROP(2); + + int idx; + + TopicEventResponseStatus(int idx) { + this.idx = idx; + } + + /** + * Getter method for property idx. + * + * @return property value of idx + */ + public int getIdx() { + return idx; + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/TopicSubscription.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/TopicSubscription.java new file mode 100644 index 0000000000..f612e36314 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/pubsub/TopicSubscription.java @@ -0,0 +1,83 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain.pubsub; + +import java.util.Map; + +public class TopicSubscription { + // Required. The name of the pubsub containing the topic below to subscribe to. + private String pubsubName; + + // Required. The name of topic which will be subscribed + private String topic; + + // The optional properties used for this topic's subscription e.g. session id + private Map metadata; + + /** + * Getter method for property pubsub_name. + * + * @return property value of pubsub_name + */ + public String getPubsubName() { + return pubsubName; + } + + /** + * Setter method for property pubsub_name. + * + * @param pubsubName value to be assigned to property pubsub_name + */ + public void setPubsubName(String pubsubName) { + this.pubsubName = pubsubName; + } + + /** + * Getter method for property topic. + * + * @return property value of topic + */ + public String getTopic() { + return topic; + } + + /** + * Setter method for property topic. + * + * @param topic value to be assigned to property topic + */ + public void setTopic(String topic) { + this.topic = topic; + } + + /** + * Getter method for property metadata. + * + * @return property value of metadata + */ + public Map getMetadata() { + return metadata; + } + + /** + * Setter method for property metadata. + * + * @param metadata value to be assigned to property metadata + */ + public void setMetadata(Map metadata) { + this.metadata = metadata; + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/DeleteStateRequest.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/DeleteStateRequest.java new file mode 100644 index 0000000000..5859b01294 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/DeleteStateRequest.java @@ -0,0 +1,101 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain.state; + +import java.util.Map; + +/** + * A request to delete a state by key. + */ +public class DeleteStateRequest { + + private final String stateStoreName; + + private final String key; + + private Map metadata; + + private String etag; + + private StateOptions stateOptions; + + public DeleteStateRequest(String storeName, String key) { + this.stateStoreName = storeName; + this.key = key; + } + + public String getStateStoreName() { + return stateStoreName; + } + + public String getKey() { + return key; + } + + /** + * Getter method for property metadata. + * + * @return property value of metadata + */ + public Map getMetadata() { + return metadata; + } + + /** + * Setter method for property metadata. + * + * @param metadata value to be assigned to property metadata + */ + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + /** + * Getter method for property etag. + * + * @return property value of etag + */ + public String getEtag() { + return etag; + } + + /** + * Setter method for property etag. + * + * @param etag value to be assigned to property etag + */ + public void setEtag(String etag) { + this.etag = etag; + } + + /** + * Getter method for property stateOptions. + * + * @return property value of stateOptions + */ + public StateOptions getStateOptions() { + return stateOptions; + } + + /** + * Setter method for property stateOptions. + * + * @param stateOptions value to be assigned to property stateOptions + */ + public void setStateOptions(StateOptions stateOptions) { + this.stateOptions = stateOptions; + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/ExecuteStateTransactionRequest.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/ExecuteStateTransactionRequest.java new file mode 100644 index 0000000000..1a8224e4ef --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/ExecuteStateTransactionRequest.java @@ -0,0 +1,81 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain.state; + +import java.util.List; +import java.util.Map; + +public class ExecuteStateTransactionRequest { + + /** + * Name of the state store. + */ + private final String stateStoreName; + + /** + * Transactional operations list. + */ + private List> operations; + + /** + * Metadata used for transactional operations. + */ + private Map metadata; + + public ExecuteStateTransactionRequest(String stateStoreName) { + this.stateStoreName = stateStoreName; + } + + public String getStateStoreName() { + return stateStoreName; + } + + /** + * Getter method for property operations. + * + * @return property value of operations + */ + public List> getOperations() { + return operations; + } + + /** + * Setter method for property operations. + * + * @param operations value to be assigned to property operations + */ + public void setOperations(List> operations) { + this.operations = operations; + } + + /** + * Getter method for property metadata. + * + * @return property value of metadata + */ + public Map getMetadata() { + return metadata; + } + + /** + * Setter method for property metadata. + * + * @param metadata value to be assigned to property metadata + */ + public void setMetadata(Map metadata) { + this.metadata = metadata; + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/GetBulkStateRequest.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/GetBulkStateRequest.java new file mode 100644 index 0000000000..dff484e75e --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/GetBulkStateRequest.java @@ -0,0 +1,89 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain.state; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +/** + * A request to get bulk state by keys. + */ +public class GetBulkStateRequest { + + private final String storeName; + + private final List keys; + + private Map metadata; + + private int parallelism = 1; + + public GetBulkStateRequest(String storeName, List keys) { + this.storeName = storeName; + this.keys = keys == null ? null : Collections.unmodifiableList(keys); + } + + public GetBulkStateRequest(String storeName, String... keys) { + this.storeName = storeName; + this.keys = keys == null ? null : Collections.unmodifiableList(Arrays.asList(keys)); + } + + public String getStoreName() { + return storeName; + } + + public List getKeys() { + return keys; + } + + /** + * Getter method for property metadata. + * + * @return property value of metadata + */ + public Map getMetadata() { + return metadata; + } + + /** + * Setter method for property metadata. + * + * @param metadata value to be assigned to property metadata + */ + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + /** + * Getter method for property parallelism. + * + * @return property value of parallelism + */ + public int getParallelism() { + return parallelism; + } + + /** + * Setter method for property parallelism. + * + * @param parallelism value to be assigned to property parallelism + */ + public void setParallelism(int parallelism) { + this.parallelism = parallelism; + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/GetStateRequest.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/GetStateRequest.java new file mode 100644 index 0000000000..04f7a6f127 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/GetStateRequest.java @@ -0,0 +1,81 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain.state; + +import java.util.Map; + +/** + * A request to get a state by key. + */ +public class GetStateRequest { + + private final String storeName; + + private final String key; + + private Map metadata; + + private StateOptions stateOptions; + + public GetStateRequest(String storeName, String key) { + this.storeName = storeName; + this.key = key; + } + + public String getStoreName() { + return storeName; + } + + public String getKey() { + return key; + } + + /** + * Getter method for property metadata. + * + * @return property value of metadata + */ + public Map getMetadata() { + return metadata; + } + + /** + * Setter method for property metadata. + * + * @param metadata value to be assigned to property metadata + */ + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + /** + * Getter method for property stateOptions. + * + * @return property value of stateOptions + */ + public StateOptions getStateOptions() { + return stateOptions; + } + + /** + * Setter method for property stateOptions. + * + * @param stateOptions value to be assigned to property stateOptions + */ + public void setStateOptions(StateOptions stateOptions) { + this.stateOptions = stateOptions; + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/SaveStateRequest.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/SaveStateRequest.java new file mode 100644 index 0000000000..a0d914e4f3 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/SaveStateRequest.java @@ -0,0 +1,54 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain.state; + +import java.util.List; + +/** + * A request to save states to state store. + */ +public class SaveStateRequest { + + private final String storeName; + + private List> states; + + public SaveStateRequest(String storeName) { + this.storeName = storeName; + } + + public String getStoreName() { + return storeName; + } + + /** + * Getter method for property states. + * + * @return property value of states + */ + public List> getStates() { + return states; + } + + /** + * Setter method for property states. + * + * @param states value to be assigned to property states + */ + public void setStates(List> states) { + this.states = states; + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/State.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/State.java new file mode 100644 index 0000000000..a92f59a1f3 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/State.java @@ -0,0 +1,199 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain.state; + +import java.util.Map; + +/** + * This class reprent what a State is. + * + * @param The type of the value of the state + */ +public class State { + + /** + * The key of the state. + */ + private final String key; + + /** + * The value of the state. + */ + private final T value; + + /** + * The ETag to be used Keep in mind that for some state stores (like redis) only numbers are supported. + */ + private final String etag; + + /** + * The metadata which will be passed to state store component. + */ + private final Map metadata; + + /** + * The error in case the key could not be retrieved. + */ + private final String error; + + /** + * The options used for saving the state. + */ + private final StateOptions options; + + /** + * Create an immutable state reference to be retrieved or deleted. This Constructor CAN be used anytime you need to retrieve or delete a + * state. + * + * @param key - The key of the state + */ + public State(String key) { + this.key = key; + this.value = null; + this.etag = null; + this.metadata = null; + this.options = null; + this.error = null; + } + + /** + * Create an immutable state. This Constructor MUST be used anytime the key could not be retrieved and contains an error. + * + * @param key - The key of the state. + * @param error - Error when fetching the state. + */ + public State(String key, String error) { + this.value = null; + this.key = key; + this.etag = null; + this.metadata = null; + this.options = null; + this.error = error; + } + + /** + * Create an immutable state reference to be retrieved or deleted. This Constructor CAN be used anytime you need to retrieve or delete a + * state. + * + * @param key - The key of the state + * @param etag - The etag of the state - Keep in mind that for some state stores (like redis) only numbers are supported. + * @param options - REQUIRED when saving a state. + */ + public State(String key, String etag, StateOptions options) { + this.value = null; + this.key = key; + this.etag = etag; + this.metadata = null; + this.options = options; + this.error = null; + } + + /** + * Create an immutable state. This Constructor CAN be used anytime you want the state to be saved. + * + * @param key - The key of the state. + * @param value - The value of the state. + * @param etag - The etag of the state - for some state stores (like redis) only numbers are supported. + * @param options - REQUIRED when saving a state. + */ + public State(String key, T value, String etag, StateOptions options) { + this.value = value; + this.key = key; + this.etag = etag; + this.metadata = null; + this.options = options; + this.error = null; + } + + /** + * Create an immutable state. This Constructor CAN be used anytime you want the state to be saved. + * + * @param key - The key of the state. + * @param value - The value of the state. + * @param etag - The etag of the state - for some state stores (like redis) only numbers are supported. + * @param metadata - The metadata of the state. + * @param options - REQUIRED when saving a state. + */ + public State(String key, T value, String etag, Map metadata, StateOptions options) { + this.value = value; + this.key = key; + this.etag = etag; + this.metadata = metadata; + this.options = options; + this.error = null; + } + + /** + * Create an immutable state. This Constructor CAN be used anytime you want the state to be saved. + * + * @param key - The key of the state. + * @param value - The value of the state. + * @param etag - The etag of the state - some state stores (like redis) only numbers are supported. + */ + public State(String key, T value, String etag) { + this.value = value; + this.key = key; + this.etag = etag; + this.metadata = null; + this.options = null; + this.error = null; + } + + /** + * Retrieves the Value of the state. + * + * @return The value of the state + */ + public T getValue() { + return value; + } + + /** + * Retrieves the Key of the state. + * + * @return The key of the state + */ + public String getKey() { + return key; + } + + /** + * Retrieve the ETag of this state. + * + * @return The etag of the state + */ + public String getEtag() { + return etag; + } + + /** + * Retrieve the metadata of this state. + * + * @return the metadata of this state + */ + public Map getMetadata() { + return metadata; + } + + /** + * Retrieve the Options used for saving the state. + * + * @return The options to save the state + */ + public StateOptions getOptions() { + return options; + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/StateOptions.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/StateOptions.java new file mode 100644 index 0000000000..a65b044269 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/StateOptions.java @@ -0,0 +1,77 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain.state; + +public class StateOptions { + private final Consistency consistency; + private final Concurrency concurrency; + + /** + * Represents options for a state API call. + * @param consistency The consistency mode. + * @param concurrency The concurrency mode. + */ + public StateOptions(Consistency consistency, Concurrency concurrency) { + this.consistency = consistency; + this.concurrency = concurrency; + } + + public Concurrency getConcurrency() { + return concurrency; + } + + public Consistency getConsistency() { + return consistency; + } + + public enum Consistency { + EVENTUAL("eventual"), + STRONG("strong"); + + private final String value; + + Consistency(String value) { + this.value = value; + } + + public String getValue() { + return this.value; + } + + public static Consistency fromValue(String value) { + return Consistency.valueOf(value); + } + } + + public enum Concurrency { + FIRST_WRITE("first-write"), + LAST_WRITE("last-write"); + + private final String value; + + Concurrency(String value) { + this.value = value; + } + + public String getValue() { + return this.value; + } + + public static Concurrency fromValue(String value) { + return Concurrency.valueOf(value); + } + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/TransactionalStateOperation.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/TransactionalStateOperation.java new file mode 100644 index 0000000000..cd962bcf32 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/TransactionalStateOperation.java @@ -0,0 +1,53 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain.state; + +public class TransactionalStateOperation { + + /** + * The type of operation to be executed. + */ + private final OperationType operation; + + /** + * State values to be operated on. + */ + private final State request; + + /** + * Construct an immutable transactional state operation object. + * + * @param operationType The type of operation done. + * @param state The required state. + */ + public TransactionalStateOperation(OperationType operationType, State state) { + this.operation = operationType; + this.request = state; + } + + public OperationType getOperation() { + return operation; + } + + public State getRequest() { + return request; + } + + public enum OperationType { + UPSERT, + DELETE + } +} diff --git a/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/TransactionalStateRequest.java b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/TransactionalStateRequest.java new file mode 100644 index 0000000000..fde7fc4bd3 --- /dev/null +++ b/sdk/java-sdk/sdk/src/main/java/spec/sdk/runtime/v1/domain/state/TransactionalStateRequest.java @@ -0,0 +1,52 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package spec.sdk.runtime.v1.domain.state; + +import java.util.Collections; +import java.util.List; +import java.util.Map; + +public class TransactionalStateRequest { + + /** + * Transactional operations list. + */ + private final List> operations; + + /** + * Metadata used for transactional operations. + */ + private final Map metadata; + + /** + * Constructor to create immutable transactional state request object. + * + * @param operations List of operations to be performed. + * @param metadata Metadata used for transactional operations. + */ + public TransactionalStateRequest(List> operations, Map metadata) { + this.operations = operations; + this.metadata = metadata; + } + + public List> getOperations() { + return Collections.unmodifiableList(operations); + } + + public Map getMetadata() { + return metadata; + } +} diff --git a/sdk/java-sdk/sdk/src/test/java/io/mosn/layotto/v1/RuntimeClientBuilderTest.java b/sdk/java-sdk/sdk/src/test/java/io/mosn/layotto/v1/RuntimeClientBuilderTest.java new file mode 100644 index 0000000000..02f73803f6 --- /dev/null +++ b/sdk/java-sdk/sdk/src/test/java/io/mosn/layotto/v1/RuntimeClientBuilderTest.java @@ -0,0 +1,58 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +// CODE ATTRIBUTION: https://github.com/dapr/java-sdk +// Modified some test cases to test layotto's code +package io.mosn.layotto.v1; + +import io.mosn.layotto.v1.serializer.ObjectSerializer; +import org.junit.Assert; +import org.junit.Test; +import spec.sdk.runtime.v1.client.RuntimeClient; + +import static org.mockito.Mockito.mock; + +public class RuntimeClientBuilderTest { + + @Test + public void build() { + ObjectSerializer stateSerializer = mock(ObjectSerializer.class); + RuntimeClientBuilder builder = new RuntimeClientBuilder(); + builder.withStateSerializer(stateSerializer); + RuntimeClient client = builder.build(); + Assert.assertNotNull(client); + } + + @Test(expected = IllegalArgumentException.class) + public void noLogger() { + new RuntimeClientBuilder().withLogger(null); + } + + @Test(expected = IllegalArgumentException.class) + public void noTimeout() { + new RuntimeClientBuilder().withTimeout(0); + } + + @Test(expected = IllegalArgumentException.class) + public void noPort() { + new RuntimeClientBuilder().withPort(0); + } + + @Test(expected = IllegalArgumentException.class) + public void noStateSerializer() { + new RuntimeClientBuilder().withStateSerializer(null); + } + +} diff --git a/sdk/java-sdk/sdk/src/test/java/io/mosn/layotto/v1/serializer/JSONSerializerTest.java b/sdk/java-sdk/sdk/src/test/java/io/mosn/layotto/v1/serializer/JSONSerializerTest.java new file mode 100644 index 0000000000..4a1b517abc --- /dev/null +++ b/sdk/java-sdk/sdk/src/test/java/io/mosn/layotto/v1/serializer/JSONSerializerTest.java @@ -0,0 +1,424 @@ +/* + * Copyright 2021 Layotto Authors + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +// CODE ATTRIBUTION: https://github.com/dapr/java-sdk +// Modified some test cases to test layotto's code +package io.mosn.layotto.v1.serializer; + +import org.junit.Assert; +import org.junit.Test; +import spec.proto.runtime.v1.RuntimeProto; + +import java.io.IOException; +import java.io.Serializable; +import java.util.Base64; +import java.util.List; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + +public class JSONSerializerTest { + + private static final ObjectSerializer SERIALIZER = new JSONSerializer(); + + public static class MyObjectTestToSerialize implements Serializable { + private String stringValue; + private int intValue; + private boolean boolValue; + private char charValue; + private byte byteValue; + private short shortValue; + private long longValue; + private float floatValue; + private double doubleValue; + + public String getStringValue() { + return stringValue; + } + + public void setStringValue(String stringValue) { + this.stringValue = stringValue; + } + + public int getIntValue() { + return intValue; + } + + public void setIntValue(int intValue) { + this.intValue = intValue; + } + + public boolean isBoolValue() { + return boolValue; + } + + public void setBoolValue(boolean boolValue) { + this.boolValue = boolValue; + } + + public char getCharValue() { + return charValue; + } + + public void setCharValue(char charValue) { + this.charValue = charValue; + } + + public byte getByteValue() { + return byteValue; + } + + public void setByteValue(byte byteValue) { + this.byteValue = byteValue; + } + + public short getShortValue() { + return shortValue; + } + + public void setShortValue(short shortValue) { + this.shortValue = shortValue; + } + + public long getLongValue() { + return longValue; + } + + public void setLongValue(long longValue) { + this.longValue = longValue; + } + + public float getFloatValue() { + return floatValue; + } + + public void setFloatValue(float floatValue) { + this.floatValue = floatValue; + } + + public double getDoubleValue() { + return doubleValue; + } + + public void setDoubleValue(double doubleValue) { + this.doubleValue = doubleValue; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof MyObjectTestToSerialize)) { + return false; + } + + MyObjectTestToSerialize that = (MyObjectTestToSerialize) o; + + if (getIntValue() != that.getIntValue()) { + return false; + } + if (isBoolValue() != that.isBoolValue()) { + return false; + } + if (getCharValue() != that.getCharValue()) { + return false; + } + if (getByteValue() != that.getByteValue()) { + return false; + } + if (getShortValue() != that.getShortValue()) { + return false; + } + if (getLongValue() != that.getLongValue()) { + return false; + } + if (Float.compare(that.getFloatValue(), getFloatValue()) != 0) { + return false; + } + if (Double.compare(that.getDoubleValue(), getDoubleValue()) != 0) { + return false; + } + if (getStringValue() != null ? !getStringValue().equals(that.getStringValue()) : that.getStringValue() != null) { + return false; + } + + return true; + } + + @Override + public int hashCode() { + int result; + long temp; + result = getStringValue() != null ? getStringValue().hashCode() : 0; + result = 31 * result + getIntValue(); + result = 31 * result + (isBoolValue() ? 1 : 0); + result = 31 * result + (int) getCharValue(); + result = 31 * result + (int) getByteValue(); + result = 31 * result + (int) getShortValue(); + result = 31 * result + (int) (getLongValue() ^ (getLongValue() >>> 32)); + result = 31 * result + (getFloatValue() != +0.0f ? Float.floatToIntBits(getFloatValue()) : 0); + temp = Double.doubleToLongBits(getDoubleValue()); + result = 31 * result + (int) (temp ^ (temp >>> 32)); + return result; + } + + @Override + public String toString() { + return "MyObjectTestToSerialize{" + + "stringValue='" + stringValue + '\'' + + ", intValue=" + intValue + + ", boolValue=" + boolValue + + ", charValue=" + charValue + + ", byteValue=" + byteValue + + ", shortValue=" + shortValue + + ", longValue=" + longValue + + ", floatValue=" + floatValue + + ", doubleValue=" + doubleValue + + '}'; + } + } + + @Test + public void serializeStringObjectTest() { + MyObjectTestToSerialize obj = new MyObjectTestToSerialize(); + obj.setStringValue("A String"); + obj.setIntValue(2147483647); + obj.setBoolValue(true); + obj.setCharValue('a'); + obj.setByteValue((byte) 65); + obj.setShortValue((short) 32767); + obj.setLongValue(9223372036854775807L); + obj.setFloatValue(1.0f); + obj.setDoubleValue(1000.0); + String expectedResult = "{\"boolValue\":true,\"byteValue\":65,\"charValue\":\"a\",\"doubleValue\":1000.0,\"floatValue\":1.0," + + "\"intValue\":2147483647,\"longValue\":9223372036854775807,\"shortValue\":32767,\"stringValue\":\"A String\"}"; + + String serializedValue; + try { + serializedValue = new String(SERIALIZER.serialize(obj)); + assertEquals("FOUND:[[" + serializedValue + "]] \n but was EXPECTING: [[" + expectedResult + "]]", expectedResult, + serializedValue); + } catch (IOException exception) { + fail(exception.getMessage()); + } + } + + @Test + public void serializeObjectTest() { + MyObjectTestToSerialize obj = new MyObjectTestToSerialize(); + obj.setStringValue("A String"); + obj.setIntValue(2147483647); + obj.setBoolValue(true); + obj.setCharValue('a'); + obj.setByteValue((byte) 65); + obj.setShortValue((short) 32767); + obj.setLongValue(9223372036854775807L); + obj.setFloatValue(1.0f); + obj.setDoubleValue(1000.0); + //String expectedResult = "{\"stringValue\":\"A String\",\"intValue\":2147483647,\"boolValue\":true,\"charValue\":\"a\", + // \"byteValue\":65,\"shortValue\":32767,\"longValue\":9223372036854775807,\"floatValue\":1.0,\"doubleValue\":1000.0}"; + + byte[] serializedValue; + try { + serializedValue = SERIALIZER.serialize(obj); + Assert.assertNotNull(serializedValue); + MyObjectTestToSerialize deserializedValue = SERIALIZER.deserialize(serializedValue, MyObjectTestToSerialize.class); + assertEquals(obj, deserializedValue); + } catch (IOException exception) { + fail(exception.getMessage()); + } + + try { + serializedValue = SERIALIZER.serialize(obj); + Assert.assertNotNull(serializedValue); + MyObjectTestToSerialize deserializedValue = SERIALIZER.deserialize(serializedValue, MyObjectTestToSerialize.class); + assertEquals(obj, deserializedValue); + } catch (IOException exception) { + fail(exception.getMessage()); + } + } + + @Test + public void serializeNullTest() { + + byte[] byteSerializedValue; + try { + byteSerializedValue = SERIALIZER.serialize(null); + Assert.assertNull(byteSerializedValue); + } catch (IOException exception) { + fail(exception.getMessage()); + } + } + + @Test + public void serializeStringTest() { + String valueToSerialize = "A String"; + String expectedSerializedValue = "\"A String\""; + + String serializedValue; + byte[] byteValue; + try { + serializedValue = new String(SERIALIZER.serialize(valueToSerialize)); + assertEquals(expectedSerializedValue, serializedValue); + byteValue = SERIALIZER.serialize(valueToSerialize); + Assert.assertNotNull(byteValue); + String deserializedValue = SERIALIZER.deserialize(byteValue, String.class); + assertEquals(valueToSerialize, deserializedValue); + } catch (IOException exception) { + fail(exception.getMessage()); + } + } + + @Test + public void serializeIntTest() { + Integer valueToSerialize = 1; + String expectedResult = valueToSerialize.toString(); + + String serializedValue; + byte[] byteValue; + try { + serializedValue = new String(SERIALIZER.serialize(valueToSerialize.intValue())); + assertEquals(expectedResult, serializedValue); + byteValue = SERIALIZER.serialize(valueToSerialize); + Assert.assertNotNull(byteValue); + Integer deserializedValue = SERIALIZER.deserialize(byteValue, Integer.class); + assertEquals(valueToSerialize, deserializedValue); + } catch (IOException exception) { + fail(exception.getMessage()); + } + } + + @Test + public void serializeShortTest() { + Short valueToSerialize = 1; + String expectedResult = valueToSerialize.toString(); + + String serializedValue; + byte[] byteValue; + try { + serializedValue = new String(SERIALIZER.serialize(valueToSerialize.shortValue())); + assertEquals(expectedResult, serializedValue); + byteValue = SERIALIZER.serialize(valueToSerialize); + Assert.assertNotNull(byteValue); + Short deserializedValue = SERIALIZER.deserialize(byteValue, Short.class); + assertEquals(valueToSerialize, deserializedValue); + } catch (IOException exception) { + fail(exception.getMessage()); + } + } + + @Test + public void serializeLongTest() { + Long valueToSerialize = Long.MAX_VALUE; + String expectedResult = valueToSerialize.toString(); + + String serializedValue; + byte[] byteValue; + try { + serializedValue = new String(SERIALIZER.serialize(valueToSerialize.longValue())); + assertEquals(expectedResult, serializedValue); + byteValue = SERIALIZER.serialize(valueToSerialize); + Assert.assertNotNull(byteValue); + Long deserializedValue = SERIALIZER.deserialize(byteValue, Long.class); + assertEquals(valueToSerialize, deserializedValue); + } catch (IOException exception) { + fail(exception.getMessage()); + } + } + + @Test + public void serializeFloatTest() { + Float valueToSerialize = -1.23456f; + String expectedResult = valueToSerialize.toString(); + + String serializedValue; + byte[] byteValue; + try { + serializedValue = new String(SERIALIZER.serialize(valueToSerialize.floatValue())); + assertEquals(expectedResult, serializedValue); + byteValue = SERIALIZER.serialize(valueToSerialize); + Assert.assertNotNull(byteValue); + Float deserializedValue = SERIALIZER.deserialize(byteValue, Float.class); + assertEquals(valueToSerialize, deserializedValue, 0.00000000001); + } catch (IOException exception) { + fail(exception.getMessage()); + } + } + + @Test + public void serializeDoubleTest() { + Double valueToSerialize = 1.0; + String expectedResult = valueToSerialize.toString(); + + String serializedValue; + byte[] byteValue; + try { + serializedValue = new String(SERIALIZER.serialize(valueToSerialize.doubleValue())); + assertEquals(expectedResult, serializedValue); + byteValue = SERIALIZER.serialize(valueToSerialize); + Assert.assertNotNull(byteValue); + Double deserializedValue = SERIALIZER.deserialize(byteValue, Double.class); + assertEquals(valueToSerialize, deserializedValue); + } catch (IOException exception) { + fail(exception.getMessage()); + } + } + + @Test + public void serializeBooleanTest() { + Boolean valueToSerialize = true; + String expectedResult = valueToSerialize.toString(); + + String serializedValue; + byte[] byteValue; + try { + serializedValue = new String(SERIALIZER.serialize(valueToSerialize.booleanValue())); + assertEquals(expectedResult, serializedValue); + byteValue = SERIALIZER.serialize(valueToSerialize); + Assert.assertNotNull(byteValue); + Boolean deserializedValue = SERIALIZER.deserialize(byteValue, Boolean.class); + assertEquals(valueToSerialize, deserializedValue); + } catch (IOException exception) { + fail(exception.getMessage()); + } + } + + @Test + public void deserializeObjectTest() { + String jsonToDeserialize + = "{\"stringValue\":\"A String\",\"intValue\":2147483647,\"boolValue\":true,\"charValue\":\"a\",\"byteValue\":65," + + "\"shortValue\":32767,\"longValue\":9223372036854775807,\"floatValue\":1.0,\"doubleValue\":1000.0}"; + MyObjectTestToSerialize expectedResult = new MyObjectTestToSerialize(); + expectedResult.setStringValue("A String"); + expectedResult.setIntValue(2147483647); + expectedResult.setBoolValue(true); + expectedResult.setCharValue('a'); + expectedResult.setByteValue((byte) 65); + expectedResult.setShortValue((short) 32767); + expectedResult.setLongValue(9223372036854775807L); + expectedResult.setFloatValue(1.0f); + expectedResult.setDoubleValue(1000.0); + MyObjectTestToSerialize result; + + try { + result = SERIALIZER.deserialize(jsonToDeserialize.getBytes(), MyObjectTestToSerialize.class); + assertEquals("The expected value is different than the actual result", expectedResult, result); + } catch (IOException exception) { + fail(exception.getMessage()); + } + } + +} From 42b41d92e662c3c79f88dd2076667090b633dc30 Mon Sep 17 00:00:00 2001 From: wenxuwan Date: Fri, 22 Oct 2021 11:04:13 +0800 Subject: [PATCH 2/4] Change quick start doc more readable (#274) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * upgrade go.mod version * try to make doc more readable * change doc more readable * add go.sum back * update Co-authored-by: 文徐 --- components/go.mod | 7 --- components/go.sum | 91 ------------------------------------- docs/en/start/faas/start.md | 17 ++++++- docs/zh/start/faas/start.md | 23 ++++++++-- go.sum | 21 --------- 5 files changed, 34 insertions(+), 125 deletions(-) diff --git a/components/go.mod b/components/go.mod index a392c46aab..3356dc09f1 100644 --- a/components/go.mod +++ b/components/go.mod @@ -14,20 +14,13 @@ require ( github.com/go-redis/redis/v8 v8.8.0 github.com/go-zookeeper/zk v1.0.2 github.com/golang/mock v1.4.4 - github.com/google/go-cmp v0.5.6 // indirect github.com/google/uuid v1.2.0 - github.com/lyft/protoc-gen-validate v0.0.14 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect github.com/minio/minio-go/v6 v6.0.57 github.com/mitchellh/mapstructure v1.3.3 // indirect - github.com/mosn/binding v0.0.0-20200413092018-2b47bdb20a9f // indirect - github.com/mosn/easygo v0.0.0-20201210062404-62796fdb3827 // indirect - github.com/mosn/registry v0.0.0-20210108061200-d7b63bc1904b // indirect - github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect github.com/sirupsen/logrus v1.8.1 // indirect github.com/spf13/afero v1.2.2 // indirect github.com/stretchr/testify v1.7.0 - github.com/tetratelabs/proxy-wasm-go-sdk v0.0.13 // indirect github.com/valyala/fasthttp v1.26.0 github.com/yuin/gopher-lua v0.0.0-20200603152657-dc2b0ca8b37e // indirect github.com/zouyx/agollo/v4 v4.0.7 diff --git a/components/go.sum b/components/go.sum index 3661f282a1..34dbe0a874 100644 --- a/components/go.sum +++ b/components/go.sum @@ -36,11 +36,8 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9 dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a/go.mod h1:EXuID2Zs0pAQhH8yz+DNjUbjppKQzKFAn28TMYPB6IU= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= -github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/HdrHistogram/hdrhistogram-go v1.0.1/go.mod h1:BWJ+nMSHY3L41Zj7CA3uXnloDp7xxV0YvstAE7nKTaM= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= @@ -50,11 +47,8 @@ github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdko github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/SkyAPM/go2sky v0.5.0/go.mod h1:TANzYw5EvIlTidGWvQxtvO87rM6C746HkM0xkWqnPQw= -github.com/SkyAPM/go2sky v0.5.0/go.mod h1:TANzYw5EvIlTidGWvQxtvO87rM6C746HkM0xkWqnPQw= -github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= github.com/TarsCloud/TarsGo v1.1.4/go.mod h1:jkslu43B0kZitq9ztCH6ZM6l4rCKGkMjdqEPjHoOdjc= -github.com/TarsCloud/TarsGo v1.1.4/go.mod h1:jkslu43B0kZitq9ztCH6ZM6l4rCKGkMjdqEPjHoOdjc= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -128,7 +122,6 @@ github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n github.com/cch123/supermonkey v1.0.1-0.20210420090843-d792ef7fb1d7 h1:xHChircGFQ0zWXz18K9sl/3UCuxYXxmgshNmmjShoUc= github.com/cch123/supermonkey v1.0.1-0.20210420090843-d792ef7fb1d7/go.mod h1:d5jXTCyG6nu/pu0vYmoC0P/l0eBGesv3oQQ315uNBOA= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= -github.com/census-instrumentation/opencensus-proto v0.2.1 h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054 h1:uH66TXeswKn5PW5zdZ39xEwfS9an067BirqA+P4QaLI= @@ -142,10 +135,7 @@ github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5P github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403 h1:cqQfy1jclcSy/FwLjemeg3SR1yaINm74aQyupQ0Bl8M= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= @@ -157,8 +147,6 @@ github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f h1:o/kfcElHqOi github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= @@ -189,10 +177,8 @@ github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cu github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= github.com/dubbogo/getty v1.3.4/go.mod h1:36f+gH/ekaqcDWKbxNBQk9b9HXcGtaI6YHxp4YTntX8= -github.com/dubbogo/go-zookeeper v1.0.0/go.mod h1:fn6n2CAEer3novYgk9ULLwAjuV8/g4DdC2ENwRb6E+c= github.com/dubbogo/go-zookeeper v1.0.3/go.mod h1:fn6n2CAEer3novYgk9ULLwAjuV8/g4DdC2ENwRb6E+c= github.com/dubbogo/gost v1.5.2/go.mod h1:pPTjVyoJan3aPxBPNUX0ADkXjPibLo+/Ib0/fADXSG8= -github.com/dubbogo/gost v1.8.0/go.mod h1:pPTjVyoJan3aPxBPNUX0ADkXjPibLo+/Ib0/fADXSG8= github.com/dubbogo/gost v1.9.0/go.mod h1:pPTjVyoJan3aPxBPNUX0ADkXjPibLo+/Ib0/fADXSG8= github.com/dubbogo/gost v1.11.11/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI= github.com/dubbogo/gost v1.11.16 h1:fvOw8aKQ0BuUYuD+MaXAYFvT7tg2l7WAS5SL5gZJpFs= @@ -200,16 +186,12 @@ github.com/dubbogo/gost v1.11.16/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZT github.com/dubbogo/jsonparser v1.0.1/go.mod h1:tYAtpctvSP/tWw4MeelsowSPgXQRVHHWbqL6ynps8jU= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= -github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -221,11 +203,8 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7 github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fastly/go-utils v0.0.0-20180712184237-d95a45783239/go.mod h1:Gdwt2ce0yfBxPvZrHkprdPPTTS3N5rwmLE8T22KBXlw= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.3+incompatible h1:7ZaBxOI7TMoYBfyA3cQHErNNyAWIKUMIwqxEtgHOs5c= -github.com/form3tech-oss/jwt-go v3.2.3+incompatible h1:7ZaBxOI7TMoYBfyA3cQHErNNyAWIKUMIwqxEtgHOs5c= -github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= @@ -272,7 +251,6 @@ github.com/go-zookeeper/zk v1.0.2 h1:4mx0EYENAdX/B/rbunjlt5+4RTA/a9SMHBRuSKdGxPM github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -418,7 +396,6 @@ github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ= github.com/jackc/pgx v3.6.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= github.com/jehiah/go-strftime v0.0.0-20171201141054-1d33003b3869/go.mod h1:cJ6Cj7dQo+O6GJNiMx+Pa94qKj+TG8ONdKHgMNIyyag= -github.com/jinzhu/copier v0.0.0-20190924061706-b57f9002281a/go.mod h1:yL958EeXv8Ylng6IfnvG4oflryUi3vgA3xPs9hmII1s= github.com/jinzhu/copier v0.3.2/go.mod h1:24xnZezI2Yqac9J61UC6/dG/k76ttpq0DdJI3QmUvro= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= @@ -500,37 +477,25 @@ github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-b github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= github.com/lunixbochs/vtclean v0.0.0-20160125035106-4fbf7632a2c6/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= -github.com/lyft/protoc-gen-validate v0.0.14/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= -github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/masterzen/azure-sdk-for-go v3.2.0-beta.0.20161014135628-ee4f0065d00c+incompatible/go.mod h1:mf8fjOu33zCqxUjuiU3I8S1lJMyEAlH+0F2+M5xl3hE= github.com/masterzen/simplexml v0.0.0-20160608183007-4572e39b1ab9/go.mod h1:kCEbxUJlNDEBNbdQMkPSp6yaKcRXVI6f4ddk8Riv4bc= github.com/masterzen/winrm v0.0.0-20161014151040-7a535cd943fc/go.mod h1:CfZSN7zwz5gJiFhZJz49Uzk7mEBHIceWmbFmYx7Hf7E= github.com/masterzen/xmlpath v0.0.0-20140218185901-13f4951698ad/go.mod h1:A0zPC53iKKKcXYxr4ROjpQRQ5FgJXtelNdSmHHuq/tY= github.com/mattn/go-colorable v0.0.6/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-isatty v0.0.0-20160806122752-66b8e73f3f5c/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/miekg/dns v1.0.14 h1:9jZdLNd/P4+SfEJ0TNyxYpsK8N4GtfylBLqtbYN1sbA= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.25 h1:dFwPR6SfLtrSwgDcIq2bcU/gVutB4sNApq2HBdqcakg= github.com/miekg/dns v1.1.25/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= @@ -559,10 +524,6 @@ github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lN github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/mosn/binding v0.0.0-20200413092018-2b47bdb20a9f/go.mod h1:V3v+y3rlpXDKXBld0Jvz2I3p3gHp8BE6NToiQUuLC7g= -github.com/mosn/easygo v0.0.0-20201210062404-62796fdb3827 h1:if2FJYhGEqXRGkRbG9sKGYfp37NI+Ch/C6lr11jkCv8= -github.com/mosn/easygo v0.0.0-20201210062404-62796fdb3827/go.mod h1:JlOHLcQTwc0Gvi2DZfQ2hMAj6Z73lQhkRrsxuawL9uE= -github.com/mosn/registry v0.0.0-20210108061200-d7b63bc1904b/go.mod h1:sO2+AtmZqId1+8FHeuSPkPBmuin66YFKuOU3yqh3zGo= github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -576,7 +537,6 @@ github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzE github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d/go.mod h1:YUTz3bUH2ZwIWBy3CJBeOBEugqcmXREj14T+iG/4k4U= github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= @@ -586,8 +546,6 @@ github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -606,21 +564,16 @@ github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentrx/seata-golang/v2 v2.0.4/go.mod h1:uVMIDsvM4NBQXoZgtfHleBGrAqwkUry3jD3cf/JYi9k= github.com/openzipkin-contrib/zipkin-go-opentracing v0.3.5/go.mod h1:uVHyebswE1cCXr2A73cRM2frx5ld1RJUCJkFNZ90ZiI= -github.com/openzipkin-contrib/zipkin-go-opentracing v0.3.5/go.mod h1:uVHyebswE1cCXr2A73cRM2frx5ld1RJUCJkFNZ90ZiI= github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= -github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= @@ -638,14 +591,10 @@ github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndr github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= github.com/prometheus/client_golang v1.5.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.9.0/go.mod h1:FqZLKOZnGdFAhOK4nqGHa7D66IdsO+O441Eve7ptJDU= github.com/prometheus/client_golang v1.11.0 h1:HNkLOAEQMIDv/K+04rukrLx6ch7msSRwf3/SASFAGtQ= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= @@ -659,29 +608,17 @@ github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6T github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.26.0 h1:iMAkS2TDoNWnKM+Kopnx/8tnEStIfpYA0ur0xQzzhMQ= -github.com/prometheus/common v0.26.0 h1:iMAkS2TDoNWnKM+Kopnx/8tnEStIfpYA0ur0xQzzhMQ= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= @@ -759,13 +696,8 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tebeka/strftime v0.1.3/go.mod h1:7wJm3dZlpr4l/oVK0t1HYIc4rMzQ2XJlOMIUJUJH6XQ= -github.com/tetratelabs/proxy-wasm-go-sdk v0.0.13/go.mod h1:y1ZQT4bQEBnR8Do4nSOzb3roczzPvcAp8UrF6NEYWNY= -github.com/tevid/gohamcrest v1.1.1 h1:ou+xSqlIw1xfGTg1uq1nif/htZ2S3EzRqLm2BP+tYU0= -github.com/tevid/gohamcrest v1.1.1 h1:ou+xSqlIw1xfGTg1uq1nif/htZ2S3EzRqLm2BP+tYU0= github.com/tevid/gohamcrest v1.1.1 h1:ou+xSqlIw1xfGTg1uq1nif/htZ2S3EzRqLm2BP+tYU0= github.com/tevid/gohamcrest v1.1.1/go.mod h1:3UvtWlqm8j5JbwYZh80D/PVBt0mJ1eJiYgZMibh0H/k= -github.com/tevid/gohamcrest v1.1.1/go.mod h1:3UvtWlqm8j5JbwYZh80D/PVBt0mJ1eJiYgZMibh0H/k= -github.com/tevid/gohamcrest v1.1.1/go.mod h1:3UvtWlqm8j5JbwYZh80D/PVBt0mJ1eJiYgZMibh0H/k= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20200427203606-3cfed13b9966/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= @@ -777,11 +709,8 @@ github.com/trainyao/go-maglev v0.0.0-20200611125015-4c1ae64d96a8/go.mod h1:VBsRn github.com/uber/jaeger-client-go v2.25.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-lib v2.4.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= -github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= -github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= @@ -884,7 +813,6 @@ go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9i go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -go.uber.org/zap v1.14.1/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ= go.uber.org/zap v1.17.0 h1:MTjgFu6ZLKvY6Pvaqk97GlxNBuMpV4Hy/3P6tRGlI2U= @@ -893,23 +821,15 @@ golang.org/x/arch v0.0.0-20200826200359-b19915210f00 h1:cfd5G6xu8iZTFmjBYVemyBmE golang.org/x/arch v0.0.0-20200826200359-b19915210f00/go.mod h1:flIaEI6LNU6xOCD5PaJvn9wGP0agmIOqjrtsKGRguv4= golang.org/x/crypto v0.0.0-20180214000028-650f4a345ab4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -1039,12 +959,7 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1109,10 +1024,7 @@ golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba h1:O8mE0/t419eoIwhTFpKVkHiTs/Igowgfkj25AcZrtiE= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba h1:O8mE0/t419eoIwhTFpKVkHiTs/Igowgfkj25AcZrtiE= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1287,8 +1199,6 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EV gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v1 v1.0.0-20161222125816-442357a80af5/go.mod h1:u0ALmqvLRxLI95fkdCEWrE6mhWYZW1aMOJHp5YXLHTg= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/httprequest.v1 v1.1.1/go.mod h1:/CkavNL+g3qLOrpFHVrEx4NKepeqR4XTZWNj4sGGjz0= @@ -1297,7 +1207,6 @@ gopkg.in/ini.v1 v1.42.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/mgo.v2 v2.0.0-20160818015218-f2b6f6c918c4/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= -gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 h1:VpOs+IwYnYBaFnrNAeB8UUWtL3vEUnzSCL1nVjPhqrw= gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= diff --git a/docs/en/start/faas/start.md b/docs/en/start/faas/start.md index ad6d2b2886..d6b2dcc48d 100644 --- a/docs/en/start/faas/start.md +++ b/docs/en/start/faas/start.md @@ -20,7 +20,7 @@ The following software needs to be installed to run this demo: 3. [virtualbox](https://www.virtualbox.org/) - Download the installation package from the official website and install it. You can also use [homebrew](https://brew.sh/) to install it on mac. + Download the installation package from the official website and install it. You can also use [homebrew](https://brew.sh/) to install it on mac.If the startup fails after installation, please refer to [The host-only adapter we just created is not visible](https://github.com/kubernetes/minikube/issues/3614). ### 3. Setup @@ -33,7 +33,7 @@ The example only needs a Redis server that can be used normally. As for where it > brew install redis > redis-server /usr/local/etc/redis.conf ``` -**Note: If you want external services to connect to redis, you need to modify the protected-mode in redis.conf to no.** +**Note: If you want external services to connect to redis, you need to modify the protected-mode in redis.conf to no,At the same time, add bind * -::* to let it monitor all interfaces.** #### B、Start minikube in virtualbox + containerd mode ``` @@ -62,6 +62,7 @@ The example only needs a Redis server that can be used normally. As for where it > cd containerd-wasm > sh build.sh > minikube cp containerd-shim-layotto-v2 /home/docker/containerd-shim-layotto-v2 +> minikube ssh > sudo chmod +x containerd-shim-layotto-v2 > sudo mv containerd-shim-layotto-v2 /usr/bin/ ``` @@ -70,6 +71,7 @@ The example only needs a Redis server that can be used normally. As for where it Add laytto runtime configuration. ``` +> minikube ssh > sudo vi /etc/containerd/config.toml [plugins.cri.containerd.runtimes.layotto] runtime_type = "io.containerd.layotto.v2" @@ -101,6 +103,7 @@ runtimeclass.node.k8s.io/layotto created ``` #### C、Create Function +This operation will automatically inject function_1.wasm and function_2.wasm into the Virtualbox virtual machine. ``` > kubectl apply -f ./demo/faas/function-1.yaml pod/function-1 created @@ -134,6 +137,16 @@ There are 100 inventories for book1. 3. func2 calls redis through Runtime ABI 4. Return results +### Common problem description + +1. Virtualbox failed to start, "The host-only adapter we just created is not visible": + + refer [The host-only adapter we just created is not visible](https://github.com/kubernetes/minikube/issues/3614) + +2. When Layotto is started, the redis connection fails, and "occurs an error: redis store: error connecting to redis at" is printed: + + Check the redis configuration to see if it is caused by a redis configuration error. + ### 6. Note The FaaS model is currently in the POC stage, and the features are not complete. It will be improved in the following aspects in the future: diff --git a/docs/zh/start/faas/start.md b/docs/zh/start/faas/start.md index ba89b39237..c9f1635e87 100644 --- a/docs/zh/start/faas/start.md +++ b/docs/zh/start/faas/start.md @@ -20,7 +20,7 @@ Layotto支持加载并运行以 wasm 为载体的 Function,并支持Function 3. [virtualbox](https://www.virtualbox.org/) - 直接官网下载安装包安装即可,mac下也可以使用 [homebrew](https://brew.sh/) 进行安装。 + 直接官网下载安装包安装即可,mac下也可以使用 [homebrew](https://brew.sh/) 进行安装。安装完以后如果启动失败,请参考[The host-only adapter we just created is not visible](https://github.com/kubernetes/minikube/issues/3614) ### 三、环境搭建 @@ -33,7 +33,7 @@ Layotto支持加载并运行以 wasm 为载体的 Function,并支持Function > brew install redis > redis-server /usr/local/etc/redis.conf ``` -注:如果想让外部服务连接 redis, 需要把 redis.conf 中的 protected-mode 修改为 no. +注:如果redis安装在本机器,Virtualbox内的虚拟机是无法访问到redis的, 需要把 redis.conf 中的 protected-mode 修改为 no.同时增加 bind * -::*, 让其监听所有接口。 #### B、以 virtualbox + containerd 模式启动 minikube ``` @@ -51,9 +51,9 @@ Layotto支持加载并运行以 wasm 为载体的 Function,并支持Function > sudo chmod +x layotto > sudo mv layotto /usr/bin/ ``` -**注1:需要把`./demo/faas/config.json`中的 redis 地址修改为实际地址,默认地址为:localhost:6379。** +**注1:需要把`./demo/faas/config.json`中的 redis 地址修改为实际地址(安装redis的宿主机ip),默认地址为:localhost:6379。** -**注2:需要把`./demo/faas/config.json`中的 wasm 文件的路径修改为`/home/docker/function_1.wasm`跟`/home/docker/function_2.wasm`** +**注2:需要把`./demo/faas/config.json`中的 wasm 文件的路径修改为`/home/docker/function_1.wasm`跟`/home/docker/function_2.wasm`, 两个wasm文件在后面会被自动注入。** #### D、安装 containerd-shim-layotto-v2 @@ -62,6 +62,7 @@ Layotto支持加载并运行以 wasm 为载体的 Function,并支持Function > cd containerd-wasm > sh build.sh > minikube cp containerd-shim-layotto-v2 /home/docker/containerd-shim-layotto-v2 +> minikube ssh > sudo chmod +x containerd-shim-layotto-v2 > sudo mv containerd-shim-layotto-v2 /usr/bin/ ``` @@ -70,6 +71,7 @@ Layotto支持加载并运行以 wasm 为载体的 Function,并支持Function 增加 laytto 运行时的配置。 ``` +> minikube ssh > sudo vi /etc/containerd/config.toml [plugins.cri.containerd.runtimes.layotto] runtime_type = "io.containerd.layotto.v2" @@ -102,6 +104,7 @@ runtimeclass.node.k8s.io/layotto created ``` #### C、创建 Function +该操作会将function_1.wasm和function_2.wasm自动注入到Virtualbox虚拟机中。 ``` > kubectl apply -f ./demo/faas/function-1.yaml pod/function-1 created @@ -135,6 +138,18 @@ There are 100 inventories for book1. 3. func2 通过 Runtime ABI 调用 redis 4. 依次返回结果 +### 常见问题说明 + +1.Virtualbox 启动失败,"The host-only adapter we just created is not visible": + +参考:[The host-only adapter we just created is not visible](https://github.com/kubernetes/minikube/issues/3614) + +2.启动Layotto时,redis连接失败,打印 "occurs an error: redis store: error connecting to redis at": + + 检查redis的配置,看是否redis配置错误造成的。 + + + ### 说明 目前整套 FaaS 模型处于 POC 阶段,功能还不够完善,后续会在以下几个方向上进一步探索完善: diff --git a/go.sum b/go.sum index 725404d819..0d045abe27 100644 --- a/go.sum +++ b/go.sum @@ -194,29 +194,17 @@ github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/ github.com/aws/aws-sdk-go v1.36.30 h1:hAwyfe7eZa7sM+S5mIJZFiNFwJMia9Whz6CYblioLoU= github.com/aws/aws-sdk-go v1.36.30/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= -github.com/aws/aws-sdk-go-v2 v1.9.1 h1:ZbovGV/qo40nrOJ4q8G33AGICzaPI45FHQWJ9650pF4= github.com/aws/aws-sdk-go-v2 v1.9.1/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= -github.com/aws/aws-sdk-go-v2/config v1.8.2 h1:Dqy4ySXFmulRmZhfynm/5CD4Y6aXiTVhDtXLIuUe/r0= github.com/aws/aws-sdk-go-v2/config v1.8.2/go.mod h1:r0bkX9NyuCuf28qVcsEMtpAQibT7gA1Q0gzkjvgJdLU= -github.com/aws/aws-sdk-go-v2/credentials v1.4.2 h1:8kVE4Og6wlhVrMGiORQ3p9gRj2exjzhFRB+QzWBUa5Q= github.com/aws/aws-sdk-go-v2/credentials v1.4.2/go.mod h1:9Sp6u121/f0NnvHyhG7dgoYeUTEFC2vsvJqJ6wXpkaI= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.5.1 h1:Nm+BxqBtT0r+AnD6byGMCGT4Km0QwHBy8mAYptNPXY4= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.5.1/go.mod h1:W1ldHfsgeGlKpJ4xZMKZUI6Wmp6EAstU7PxnhbXWWrI= -github.com/aws/aws-sdk-go-v2/internal/ini v1.2.3 h1:NnXJXUz7oihrSlPKEM0yZ19b+7GQ47MX/LluLlEyE/Y= github.com/aws/aws-sdk-go-v2/internal/ini v1.2.3/go.mod h1:EES9ToeC3h063zCFDdqWGnARExNdULPaBvARm1FLwxA= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.3.0 h1:gceOysEWNNwLd6cki65IMBZ4WAM0MwgBQq2n7kejoT8= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.3.0/go.mod h1:v8ygadNyATSm6elwJ/4gzJwcFhri9RqS8skgHKiwXPU= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.1 h1:APEjhKZLFlNVLATnA/TJyA+w1r/xd5r5ACWBDZ9aIvc= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.1/go.mod h1:Ve+eJOx9UWaT/lMVebnFhDhO49fSLVedHoA82+Rqme0= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.7.1 h1:YEz2KMyqK2zyG3uOa0l2xBc/H6NUVJir8FhwHQHF3rc= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.7.1/go.mod h1:yg4EN/BKoc7+DLhNOxxdvoO3+iyW2FuynvaKqLcLDUM= -github.com/aws/aws-sdk-go-v2/service/s3 v1.16.0 h1:dt1JQFj/135ozwGIWeCM3aQ8N/kB3Xu3Uu4r9zuOIyc= github.com/aws/aws-sdk-go-v2/service/s3 v1.16.0/go.mod h1:Tk23mCmfL3wb3tNIeMk/0diUZ0W4R6uZtjYKguMLW2s= -github.com/aws/aws-sdk-go-v2/service/sso v1.4.1 h1:RfgQyv3bFT2Js6XokcrNtTjQ6wAVBRpoCgTFsypihHA= github.com/aws/aws-sdk-go-v2/service/sso v1.4.1/go.mod h1:ycPdbJZlM0BLhuBnd80WX9PucWPG88qps/2jl9HugXs= -github.com/aws/aws-sdk-go-v2/service/sts v1.7.1 h1:7ce9ugapSgBapwLhg7AJTqKW5U92VRX3vX65k2tsB+g= github.com/aws/aws-sdk-go-v2/service/sts v1.7.1/go.mod h1:r1i8QwKPzwByXqZb3POQfBs7jozrdnHz8PVbsvyx73w= -github.com/aws/smithy-go v1.8.0 h1:AEwwwXQZtUwP5Mz506FeXXrKBe0jA8gVM+1gEcSRooc= github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4= github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f h1:ZNv7On9kyUzm7fvRZumSyy/IUiSC7AzL0I1jKKtwooA= @@ -351,10 +339,8 @@ github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDD github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dubbogo/getty v1.3.4/go.mod h1:36f+gH/ekaqcDWKbxNBQk9b9HXcGtaI6YHxp4YTntX8= -github.com/dubbogo/go-zookeeper v1.0.0/go.mod h1:fn6n2CAEer3novYgk9ULLwAjuV8/g4DdC2ENwRb6E+c= github.com/dubbogo/go-zookeeper v1.0.3/go.mod h1:fn6n2CAEer3novYgk9ULLwAjuV8/g4DdC2ENwRb6E+c= github.com/dubbogo/gost v1.5.2/go.mod h1:pPTjVyoJan3aPxBPNUX0ADkXjPibLo+/Ib0/fADXSG8= -github.com/dubbogo/gost v1.8.0/go.mod h1:pPTjVyoJan3aPxBPNUX0ADkXjPibLo+/Ib0/fADXSG8= github.com/dubbogo/gost v1.9.0/go.mod h1:pPTjVyoJan3aPxBPNUX0ADkXjPibLo+/Ib0/fADXSG8= github.com/dubbogo/gost v1.11.11/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI= github.com/dubbogo/gost v1.11.16 h1:fvOw8aKQ0BuUYuD+MaXAYFvT7tg2l7WAS5SL5gZJpFs= @@ -764,7 +750,6 @@ github.com/jcmturner/gofork v0.0.0-20190328161633-dc7c13fece03/go.mod h1:MK8+TM0 github.com/jcmturner/gofork v1.0.0 h1:J7uCkflzTEhUZ64xqKnkDxq3kzc96ajM1Gli5ktUem8= github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o= github.com/jehiah/go-strftime v0.0.0-20171201141054-1d33003b3869/go.mod h1:cJ6Cj7dQo+O6GJNiMx+Pa94qKj+TG8ONdKHgMNIyyag= -github.com/jinzhu/copier v0.0.0-20190924061706-b57f9002281a/go.mod h1:yL958EeXv8Ylng6IfnvG4oflryUi3vgA3xPs9hmII1s= github.com/jinzhu/copier v0.3.2/go.mod h1:24xnZezI2Yqac9J61UC6/dG/k76ttpq0DdJI3QmUvro= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= @@ -879,7 +864,6 @@ github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-b github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= github.com/lunixbochs/vtclean v0.0.0-20160125035106-4fbf7632a2c6/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= -github.com/lyft/protoc-gen-validate v0.0.14/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/machinebox/graphql v0.2.2/go.mod h1:F+kbVMHuwrQ5tYgU9JXlnskM8nOaFxCAEolaQybkjWA= github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= @@ -961,9 +945,6 @@ github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3Rllmb github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/mosn/binding v0.0.0-20200413092018-2b47bdb20a9f/go.mod h1:V3v+y3rlpXDKXBld0Jvz2I3p3gHp8BE6NToiQUuLC7g= -github.com/mosn/easygo v0.0.0-20201210062404-62796fdb3827/go.mod h1:JlOHLcQTwc0Gvi2DZfQ2hMAj6Z73lQhkRrsxuawL9uE= -github.com/mosn/registry v0.0.0-20210108061200-d7b63bc1904b/go.mod h1:sO2+AtmZqId1+8FHeuSPkPBmuin66YFKuOU3yqh3zGo= github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= @@ -1244,7 +1225,6 @@ github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69 github.com/supplyon/gremcos v0.1.0/go.mod h1:ZnXsXGVbGCYDFU5GLPX9HZLWfD+ZWkiPo30KUjNoOtw= github.com/tebeka/strftime v0.1.3/go.mod h1:7wJm3dZlpr4l/oVK0t1HYIc4rMzQ2XJlOMIUJUJH6XQ= github.com/testcontainers/testcontainers-go v0.9.0/go.mod h1:b22BFXhRbg4PJmeMVWh6ftqjyZHgiIl3w274e9r3C2E= -github.com/tetratelabs/proxy-wasm-go-sdk v0.0.13/go.mod h1:y1ZQT4bQEBnR8Do4nSOzb3roczzPvcAp8UrF6NEYWNY= github.com/tevid/gohamcrest v1.1.1 h1:ou+xSqlIw1xfGTg1uq1nif/htZ2S3EzRqLm2BP+tYU0= github.com/tevid/gohamcrest v1.1.1/go.mod h1:3UvtWlqm8j5JbwYZh80D/PVBt0mJ1eJiYgZMibh0H/k= github.com/tidwall/gjson v1.2.1/go.mod h1:c/nTNbUr0E0OrXEhq1pwa8iEgc2DOt4ZZqAt1HtCkPA= @@ -1414,7 +1394,6 @@ go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.11.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -go.uber.org/zap v1.14.1/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= From 97f6c6498fd80a8fa22f4350e879ead2aabc9de0 Mon Sep 17 00:00:00 2001 From: seeflood <349895584@qq.com> Date: Mon, 25 Oct 2021 14:50:39 +0800 Subject: [PATCH 3/4] move spec for api development (#280) --- docs/_sidebar.md | 7 ++++--- docs/zh/_sidebar.md | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/_sidebar.md b/docs/_sidebar.md index db4dd38fd4..6b972705b2 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -61,8 +61,9 @@ - [Distributed lock API design](en/design/lock/lock-api-design.md) - [FaaS design](en/design/faas/faas-poc-design.md) - Contributing - - [Layotto contributor guide](en/development/CONTRIBUTING.md) - [Document Contribution Guide](en/development/contributing-doc.md) - [Component Development Guide](en/development/developing-component.md) - - [Development specification when adding API](en/development/developing-api.md) - - [How to generate API document](en/api_reference/how_to_generate_api_doc.md) + - You wanna modify proto files or API definition? + - [Development specification when adding API](en/development/developing-api.md) + - [How to generate API document based on the proto files](en/api_reference/how_to_generate_api_doc.md) + - [Layotto contributor guide](en/development/CONTRIBUTING.md) diff --git a/docs/zh/_sidebar.md b/docs/zh/_sidebar.md index 7b1f997c51..68fe87a3ab 100644 --- a/docs/zh/_sidebar.md +++ b/docs/zh/_sidebar.md @@ -69,8 +69,9 @@ - 贡献指南 - [文档贡献指南](zh/development/contributing-doc.md) - [组件开发指南](zh/development/developing-component.md) - - [新增API时的开发规范](zh/development/developing-api.md) - - [如何基于proto文件生成接口文档](zh/api_reference/how_to_generate_api_doc.md) + - 想要修改proto文件或API定义? + - [新增API时的开发规范](zh/development/developing-api.md) + - [如何基于proto文件生成接口文档](zh/api_reference/how_to_generate_api_doc.md) - [Layotto贡献者指南](zh/development/CONTRIBUTING.md) - 社区 - [SOFAStack & MOSN 社区角色说明](zh/community/governance.md) From 3d3ffb69f7d1b6faaa16fe24b34e690a0b09919c Mon Sep 17 00:00:00 2001 From: seeflood <349895584@qq.com> Date: Mon, 25 Oct 2021 22:28:14 +0800 Subject: [PATCH 4/4] docs: add explanation-for-github-workflow and problems-to-solve (#270) --- docs/_sidebar.md | 3 + .../explanation-for-github-workflow.md | 66 ++++++++++++++++++ docs/en/start/faas/start.md | 2 +- docs/img/development/workflow/img.png | Bin 0 -> 67769 bytes docs/img/development/workflow/img_1.png | Bin 0 -> 23160 bytes docs/img/development/workflow/img_2.png | Bin 0 -> 51510 bytes docs/zh/_sidebar.md | 3 + .../explanation-for-github-workflow.md | 66 ++++++++++++++++++ docs/zh/development/problems-to-solve.md | 31 ++++++++ docs/zh/start/faas/start.md | 2 +- 10 files changed, 171 insertions(+), 2 deletions(-) create mode 100644 docs/en/development/explanation-for-github-workflow.md create mode 100644 docs/img/development/workflow/img.png create mode 100644 docs/img/development/workflow/img_1.png create mode 100644 docs/img/development/workflow/img_2.png create mode 100644 docs/zh/development/explanation-for-github-workflow.md create mode 100644 docs/zh/development/problems-to-solve.md diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 6b972705b2..cf2fe944fe 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -53,6 +53,7 @@ - [Sequencer](en/component_specs/sequencer/common.md) - [Etcd](en/component_specs/sequencer/etcd.md) - [Redis](en/component_specs/sequencer/redis.md) + - [Zookeeper](en/component_specs/sequencer/zookeeper.md) - Design documents - [Actuator design doc](en/design/actuator/actuator-design-doc.md) - [Configuration API with Apollo](en/design/configuration/configuration-api-with-apollo.md) @@ -66,4 +67,6 @@ - You wanna modify proto files or API definition? - [Development specification when adding API](en/development/developing-api.md) - [How to generate API document based on the proto files](en/api_reference/how_to_generate_api_doc.md) + - [Explanation for github workflow](en/development/explanation-for-github-workflow.md) - [Layotto contributor guide](en/development/CONTRIBUTING.md) + diff --git a/docs/en/development/explanation-for-github-workflow.md b/docs/en/development/explanation-for-github-workflow.md new file mode 100644 index 0000000000..fde3ef1f69 --- /dev/null +++ b/docs/en/development/explanation-for-github-workflow.md @@ -0,0 +1,66 @@ +This document explain each component of Layotto's github workflow. + +Note: configuration files of Layotto github workflow are [here](https://github.com/mosn/layotto/tree/main/.github/workflows) + +## 1. Cron jobs +### stale bot +![img_1.png](../../img/development/workflow/img_1.png) + +We use [Close Stale Issues](https://github.com/marketplace/actions/close-stale-issues) . + +An issue or PR will be automatically marked as stale if it has not had recent activity in the last 30 days. It will be closed in the next 7 days unless it is tagged (pinned, security, good first issue or help wanted) or other activity occurs. + +**If a community task issue was closed by this bot,then the task can be assigned to others.** + +Merged in https://github.com/mosn/layotto/pull/246 + +## 2. CI/CD +![img.png](../../img/development/workflow/img.png) +### 2.1. Chore +#### <1> cla bot + +check if the contributor has signed cla + +#### TODO: Automatically generate new API reference when proto files are modified + +Currently [we have to do it manually](https://mosn.io/layotto/#/en/api_reference/how_to_generate_api_doc) . + +The generated document is [here](https://github.com/mosn/layotto/blob/main/docs/en/api_reference/api_reference_v1.md) + +![img_2.png](../../img/development/workflow/img_2.png) + +### 2.2. Test +#### <5> Run unit tests +#### <5> Check if you have done `go fmt` +#### <2><3> Make sure ut coverage ratio won't decrease + +See https://docs.codecov.com/docs/commit-status#branches + +#### TODO: Integration tests + + +### 2.3. Lint +#### <4> License checker +We use https://github.com/marketplace/actions/license-eye + +Merged in https://github.com/mosn/layotto/pull/247 + +##### How to add license headers for all files automatically? +In Layotto directory: + +```shell +docker run -it --rm -v $(pwd):/github/workspace apache/skywalking-eyes header fix +``` + +It will add license headers for code files recursively. + +See https://github.com/marketplace/actions/license-eye#docker-image for details + +#### TODO: PR title lint +~~#### TODO: PR body lint?~~ +#### TODO: Code style lint +For example,find out `go xxx()` without `recover` +We can use go lint and refer to MOSN's configuration + +#### ~~- Commit message lint~~ (reverted) +see https://github.com/mosn/layotto/issues/243 \ No newline at end of file diff --git a/docs/en/start/faas/start.md b/docs/en/start/faas/start.md index d6b2dcc48d..59b3140dfc 100644 --- a/docs/en/start/faas/start.md +++ b/docs/en/start/faas/start.md @@ -4,7 +4,7 @@ Layotto supports loading and running functions in the form of wasm, and supports calling each other between functions and accessing infrastructure, such as Redis. -Detailed design documents can refer to:[FaaS design](../../design/faas/faas-poc-design.md) +Detailed design documents can refer to:[FaaS design](en/design/faas/faas-poc-design.md) ### 2. Dependent software diff --git a/docs/img/development/workflow/img.png b/docs/img/development/workflow/img.png new file mode 100644 index 0000000000000000000000000000000000000000..dcad7276aeb33f8ec00d733c18be8b1d4ba60e11 GIT binary patch literal 67769 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
Vl$S?;oOF-<6gqmePIYPg?~c$+hT> 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ͤr^gZMw|U#nKi&TSaoYb|I{3ddCv>?H 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

?rNt|Jb8L^1QH&2ezFg-yic!%kH z7Si~utYLZa`DYHS@w0z-nzmQ|FCAhhbp8A_vjV!I{-$Bpogq3*))ePuM`0&3U%vUuCt<~Li!WPRx|d{OR0-rUR%DQ93|Cv@KO L(wQ=go3Z}^-aa~@ literal 0 HcmV?d00001 diff --git a/docs/zh/_sidebar.md b/docs/zh/_sidebar.md index 68fe87a3ab..cc610c7423 100644 --- a/docs/zh/_sidebar.md +++ b/docs/zh/_sidebar.md @@ -56,6 +56,7 @@ - [Sequencer](zh/component_specs/sequencer/common.md) - [Etcd](zh/component_specs/sequencer/etcd.md) - [Redis](zh/component_specs/sequencer/redis.md) + - [Zookeeper](zh/component_specs/sequencer/zookeeper.md) - 设计文档 - [Actuator设计文档](zh/design/actuator/actuator-design-doc.md) - [gRPC框架设计文档](zh/design/actuator/grpc-design-doc.md) @@ -73,6 +74,8 @@ - [新增API时的开发规范](zh/development/developing-api.md) - [如何基于proto文件生成接口文档](zh/api_reference/how_to_generate_api_doc.md) - [Layotto贡献者指南](zh/development/CONTRIBUTING.md) + - [解释一下Layotto的github workflow](zh/development/explanation-for-github-workflow.md) + - [待解决的问题](zh/development/problems-to-solve.md) - 社区 - [SOFAStack & MOSN 社区角色说明](zh/community/governance.md) - [Layotto社区晋升规则](zh/community/promote.md) diff --git a/docs/zh/development/explanation-for-github-workflow.md b/docs/zh/development/explanation-for-github-workflow.md new file mode 100644 index 0000000000..44423e5ad2 --- /dev/null +++ b/docs/zh/development/explanation-for-github-workflow.md @@ -0,0 +1,66 @@ +This document explain each component of Layotto's github workflow. + +Note: configuration files of Layotto github workflow are [here](https://github.com/mosn/layotto/tree/main/.github/workflows) + +## 1. Cron jobs +### stale bot +![img_1.png](../../img/development/workflow/img_1.png) + +We use [Close Stale Issues](https://github.com/marketplace/actions/close-stale-issues) . + +An issue or PR will be automatically marked as stale if it has not had recent activity in the last 30 days. It will be closed in the next 7 days unless it is tagged (pinned, security, good first issue or help wanted) or other activity occurs. + +**If a community task issue was closed by this bot,then the task can be assigned to others.** + +Merged in https://github.com/mosn/layotto/pull/246 + +## 2. CI/CD +![img.png](../../img/development/workflow/img.png) +### 2.1. Chore +#### <1> cla bot + +check if the contributor has signed cla + +#### TODO: Automatically generate new API reference when proto files are modified + +Currently [we have to do it manually](https://mosn.io/layotto/#/en/api_reference/how_to_generate_api_doc) . + +The generated document is [here](https://github.com/mosn/layotto/blob/main/docs/en/api_reference/api_reference_v1.md) + +![img_2.png](../../img/development/workflow/img_2.png) + +### 2.2. Test +#### <5> Run unit tests +#### <5> Check if you have done `go fmt` +#### <2><3> Make sure ut coverage ratio won't decrease + +See https://docs.codecov.com/docs/commit-status#branches + +#### TODO: Integration tests + + +### 2.3. Lint +#### <4> License checker +We use https://github.com/marketplace/actions/license-eye + +Merged in https://github.com/mosn/layotto/pull/247 + +##### How to add license headers for all files automatically? +In Layotto directory: + +```shell +docker run -it --rm -v $(pwd):/github/workspace apache/skywalking-eyes header fix +``` + +It will add license headers for code files recursively. + +See https://github.com/marketplace/actions/license-eye#docker-image for details + +#### TODO: PR title lint +~~#### TODO: PR body lint?~~ +#### TODO: Code style lint +For example,find out `go xxx()` without `recover` +We can use go lint and refer to MOSN's configuration + +#### ~~- Commit message lint~~ (reverted) +see https://github.com/mosn/layotto/issues/243 \ No newline at end of file diff --git a/docs/zh/development/problems-to-solve.md b/docs/zh/development/problems-to-solve.md new file mode 100644 index 0000000000..8c7955f45a --- /dev/null +++ b/docs/zh/development/problems-to-solve.md @@ -0,0 +1,31 @@ +# Multi-Runtime 2022:待解决的问题 +## 1. API标准建设 +根据落地用户的生产需求继续建设API标准、提交给Dapr社区共建。比如: +- 分布式锁API +- 配置API +- 延迟消息API + +## 2. 生态共建 +如何让已经落地Service Mesh的用户平滑迁移到Multi-Runtime?目前在做的一件事是Layotto on Envoy支持; + +能否让Runtime API更好的融入K8S生态?目前在做的事是Layotto集成进k8s生态; + + +## 3. 服务早期生产用户 +开源要做通用的、解决生产问题的功能。观察早期生产用户,目前面临以下问题: +### 3.1. 扩展性 +让整个项目可扩展,比如某个公司想用layotto但是又想扩展一些自己的功能,要么能自己起一个项目、import开源layotto后通过钩子做一些扩展,要么能通过动态连接库之类的办法去扩展layotto二进制文件。目前这两种办法,dapr和layotto都没法做到,想扩展只能fork出来改代码 +### 3.2. 稳定性风险 +import开源Layotto之后,panic风险巨大,因为依赖了Dapr所有组件,这些组件用的库五花八门,可能panic,可能依赖冲突。能否通过按需编译、隔离性设计来减少panic风险? + +目前开源项目的测试投入相对于公司里的测试流程来说少太多了,怎么建设开源测试体系; + +### 3.3. 可观测性 +> 以前没service mesh的时候,有问题我能自己查;后来有了service mesh,遇到问题我只能找别人来查了 +> ——某测试同学 + +在生产环境落地Service Mesh会导致排查问题变难,而 Multi-Runtime 下沉的功能多了,排查起来更难。 +要建设 Multi-Runtime 可观测性,避免让生产用户查问题难上加难。 + +## 4. 新研发模式 +sidecar 支持 serverless 落地; \ No newline at end of file diff --git a/docs/zh/start/faas/start.md b/docs/zh/start/faas/start.md index c9f1635e87..f4fd5f4db7 100644 --- a/docs/zh/start/faas/start.md +++ b/docs/zh/start/faas/start.md @@ -4,7 +4,7 @@ Layotto支持加载并运行以 wasm 为载体的 Function,并支持Function之间互相调用以及访问基础设施,如Redis。 -详细的设计文档可以参考:[FaaS design](../../design/faas/faas-poc-design.md) +详细的设计文档可以参考:[FaaS design](zh/design/faas/faas-poc-design.md) ### 二、准备工作