diff --git a/.gitignore b/.gitignore index 9d1af9d..59d5ab6 100644 --- a/.gitignore +++ b/.gitignore @@ -43,7 +43,4 @@ output/* testdata/ # Files produced by run.sh -kitex_gen/ -go.mod -go.sum bin diff --git a/gencode.sh b/gencode.sh new file mode 100755 index 0000000..73c2c86 --- /dev/null +++ b/gencode.sh @@ -0,0 +1,84 @@ +#! /bin/bash +# Copyright 2021 CloudWeGo 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. + +set -e +set -x + +export GO111MODULE=on +export GOBIN=$(pwd)/bin +export PATH=${GOBIN}:$PATH +mkdir -p ${GOBIN} + +bits=$(getconf LONG_BIT) +if [[ $bits != 64 ]]; then + echo "this script runs on 64-bit architectures only" >&2 + exit 1 +fi + +# Install protoc + +get_protoc() { + os=$1 + arch=$2 + out=$3 + suffix=$(echo ${os}-${arch} | sed 's/darwin/osx/' | sed 's/amd64/x86_64/' | sed 's/arm64/aarch_64/') + release=protoc-${PROTOC_VERSION#v}-${suffix}.zip + url=https://github.com/protocolbuffers/protobuf/releases/download/${PROTOC_VERSION}/${release} + wget -q $url || exit 1 + python -m zipfile -e $release $os || exit 1 + chmod +x $os/bin/protoc + mv $os/bin/protoc $out/protoc-${os}-${arch} && rm -rf $os $release +} + +install_protoc() { + PROTOC_VERSION=v3.13.0 + OUT=./bin + export PATH=$OUT:$PATH + mkdir -p $OUT + + get_protoc darwin amd64 $OUT + get_protoc linux amd64 $OUT + get_protoc linux arm64 $OUT + for p in $OUT/protoc-*; do + "$p" --version 2>/dev/null && ln -s $(basename $p) $OUT/protoc || true + done +} + +go_install() { + go install $@ || go get $@ +} + +which protoc || install_protoc + +# Install thriftgo +which thriftgo || go_install github.com/cloudwego/thriftgo@latest + +# Install kitex and generate codes +LOCAL_REPO=$1 + +if [[ -n $LOCAL_REPO ]]; then + cd ${LOCAL_REPO} + go_install ${LOCAL_REPO}/tool/cmd/kitex + cd - +else + go_install github.com/cloudwego/kitex/tool/cmd/kitex@latest +fi + +test -d kitex_gen && rm -rf kitex_gen +kitex -module github.com/cloudwego/kitex-tests ./idl/stability.thrift +kitex -module github.com/cloudwego/kitex-tests ./idl/http.thrift +kitex -module github.com/cloudwego/kitex-tests ./idl/tenant.thrift +kitex -module github.com/cloudwego/kitex-tests -type protobuf -I idl ./idl/stability.proto +kitex -module github.com/cloudwego/kitex-tests -type protobuf -I idl ./idl/unknown_handler.proto diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..f091dae --- /dev/null +++ b/go.mod @@ -0,0 +1,42 @@ +module github.com/cloudwego/kitex-tests + +go 1.18 + +require ( + github.com/apache/thrift v0.13.0 + github.com/bytedance/gopkg v0.0.0-20220824043955-beb90005fda6 + github.com/cloudwego/fastpb v0.0.4 + github.com/cloudwego/kitex v0.5.3-0.20230508073138-d68d41a95951 + github.com/cloudwego/netpoll v0.3.2 + google.golang.org/protobuf v1.28.1 +) + +require ( + github.com/chenzhuoyu/iasm v0.0.0-20230222070914-0b1b64b0e762 // indirect + github.com/choleraehyq/pid v0.0.16 // indirect + github.com/cloudwego/frugal v0.1.6 // indirect + github.com/cloudwego/thriftgo v0.2.9 // indirect + github.com/golang/protobuf v1.5.2 // indirect + github.com/google/pprof v0.0.0-20220608213341-c488b8fa1db3 // indirect + github.com/jhump/protoreflect v1.8.2 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/oleiade/lane v1.0.1 // indirect + github.com/smartystreets/goconvey v1.7.2 // indirect + github.com/tidwall/gjson v1.9.3 // indirect + github.com/tidwall/match v1.1.1 // indirect + github.com/tidwall/pretty v1.2.0 // indirect + golang.org/x/arch v0.2.0 // indirect + golang.org/x/net v0.0.0-20220722155237-a158d28d115b // indirect + golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect + golang.org/x/sys v0.0.0-20220817070843-5a390386f1f2 // indirect + golang.org/x/text v0.6.0 // indirect + google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384 // indirect + gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) + +replace github.com/cloudwego/kitex => /Users/bytedance/go/src/github.com/jayantxie/kitex + +replace github.com/apache/thrift => github.com/apache/thrift v0.13.0 diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..ff56900 --- /dev/null +++ b/go.sum @@ -0,0 +1,326 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= +git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= +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/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= +github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= +github.com/apache/thrift v0.13.0 h1:5hryIiq9gtn+MiLVn0wP37kb/uTeRZgN08WoCsAhIhI= +github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/bytedance/gopkg v0.0.0-20220413063733-65bf48ffb3a7/go.mod h1:2ZlV9BaUH4+NXIBF0aMdKKAnHTzqH+iMU4KUjAbL23Q= +github.com/bytedance/gopkg v0.0.0-20220817015305-b879a72dc90f/go.mod h1:2ZlV9BaUH4+NXIBF0aMdKKAnHTzqH+iMU4KUjAbL23Q= +github.com/bytedance/gopkg v0.0.0-20220824043955-beb90005fda6 h1:/EH/zEUjrW99+lQ8ZKhKoyQy4eW1eskLM43JnQMnQKg= +github.com/bytedance/gopkg v0.0.0-20220824043955-beb90005fda6/go.mod h1:2ZlV9BaUH4+NXIBF0aMdKKAnHTzqH+iMU4KUjAbL23Q= +github.com/bytedance/mockey v1.2.0 h1:847+X2fBSM4s/AIN4loO5d16PCgEj53j7Q8YVB+8P6c= +github.com/bytedance/mockey v1.2.0/go.mod h1:+Jm/fzWZAuhEDrPXVjDf/jLM2BlLXJkwk94zf2JZ3X4= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/chenzhuoyu/iasm v0.0.0-20230222070914-0b1b64b0e762 h1:4+00EOUb1t9uxAbgY8VvgfKJKDpim3co4MqsAbelIbs= +github.com/chenzhuoyu/iasm v0.0.0-20230222070914-0b1b64b0e762/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= +github.com/choleraehyq/pid v0.0.16 h1:1/714sMH9IBlE/aK6xM0acTagGKSzpiR0bDt7l0cG7o= +github.com/choleraehyq/pid v0.0.16/go.mod h1:uhzeFgxJZWQsZulelVQZwdASxQ9TIPZYL4TPkQMtL/U= +github.com/chzyer/logex v1.2.0/go.mod h1:9+9sk7u7pGNWYMkh0hdiL++6OeibzJccyQU4p4MedaY= +github.com/chzyer/readline v1.5.0/go.mod h1:x22KAscuvRqlLoK9CsoYsmxoXZMMFVyOl86cAH8qUic= +github.com/chzyer/test v0.0.0-20210722231415-061457976a23/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudwego/fastpb v0.0.4 h1:/ROVVfoFtpfc+1pkQLzGs+azjxUbSOsAqSY4tAAx4mg= +github.com/cloudwego/fastpb v0.0.4/go.mod h1:/V13XFTq2TUkxj2qWReV8MwfPC4NnPcy6FsrojnsSG0= +github.com/cloudwego/frugal v0.1.6 h1:aXJ7W0Omion1WTCe4JHAWinQmjXDYzHt03sabu3Rabo= +github.com/cloudwego/frugal v0.1.6/go.mod h1:9ElktKsh5qd2zDBQ5ENhPSQV7F2dZ/mXlr1eaZGDBFs= +github.com/cloudwego/netpoll v0.3.2 h1:/998ICrNMVBo4mlul4j7qcIeY7QnEfuCCPPwck9S3X4= +github.com/cloudwego/netpoll v0.3.2/go.mod h1:xVefXptcyheopwNDZjDPcfU6kIjZXZ4nY550k1yH9eQ= +github.com/cloudwego/thriftgo v0.2.9 h1:uN58Y6LkVXHWWEFcDFVi4gAnvmFTxTqgi26NZaRAubQ= +github.com/cloudwego/thriftgo v0.2.9/go.mod h1:dAyXHEmKXo0LfMCrblVEY3mUZsdeuA5+i0vF5f09j7E= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= +github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= +github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= +github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= +github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/pprof v0.0.0-20220608213341-c488b8fa1db3 h1:mpL/HvfIgIejhVwAfxBQkwEjlhP5o0O9RAeTAjpwzxc= +github.com/google/pprof v0.0.0-20220608213341-c488b8fa1db3/go.mod h1:gSuNB+gJaOiQKLEZ+q+PK9Mq3SOzhRcw2GsGS/FhYDk= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU= +github.com/ianlancetaylor/demangle v0.0.0-20220319035150-800ac71e25c2/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= +github.com/jhump/protoreflect v1.8.2 h1:k2xE7wcUomeqwY0LDCYA16y4WWfyTcMx5mKhk0d4ua0= +github.com/jhump/protoreflect v1.8.2/go.mod h1:7GcYQDdMU/O/BBrl/cX6PNHpXh6cenjd8pneu5yW7Tg= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= +github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/nishanths/predeclared v0.0.0-20200524104333-86fad755b4d3/go.mod h1:nt3d53pc1VYcphSCIaYAJtnPYnr3Zyn8fMq2wvPGPso= +github.com/oleiade/lane v1.0.1 h1:hXofkn7GEOubzTwNpeL9MaNy8WxolCYb9cInAIeqShU= +github.com/oleiade/lane v1.0.1/go.mod h1:IyTkraa4maLfjq/GmHR+Dxb4kCMtEGeb+qmhlrQ5Mk4= +github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= +github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= +github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/assertions v1.2.0 h1:42S6lae5dvLc7BrLu/0ugRtcFVjoJNMC/N3yZFZkDFs= +github.com/smartystreets/assertions v1.2.0/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/smartystreets/goconvey v1.7.2 h1:9RBaZCeXEQ3UselpuwUQHltGVXvdwm6cv1hgR6gDIPg= +github.com/smartystreets/goconvey v1.7.2/go.mod h1:Vw0tHAZW6lzCRk3xgdin6fKYcG+G3Pg9vgXWeJpQFMM= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/tidwall/gjson v1.9.3 h1:hqzS9wAHMO+KVBBkLxYdkEeeFHuqr95GfClRLKlgK0E= +github.com/tidwall/gjson v1.9.3/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= +github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs= +github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +golang.org/x/arch v0.0.0-20201008161808-52c3e6f60cff/go.mod h1:flIaEI6LNU6xOCD5PaJvn9wGP0agmIOqjrtsKGRguv4= +golang.org/x/arch v0.2.0 h1:W1sUEHXiJTfjaFJ5SLo0N6lZn+0eO5gWD1MFeTGqQEY= +golang.org/x/arch v0.2.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/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-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b h1:PxfKdU9lEEDYjdIzOtC4qFWgkU2rGHdKlKowJSMN9h0= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220110181412-a018aaa089fe/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220817070843-5a390386f1f2 h1:fqTvyMIIj+HRzMmnzr9NtpHP6uVpvB5fkHcgPDC4nu8= +golang.org/x/sys v0.0.0-20220817070843-5a390386f1f2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k= +golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= +gonum.org/v1/gonum v0.12.0/go.mod h1:73TDxJfAAHeA8Mk9mf8NlIppyhQNo5GLTcYeqgo2lvY= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= +gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384 h1:z+j74wi4yV+P7EtK9gPLGukOk7mFOy9wMQaC0wNb7eY= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.36.1 h1:cmUfbeGKnz9+2DD/UYsMQXeqbHZqZDs4eQwW0sFOpBY= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.25.1-0.20200805231151-a709e31e5d12/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= +nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/idl/stability.thrift b/idl/stability.thrift index 5eeda1b..0fb53bd 100644 --- a/idl/stability.thrift +++ b/idl/stability.thrift @@ -47,6 +47,7 @@ struct STRequest { 14: required string flagMsg 15: required string framework = "kitex", 16: optional string mockCost, + 17: map subMsgs, 255: optional base.Base Base, } diff --git a/kitex_gen/protobuf/instparam/instparam.pb.fast.go b/kitex_gen/protobuf/instparam/instparam.pb.fast.go new file mode 100644 index 0000000..5c10d89 --- /dev/null +++ b/kitex_gen/protobuf/instparam/instparam.pb.fast.go @@ -0,0 +1,736 @@ +// Code generated by Fastpb v0.0.2. DO NOT EDIT. + +package instparam + +import ( + fmt "fmt" + fastpb "github.com/cloudwego/fastpb" +) + +var ( + _ = fmt.Errorf + _ = fastpb.Skip +) + +func (x *SubMessage) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + case 1: + offset, err = x.fastReadField1(buf, _type) + if err != nil { + goto ReadFieldError + } + case 2: + offset, err = x.fastReadField2(buf, _type) + if err != nil { + goto ReadFieldError + } + default: + offset, err = fastpb.Skip(buf, _type, number) + if err != nil { + goto SkipFieldError + } + } + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) +ReadFieldError: + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_SubMessage[number], err) +} + +func (x *SubMessage) fastReadField1(buf []byte, _type int8) (offset int, err error) { + x.Id, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *SubMessage) fastReadField2(buf []byte, _type int8) (offset int, err error) { + x.Value, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *Message) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + case 1: + offset, err = x.fastReadField1(buf, _type) + if err != nil { + goto ReadFieldError + } + case 2: + offset, err = x.fastReadField2(buf, _type) + if err != nil { + goto ReadFieldError + } + case 3: + offset, err = x.fastReadField3(buf, _type) + if err != nil { + goto ReadFieldError + } + default: + offset, err = fastpb.Skip(buf, _type, number) + if err != nil { + goto SkipFieldError + } + } + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) +ReadFieldError: + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_Message[number], err) +} + +func (x *Message) fastReadField1(buf []byte, _type int8) (offset int, err error) { + x.Id, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *Message) fastReadField2(buf []byte, _type int8) (offset int, err error) { + x.Value, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *Message) fastReadField3(buf []byte, _type int8) (offset int, err error) { + var v SubMessage + offset, err = fastpb.ReadMessage(buf, _type, &v) + if err != nil { + return offset, err + } + x.SubMessages = append(x.SubMessages, &v) + return offset, nil +} + +func (x *ObjReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + case 1: + offset, err = x.fastReadField1(buf, _type) + if err != nil { + goto ReadFieldError + } + case 2: + offset, err = x.fastReadField2(buf, _type) + if err != nil { + goto ReadFieldError + } + case 3: + offset, err = x.fastReadField3(buf, _type) + if err != nil { + goto ReadFieldError + } + case 4: + offset, err = x.fastReadField4(buf, _type) + if err != nil { + goto ReadFieldError + } + case 5: + offset, err = x.fastReadField5(buf, _type) + if err != nil { + goto ReadFieldError + } + case 6: + offset, err = x.fastReadField6(buf, _type) + if err != nil { + goto ReadFieldError + } + default: + offset, err = fastpb.Skip(buf, _type, number) + if err != nil { + goto SkipFieldError + } + } + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) +ReadFieldError: + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_ObjReq[number], err) +} + +func (x *ObjReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { + var v Message + offset, err = fastpb.ReadMessage(buf, _type, &v) + if err != nil { + return offset, err + } + x.Msg = &v + return offset, nil +} + +func (x *ObjReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { + if x.MsgMap == nil { + x.MsgMap = make(map[string]*SubMessage) + } + var key string + var value *SubMessage + offset, err = fastpb.ReadMapEntry(buf, _type, + func(buf []byte, _type int8) (offset int, err error) { + key, offset, err = fastpb.ReadString(buf, _type) + return offset, err + }, + func(buf []byte, _type int8) (offset int, err error) { + var v SubMessage + offset, err = fastpb.ReadMessage(buf, _type, &v) + if err != nil { + return offset, err + } + value = &v + return offset, nil + }) + if err != nil { + return offset, err + } + x.MsgMap[key] = value + return offset, nil +} + +func (x *ObjReq) fastReadField3(buf []byte, _type int8) (offset int, err error) { + var v SubMessage + offset, err = fastpb.ReadMessage(buf, _type, &v) + if err != nil { + return offset, err + } + x.SubMsgs = append(x.SubMsgs, &v) + return offset, nil +} + +func (x *ObjReq) fastReadField4(buf []byte, _type int8) (offset int, err error) { + var v Message + offset, err = fastpb.ReadMessage(buf, _type, &v) + if err != nil { + return offset, err + } + x.Msgs = append(x.Msgs, &v) + return offset, nil +} + +func (x *ObjReq) fastReadField5(buf []byte, _type int8) (offset int, err error) { + x.FlagMsg, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *ObjReq) fastReadField6(buf []byte, _type int8) (offset int, err error) { + x.MockCost, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *ObjResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + case 1: + offset, err = x.fastReadField1(buf, _type) + if err != nil { + goto ReadFieldError + } + case 2: + offset, err = x.fastReadField2(buf, _type) + if err != nil { + goto ReadFieldError + } + case 3: + offset, err = x.fastReadField3(buf, _type) + if err != nil { + goto ReadFieldError + } + case 4: + offset, err = x.fastReadField4(buf, _type) + if err != nil { + goto ReadFieldError + } + case 5: + offset, err = x.fastReadField5(buf, _type) + if err != nil { + goto ReadFieldError + } + default: + offset, err = fastpb.Skip(buf, _type, number) + if err != nil { + goto SkipFieldError + } + } + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) +ReadFieldError: + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_ObjResp[number], err) +} + +func (x *ObjResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { + var v Message + offset, err = fastpb.ReadMessage(buf, _type, &v) + if err != nil { + return offset, err + } + x.Msg = &v + return offset, nil +} + +func (x *ObjResp) fastReadField2(buf []byte, _type int8) (offset int, err error) { + if x.MsgMap == nil { + x.MsgMap = make(map[string]*SubMessage) + } + var key string + var value *SubMessage + offset, err = fastpb.ReadMapEntry(buf, _type, + func(buf []byte, _type int8) (offset int, err error) { + key, offset, err = fastpb.ReadString(buf, _type) + return offset, err + }, + func(buf []byte, _type int8) (offset int, err error) { + var v SubMessage + offset, err = fastpb.ReadMessage(buf, _type, &v) + if err != nil { + return offset, err + } + value = &v + return offset, nil + }) + if err != nil { + return offset, err + } + x.MsgMap[key] = value + return offset, nil +} + +func (x *ObjResp) fastReadField3(buf []byte, _type int8) (offset int, err error) { + var v SubMessage + offset, err = fastpb.ReadMessage(buf, _type, &v) + if err != nil { + return offset, err + } + x.SubMsgs = append(x.SubMsgs, &v) + return offset, nil +} + +func (x *ObjResp) fastReadField4(buf []byte, _type int8) (offset int, err error) { + var v Message + offset, err = fastpb.ReadMessage(buf, _type, &v) + if err != nil { + return offset, err + } + x.Msgs = append(x.Msgs, &v) + return offset, nil +} + +func (x *ObjResp) fastReadField5(buf []byte, _type int8) (offset int, err error) { + x.FlagMsg, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *SubMessage) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + return offset +} + +func (x *SubMessage) fastWriteField1(buf []byte) (offset int) { + if x.Id == 0 { + return offset + } + offset += fastpb.WriteInt64(buf[offset:], 1, x.GetId()) + return offset +} + +func (x *SubMessage) fastWriteField2(buf []byte) (offset int) { + if x.Value == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 2, x.GetValue()) + return offset +} + +func (x *Message) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + offset += x.fastWriteField3(buf[offset:]) + return offset +} + +func (x *Message) fastWriteField1(buf []byte) (offset int) { + if x.Id == 0 { + return offset + } + offset += fastpb.WriteInt64(buf[offset:], 1, x.GetId()) + return offset +} + +func (x *Message) fastWriteField2(buf []byte) (offset int) { + if x.Value == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 2, x.GetValue()) + return offset +} + +func (x *Message) fastWriteField3(buf []byte) (offset int) { + if x.SubMessages == nil { + return offset + } + for i := range x.GetSubMessages() { + offset += fastpb.WriteMessage(buf[offset:], 3, x.GetSubMessages()[i]) + } + return offset +} + +func (x *ObjReq) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + offset += x.fastWriteField3(buf[offset:]) + offset += x.fastWriteField4(buf[offset:]) + offset += x.fastWriteField5(buf[offset:]) + offset += x.fastWriteField6(buf[offset:]) + return offset +} + +func (x *ObjReq) fastWriteField1(buf []byte) (offset int) { + if x.Msg == nil { + return offset + } + offset += fastpb.WriteMessage(buf[offset:], 1, x.GetMsg()) + return offset +} + +func (x *ObjReq) fastWriteField2(buf []byte) (offset int) { + if x.MsgMap == nil { + return offset + } + for k, v := range x.GetMsgMap() { + offset += fastpb.WriteMapEntry(buf[offset:], 2, + func(buf []byte, numTagOrKey, numIdxOrVal int32) int { + offset := 0 + offset += fastpb.WriteString(buf[offset:], numTagOrKey, k) + offset += fastpb.WriteMessage(buf[offset:], numIdxOrVal, v) + return offset + }) + } + return offset +} + +func (x *ObjReq) fastWriteField3(buf []byte) (offset int) { + if x.SubMsgs == nil { + return offset + } + for i := range x.GetSubMsgs() { + offset += fastpb.WriteMessage(buf[offset:], 3, x.GetSubMsgs()[i]) + } + return offset +} + +func (x *ObjReq) fastWriteField4(buf []byte) (offset int) { + if x.Msgs == nil { + return offset + } + for i := range x.GetMsgs() { + offset += fastpb.WriteMessage(buf[offset:], 4, x.GetMsgs()[i]) + } + return offset +} + +func (x *ObjReq) fastWriteField5(buf []byte) (offset int) { + if x.FlagMsg == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 5, x.GetFlagMsg()) + return offset +} + +func (x *ObjReq) fastWriteField6(buf []byte) (offset int) { + if x.MockCost == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 6, x.GetMockCost()) + return offset +} + +func (x *ObjResp) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + offset += x.fastWriteField3(buf[offset:]) + offset += x.fastWriteField4(buf[offset:]) + offset += x.fastWriteField5(buf[offset:]) + return offset +} + +func (x *ObjResp) fastWriteField1(buf []byte) (offset int) { + if x.Msg == nil { + return offset + } + offset += fastpb.WriteMessage(buf[offset:], 1, x.GetMsg()) + return offset +} + +func (x *ObjResp) fastWriteField2(buf []byte) (offset int) { + if x.MsgMap == nil { + return offset + } + for k, v := range x.GetMsgMap() { + offset += fastpb.WriteMapEntry(buf[offset:], 2, + func(buf []byte, numTagOrKey, numIdxOrVal int32) int { + offset := 0 + offset += fastpb.WriteString(buf[offset:], numTagOrKey, k) + offset += fastpb.WriteMessage(buf[offset:], numIdxOrVal, v) + return offset + }) + } + return offset +} + +func (x *ObjResp) fastWriteField3(buf []byte) (offset int) { + if x.SubMsgs == nil { + return offset + } + for i := range x.GetSubMsgs() { + offset += fastpb.WriteMessage(buf[offset:], 3, x.GetSubMsgs()[i]) + } + return offset +} + +func (x *ObjResp) fastWriteField4(buf []byte) (offset int) { + if x.Msgs == nil { + return offset + } + for i := range x.GetMsgs() { + offset += fastpb.WriteMessage(buf[offset:], 4, x.GetMsgs()[i]) + } + return offset +} + +func (x *ObjResp) fastWriteField5(buf []byte) (offset int) { + if x.FlagMsg == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 5, x.GetFlagMsg()) + return offset +} + +func (x *SubMessage) Size() (n int) { + if x == nil { + return n + } + n += x.sizeField1() + n += x.sizeField2() + return n +} + +func (x *SubMessage) sizeField1() (n int) { + if x.Id == 0 { + return n + } + n += fastpb.SizeInt64(1, x.GetId()) + return n +} + +func (x *SubMessage) sizeField2() (n int) { + if x.Value == "" { + return n + } + n += fastpb.SizeString(2, x.GetValue()) + return n +} + +func (x *Message) Size() (n int) { + if x == nil { + return n + } + n += x.sizeField1() + n += x.sizeField2() + n += x.sizeField3() + return n +} + +func (x *Message) sizeField1() (n int) { + if x.Id == 0 { + return n + } + n += fastpb.SizeInt64(1, x.GetId()) + return n +} + +func (x *Message) sizeField2() (n int) { + if x.Value == "" { + return n + } + n += fastpb.SizeString(2, x.GetValue()) + return n +} + +func (x *Message) sizeField3() (n int) { + if x.SubMessages == nil { + return n + } + for i := range x.GetSubMessages() { + n += fastpb.SizeMessage(3, x.GetSubMessages()[i]) + } + return n +} + +func (x *ObjReq) Size() (n int) { + if x == nil { + return n + } + n += x.sizeField1() + n += x.sizeField2() + n += x.sizeField3() + n += x.sizeField4() + n += x.sizeField5() + n += x.sizeField6() + return n +} + +func (x *ObjReq) sizeField1() (n int) { + if x.Msg == nil { + return n + } + n += fastpb.SizeMessage(1, x.GetMsg()) + return n +} + +func (x *ObjReq) sizeField2() (n int) { + if x.MsgMap == nil { + return n + } + for k, v := range x.GetMsgMap() { + n += fastpb.SizeMapEntry(2, + func(numTagOrKey, numIdxOrVal int32) int { + n := 0 + n += fastpb.SizeString(numTagOrKey, k) + n += fastpb.SizeMessage(numIdxOrVal, v) + return n + }) + } + return n +} + +func (x *ObjReq) sizeField3() (n int) { + if x.SubMsgs == nil { + return n + } + for i := range x.GetSubMsgs() { + n += fastpb.SizeMessage(3, x.GetSubMsgs()[i]) + } + return n +} + +func (x *ObjReq) sizeField4() (n int) { + if x.Msgs == nil { + return n + } + for i := range x.GetMsgs() { + n += fastpb.SizeMessage(4, x.GetMsgs()[i]) + } + return n +} + +func (x *ObjReq) sizeField5() (n int) { + if x.FlagMsg == "" { + return n + } + n += fastpb.SizeString(5, x.GetFlagMsg()) + return n +} + +func (x *ObjReq) sizeField6() (n int) { + if x.MockCost == "" { + return n + } + n += fastpb.SizeString(6, x.GetMockCost()) + return n +} + +func (x *ObjResp) Size() (n int) { + if x == nil { + return n + } + n += x.sizeField1() + n += x.sizeField2() + n += x.sizeField3() + n += x.sizeField4() + n += x.sizeField5() + return n +} + +func (x *ObjResp) sizeField1() (n int) { + if x.Msg == nil { + return n + } + n += fastpb.SizeMessage(1, x.GetMsg()) + return n +} + +func (x *ObjResp) sizeField2() (n int) { + if x.MsgMap == nil { + return n + } + for k, v := range x.GetMsgMap() { + n += fastpb.SizeMapEntry(2, + func(numTagOrKey, numIdxOrVal int32) int { + n := 0 + n += fastpb.SizeString(numTagOrKey, k) + n += fastpb.SizeMessage(numIdxOrVal, v) + return n + }) + } + return n +} + +func (x *ObjResp) sizeField3() (n int) { + if x.SubMsgs == nil { + return n + } + for i := range x.GetSubMsgs() { + n += fastpb.SizeMessage(3, x.GetSubMsgs()[i]) + } + return n +} + +func (x *ObjResp) sizeField4() (n int) { + if x.Msgs == nil { + return n + } + for i := range x.GetMsgs() { + n += fastpb.SizeMessage(4, x.GetMsgs()[i]) + } + return n +} + +func (x *ObjResp) sizeField5() (n int) { + if x.FlagMsg == "" { + return n + } + n += fastpb.SizeString(5, x.GetFlagMsg()) + return n +} + +var fieldIDToName_SubMessage = map[int32]string{ + 1: "Id", + 2: "Value", +} + +var fieldIDToName_Message = map[int32]string{ + 1: "Id", + 2: "Value", + 3: "SubMessages", +} + +var fieldIDToName_ObjReq = map[int32]string{ + 1: "Msg", + 2: "MsgMap", + 3: "SubMsgs", + 4: "Msgs", + 5: "FlagMsg", + 6: "MockCost", +} + +var fieldIDToName_ObjResp = map[int32]string{ + 1: "Msg", + 2: "MsgMap", + 3: "SubMsgs", + 4: "Msgs", + 5: "FlagMsg", +} diff --git a/kitex_gen/protobuf/instparam/instparam.pb.go b/kitex_gen/protobuf/instparam/instparam.pb.go new file mode 100644 index 0000000..bc721a9 --- /dev/null +++ b/kitex_gen/protobuf/instparam/instparam.pb.go @@ -0,0 +1,500 @@ +// +// Copyright 2021 CloudWeGo 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 generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.13.0 +// source: instparam.proto + +package instparam + +import ( + context "context" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type SubMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *SubMessage) Reset() { + *x = SubMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_instparam_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubMessage) ProtoMessage() {} + +func (x *SubMessage) ProtoReflect() protoreflect.Message { + mi := &file_instparam_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubMessage.ProtoReflect.Descriptor instead. +func (*SubMessage) Descriptor() ([]byte, []int) { + return file_instparam_proto_rawDescGZIP(), []int{0} +} + +func (x *SubMessage) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *SubMessage) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +type Message struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + SubMessages []*SubMessage `protobuf:"bytes,3,rep,name=subMessages,proto3" json:"subMessages,omitempty"` +} + +func (x *Message) Reset() { + *x = Message{} + if protoimpl.UnsafeEnabled { + mi := &file_instparam_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Message) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Message) ProtoMessage() {} + +func (x *Message) ProtoReflect() protoreflect.Message { + mi := &file_instparam_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Message.ProtoReflect.Descriptor instead. +func (*Message) Descriptor() ([]byte, []int) { + return file_instparam_proto_rawDescGZIP(), []int{1} +} + +func (x *Message) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Message) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *Message) GetSubMessages() []*SubMessage { + if x != nil { + return x.SubMessages + } + return nil +} + +// 复杂参数 +type ObjReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg *Message `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` + MsgMap map[string]*SubMessage `protobuf:"bytes,2,rep,name=msgMap,proto3" json:"msgMap,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + SubMsgs []*SubMessage `protobuf:"bytes,3,rep,name=subMsgs,proto3" json:"subMsgs,omitempty"` + Msgs []*Message `protobuf:"bytes,4,rep,name=msgs,proto3" json:"msgs,omitempty"` + FlagMsg string `protobuf:"bytes,5,opt,name=flagMsg,proto3" json:"flagMsg,omitempty"` + MockCost string `protobuf:"bytes,6,opt,name=mockCost,proto3" json:"mockCost,omitempty"` +} + +func (x *ObjReq) Reset() { + *x = ObjReq{} + if protoimpl.UnsafeEnabled { + mi := &file_instparam_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ObjReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ObjReq) ProtoMessage() {} + +func (x *ObjReq) ProtoReflect() protoreflect.Message { + mi := &file_instparam_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ObjReq.ProtoReflect.Descriptor instead. +func (*ObjReq) Descriptor() ([]byte, []int) { + return file_instparam_proto_rawDescGZIP(), []int{2} +} + +func (x *ObjReq) GetMsg() *Message { + if x != nil { + return x.Msg + } + return nil +} + +func (x *ObjReq) GetMsgMap() map[string]*SubMessage { + if x != nil { + return x.MsgMap + } + return nil +} + +func (x *ObjReq) GetSubMsgs() []*SubMessage { + if x != nil { + return x.SubMsgs + } + return nil +} + +func (x *ObjReq) GetMsgs() []*Message { + if x != nil { + return x.Msgs + } + return nil +} + +func (x *ObjReq) GetFlagMsg() string { + if x != nil { + return x.FlagMsg + } + return "" +} + +func (x *ObjReq) GetMockCost() string { + if x != nil { + return x.MockCost + } + return "" +} + +type ObjResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg *Message `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` + MsgMap map[string]*SubMessage `protobuf:"bytes,2,rep,name=msgMap,proto3" json:"msgMap,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + SubMsgs []*SubMessage `protobuf:"bytes,3,rep,name=subMsgs,proto3" json:"subMsgs,omitempty"` + Msgs []*Message `protobuf:"bytes,4,rep,name=msgs,proto3" json:"msgs,omitempty"` + FlagMsg string `protobuf:"bytes,5,opt,name=flagMsg,proto3" json:"flagMsg,omitempty"` +} + +func (x *ObjResp) Reset() { + *x = ObjResp{} + if protoimpl.UnsafeEnabled { + mi := &file_instparam_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ObjResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ObjResp) ProtoMessage() {} + +func (x *ObjResp) ProtoReflect() protoreflect.Message { + mi := &file_instparam_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ObjResp.ProtoReflect.Descriptor instead. +func (*ObjResp) Descriptor() ([]byte, []int) { + return file_instparam_proto_rawDescGZIP(), []int{3} +} + +func (x *ObjResp) GetMsg() *Message { + if x != nil { + return x.Msg + } + return nil +} + +func (x *ObjResp) GetMsgMap() map[string]*SubMessage { + if x != nil { + return x.MsgMap + } + return nil +} + +func (x *ObjResp) GetSubMsgs() []*SubMessage { + if x != nil { + return x.SubMsgs + } + return nil +} + +func (x *ObjResp) GetMsgs() []*Message { + if x != nil { + return x.Msgs + } + return nil +} + +func (x *ObjResp) GetFlagMsg() string { + if x != nil { + return x.FlagMsg + } + return "" +} + +var File_instparam_proto protoreflect.FileDescriptor + +var file_instparam_proto_rawDesc = []byte{ + 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x32, 0x0a, 0x0a, + 0x53, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x22, 0x68, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x37, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x2e, 0x53, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x73, + 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0xc6, 0x02, 0x0a, 0x06, 0x4f, + 0x62, 0x6a, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x35, 0x0a, 0x06, 0x6d, + 0x73, 0x67, 0x4d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, + 0x73, 0x74, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x4f, 0x62, 0x6a, 0x52, 0x65, 0x71, 0x2e, 0x4d, + 0x73, 0x67, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6d, 0x73, 0x67, 0x4d, + 0x61, 0x70, 0x12, 0x2f, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x4d, 0x73, 0x67, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x2e, + 0x53, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x73, 0x75, 0x62, 0x4d, + 0x73, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x66, + 0x6c, 0x61, 0x67, 0x4d, 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x6c, + 0x61, 0x67, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x73, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x73, + 0x74, 0x1a, 0x50, 0x0a, 0x0b, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x53, 0x75, + 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xac, 0x02, 0x0a, 0x07, 0x4f, 0x62, 0x6a, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x24, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x69, + 0x6e, 0x73, 0x74, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x36, 0x0a, 0x06, 0x6d, 0x73, 0x67, 0x4d, 0x61, 0x70, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x2e, 0x4f, 0x62, 0x6a, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x70, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6d, 0x73, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x2f, 0x0a, + 0x07, 0x73, 0x75, 0x62, 0x4d, 0x73, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x53, 0x75, 0x62, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x73, 0x75, 0x62, 0x4d, 0x73, 0x67, 0x73, 0x12, 0x26, + 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x69, + 0x6e, 0x73, 0x74, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6c, 0x61, 0x67, 0x4d, 0x73, + 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x6c, 0x61, 0x67, 0x4d, 0x73, 0x67, + 0x1a, 0x50, 0x0a, 0x0b, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x53, 0x75, 0x62, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x42, 0x3f, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x77, 0x65, 0x67, 0x6f, 0x2f, 0x6b, 0x69, 0x74, 0x65, 0x78, + 0x2d, 0x74, 0x65, 0x73, 0x74, 0x73, 0x2f, 0x6b, 0x69, 0x74, 0x65, 0x78, 0x5f, 0x67, 0x65, 0x6e, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_instparam_proto_rawDescOnce sync.Once + file_instparam_proto_rawDescData = file_instparam_proto_rawDesc +) + +func file_instparam_proto_rawDescGZIP() []byte { + file_instparam_proto_rawDescOnce.Do(func() { + file_instparam_proto_rawDescData = protoimpl.X.CompressGZIP(file_instparam_proto_rawDescData) + }) + return file_instparam_proto_rawDescData +} + +var file_instparam_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_instparam_proto_goTypes = []interface{}{ + (*SubMessage)(nil), // 0: instparam.SubMessage + (*Message)(nil), // 1: instparam.Message + (*ObjReq)(nil), // 2: instparam.ObjReq + (*ObjResp)(nil), // 3: instparam.ObjResp + nil, // 4: instparam.ObjReq.MsgMapEntry + nil, // 5: instparam.ObjResp.MsgMapEntry +} +var file_instparam_proto_depIdxs = []int32{ + 0, // 0: instparam.Message.subMessages:type_name -> instparam.SubMessage + 1, // 1: instparam.ObjReq.msg:type_name -> instparam.Message + 4, // 2: instparam.ObjReq.msgMap:type_name -> instparam.ObjReq.MsgMapEntry + 0, // 3: instparam.ObjReq.subMsgs:type_name -> instparam.SubMessage + 1, // 4: instparam.ObjReq.msgs:type_name -> instparam.Message + 1, // 5: instparam.ObjResp.msg:type_name -> instparam.Message + 5, // 6: instparam.ObjResp.msgMap:type_name -> instparam.ObjResp.MsgMapEntry + 0, // 7: instparam.ObjResp.subMsgs:type_name -> instparam.SubMessage + 1, // 8: instparam.ObjResp.msgs:type_name -> instparam.Message + 0, // 9: instparam.ObjReq.MsgMapEntry.value:type_name -> instparam.SubMessage + 0, // 10: instparam.ObjResp.MsgMapEntry.value:type_name -> instparam.SubMessage + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_instparam_proto_init() } +func file_instparam_proto_init() { + if File_instparam_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_instparam_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_instparam_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Message); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_instparam_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ObjReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_instparam_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ObjResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_instparam_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_instparam_proto_goTypes, + DependencyIndexes: file_instparam_proto_depIdxs, + MessageInfos: file_instparam_proto_msgTypes, + }.Build() + File_instparam_proto = out.File + file_instparam_proto_rawDesc = nil + file_instparam_proto_goTypes = nil + file_instparam_proto_depIdxs = nil +} + +var _ context.Context diff --git a/kitex_gen/protobuf/stability/stability.pb.fast.go b/kitex_gen/protobuf/stability/stability.pb.fast.go new file mode 100644 index 0000000..aadb817 --- /dev/null +++ b/kitex_gen/protobuf/stability/stability.pb.fast.go @@ -0,0 +1,537 @@ +// Code generated by Fastpb v0.0.2. DO NOT EDIT. + +package stability + +import ( + fmt "fmt" + fastpb "github.com/cloudwego/fastpb" + instparam "github.com/cloudwego/kitex-tests/kitex_gen/protobuf/instparam" +) + +var ( + _ = fmt.Errorf + _ = fastpb.Skip +) + +func (x *STRequest) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + case 1: + offset, err = x.fastReadField1(buf, _type) + if err != nil { + goto ReadFieldError + } + case 2: + offset, err = x.fastReadField2(buf, _type) + if err != nil { + goto ReadFieldError + } + case 7: + offset, err = x.fastReadField7(buf, _type) + if err != nil { + goto ReadFieldError + } + case 9: + offset, err = x.fastReadField9(buf, _type) + if err != nil { + goto ReadFieldError + } + case 10: + offset, err = x.fastReadField10(buf, _type) + if err != nil { + goto ReadFieldError + } + case 11: + offset, err = x.fastReadField11(buf, _type) + if err != nil { + goto ReadFieldError + } + case 13: + offset, err = x.fastReadField13(buf, _type) + if err != nil { + goto ReadFieldError + } + case 14: + offset, err = x.fastReadField14(buf, _type) + if err != nil { + goto ReadFieldError + } + case 15: + offset, err = x.fastReadField15(buf, _type) + if err != nil { + goto ReadFieldError + } + case 16: + offset, err = x.fastReadField16(buf, _type) + if err != nil { + goto ReadFieldError + } + default: + offset, err = fastpb.Skip(buf, _type, number) + if err != nil { + goto SkipFieldError + } + } + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) +ReadFieldError: + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_STRequest[number], err) +} + +func (x *STRequest) fastReadField1(buf []byte, _type int8) (offset int, err error) { + x.Name, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *STRequest) fastReadField2(buf []byte, _type int8) (offset int, err error) { + x.On, offset, err = fastpb.ReadBool(buf, _type) + return offset, err +} + +func (x *STRequest) fastReadField7(buf []byte, _type int8) (offset int, err error) { + x.D, offset, err = fastpb.ReadDouble(buf, _type) + return offset, err +} + +func (x *STRequest) fastReadField9(buf []byte, _type int8) (offset int, err error) { + x.Str, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *STRequest) fastReadField10(buf []byte, _type int8) (offset int, err error) { + if x.StringMap == nil { + x.StringMap = make(map[string]string) + } + var key string + var value string + offset, err = fastpb.ReadMapEntry(buf, _type, + func(buf []byte, _type int8) (offset int, err error) { + key, offset, err = fastpb.ReadString(buf, _type) + return offset, err + }, + func(buf []byte, _type int8) (offset int, err error) { + value, offset, err = fastpb.ReadString(buf, _type) + return offset, err + }) + if err != nil { + return offset, err + } + x.StringMap[key] = value + return offset, nil +} + +func (x *STRequest) fastReadField11(buf []byte, _type int8) (offset int, err error) { + var v string + v, offset, err = fastpb.ReadString(buf, _type) + if err != nil { + return offset, err + } + x.StringList = append(x.StringList, v) + return offset, err +} + +func (x *STRequest) fastReadField13(buf []byte, _type int8) (offset int, err error) { + var v int32 + v, offset, err = fastpb.ReadInt32(buf, _type) + if err != nil { + return offset, err + } + x.E = TestEnum(v) + return offset, nil +} + +func (x *STRequest) fastReadField14(buf []byte, _type int8) (offset int, err error) { + x.FlagMsg, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *STRequest) fastReadField15(buf []byte, _type int8) (offset int, err error) { + x.Framework, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *STRequest) fastReadField16(buf []byte, _type int8) (offset int, err error) { + x.MockCost, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *STResponse) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + case 1: + offset, err = x.fastReadField1(buf, _type) + if err != nil { + goto ReadFieldError + } + case 2: + offset, err = x.fastReadField2(buf, _type) + if err != nil { + goto ReadFieldError + } + case 3: + offset, err = x.fastReadField3(buf, _type) + if err != nil { + goto ReadFieldError + } + default: + offset, err = fastpb.Skip(buf, _type, number) + if err != nil { + goto SkipFieldError + } + } + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) +ReadFieldError: + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_STResponse[number], err) +} + +func (x *STResponse) fastReadField1(buf []byte, _type int8) (offset int, err error) { + x.Str, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *STResponse) fastReadField2(buf []byte, _type int8) (offset int, err error) { + if x.Mp == nil { + x.Mp = make(map[string]string) + } + var key string + var value string + offset, err = fastpb.ReadMapEntry(buf, _type, + func(buf []byte, _type int8) (offset int, err error) { + key, offset, err = fastpb.ReadString(buf, _type) + return offset, err + }, + func(buf []byte, _type int8) (offset int, err error) { + value, offset, err = fastpb.ReadString(buf, _type) + return offset, err + }) + if err != nil { + return offset, err + } + x.Mp[key] = value + return offset, nil +} + +func (x *STResponse) fastReadField3(buf []byte, _type int8) (offset int, err error) { + x.FlagMsg, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *STRequest) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + offset += x.fastWriteField7(buf[offset:]) + offset += x.fastWriteField9(buf[offset:]) + offset += x.fastWriteField10(buf[offset:]) + offset += x.fastWriteField11(buf[offset:]) + offset += x.fastWriteField13(buf[offset:]) + offset += x.fastWriteField14(buf[offset:]) + offset += x.fastWriteField15(buf[offset:]) + offset += x.fastWriteField16(buf[offset:]) + return offset +} + +func (x *STRequest) fastWriteField1(buf []byte) (offset int) { + if x.Name == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 1, x.GetName()) + return offset +} + +func (x *STRequest) fastWriteField2(buf []byte) (offset int) { + if !x.On { + return offset + } + offset += fastpb.WriteBool(buf[offset:], 2, x.GetOn()) + return offset +} + +func (x *STRequest) fastWriteField7(buf []byte) (offset int) { + if x.D == 0 { + return offset + } + offset += fastpb.WriteDouble(buf[offset:], 7, x.GetD()) + return offset +} + +func (x *STRequest) fastWriteField9(buf []byte) (offset int) { + if x.Str == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 9, x.GetStr()) + return offset +} + +func (x *STRequest) fastWriteField10(buf []byte) (offset int) { + if x.StringMap == nil { + return offset + } + for k, v := range x.GetStringMap() { + offset += fastpb.WriteMapEntry(buf[offset:], 10, + func(buf []byte, numTagOrKey, numIdxOrVal int32) int { + offset := 0 + offset += fastpb.WriteString(buf[offset:], numTagOrKey, k) + offset += fastpb.WriteString(buf[offset:], numIdxOrVal, v) + return offset + }) + } + return offset +} + +func (x *STRequest) fastWriteField11(buf []byte) (offset int) { + if len(x.StringList) == 0 { + return offset + } + for i := range x.GetStringList() { + offset += fastpb.WriteString(buf[offset:], 11, x.GetStringList()[i]) + } + return offset +} + +func (x *STRequest) fastWriteField13(buf []byte) (offset int) { + if x.E == 0 { + return offset + } + offset += fastpb.WriteInt32(buf[offset:], 13, int32(x.GetE())) + return offset +} + +func (x *STRequest) fastWriteField14(buf []byte) (offset int) { + if x.FlagMsg == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 14, x.GetFlagMsg()) + return offset +} + +func (x *STRequest) fastWriteField15(buf []byte) (offset int) { + if x.Framework == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 15, x.GetFramework()) + return offset +} + +func (x *STRequest) fastWriteField16(buf []byte) (offset int) { + if x.MockCost == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 16, x.GetMockCost()) + return offset +} + +func (x *STResponse) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + offset += x.fastWriteField3(buf[offset:]) + return offset +} + +func (x *STResponse) fastWriteField1(buf []byte) (offset int) { + if x.Str == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 1, x.GetStr()) + return offset +} + +func (x *STResponse) fastWriteField2(buf []byte) (offset int) { + if x.Mp == nil { + return offset + } + for k, v := range x.GetMp() { + offset += fastpb.WriteMapEntry(buf[offset:], 2, + func(buf []byte, numTagOrKey, numIdxOrVal int32) int { + offset := 0 + offset += fastpb.WriteString(buf[offset:], numTagOrKey, k) + offset += fastpb.WriteString(buf[offset:], numIdxOrVal, v) + return offset + }) + } + return offset +} + +func (x *STResponse) fastWriteField3(buf []byte) (offset int) { + if x.FlagMsg == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 3, x.GetFlagMsg()) + return offset +} + +func (x *STRequest) Size() (n int) { + if x == nil { + return n + } + n += x.sizeField1() + n += x.sizeField2() + n += x.sizeField7() + n += x.sizeField9() + n += x.sizeField10() + n += x.sizeField11() + n += x.sizeField13() + n += x.sizeField14() + n += x.sizeField15() + n += x.sizeField16() + return n +} + +func (x *STRequest) sizeField1() (n int) { + if x.Name == "" { + return n + } + n += fastpb.SizeString(1, x.GetName()) + return n +} + +func (x *STRequest) sizeField2() (n int) { + if !x.On { + return n + } + n += fastpb.SizeBool(2, x.GetOn()) + return n +} + +func (x *STRequest) sizeField7() (n int) { + if x.D == 0 { + return n + } + n += fastpb.SizeDouble(7, x.GetD()) + return n +} + +func (x *STRequest) sizeField9() (n int) { + if x.Str == "" { + return n + } + n += fastpb.SizeString(9, x.GetStr()) + return n +} + +func (x *STRequest) sizeField10() (n int) { + if x.StringMap == nil { + return n + } + for k, v := range x.GetStringMap() { + n += fastpb.SizeMapEntry(10, + func(numTagOrKey, numIdxOrVal int32) int { + n := 0 + n += fastpb.SizeString(numTagOrKey, k) + n += fastpb.SizeString(numIdxOrVal, v) + return n + }) + } + return n +} + +func (x *STRequest) sizeField11() (n int) { + if len(x.StringList) == 0 { + return n + } + for i := range x.GetStringList() { + n += fastpb.SizeString(11, x.GetStringList()[i]) + } + return n +} + +func (x *STRequest) sizeField13() (n int) { + if x.E == 0 { + return n + } + n += fastpb.SizeInt32(13, int32(x.GetE())) + return n +} + +func (x *STRequest) sizeField14() (n int) { + if x.FlagMsg == "" { + return n + } + n += fastpb.SizeString(14, x.GetFlagMsg()) + return n +} + +func (x *STRequest) sizeField15() (n int) { + if x.Framework == "" { + return n + } + n += fastpb.SizeString(15, x.GetFramework()) + return n +} + +func (x *STRequest) sizeField16() (n int) { + if x.MockCost == "" { + return n + } + n += fastpb.SizeString(16, x.GetMockCost()) + return n +} + +func (x *STResponse) Size() (n int) { + if x == nil { + return n + } + n += x.sizeField1() + n += x.sizeField2() + n += x.sizeField3() + return n +} + +func (x *STResponse) sizeField1() (n int) { + if x.Str == "" { + return n + } + n += fastpb.SizeString(1, x.GetStr()) + return n +} + +func (x *STResponse) sizeField2() (n int) { + if x.Mp == nil { + return n + } + for k, v := range x.GetMp() { + n += fastpb.SizeMapEntry(2, + func(numTagOrKey, numIdxOrVal int32) int { + n := 0 + n += fastpb.SizeString(numTagOrKey, k) + n += fastpb.SizeString(numIdxOrVal, v) + return n + }) + } + return n +} + +func (x *STResponse) sizeField3() (n int) { + if x.FlagMsg == "" { + return n + } + n += fastpb.SizeString(3, x.GetFlagMsg()) + return n +} + +var fieldIDToName_STRequest = map[int32]string{ + 1: "Name", + 2: "On", + 7: "D", + 9: "Str", + 10: "StringMap", + 11: "StringList", + 13: "E", + 14: "FlagMsg", + 15: "Framework", + 16: "MockCost", +} + +var fieldIDToName_STResponse = map[int32]string{ + 1: "Str", + 2: "Mp", + 3: "FlagMsg", +} + +var _ = instparam.File_instparam_proto diff --git a/kitex_gen/protobuf/stability/stability.pb.go b/kitex_gen/protobuf/stability/stability.pb.go new file mode 100644 index 0000000..5c529dd --- /dev/null +++ b/kitex_gen/protobuf/stability/stability.pb.go @@ -0,0 +1,432 @@ +// +// Copyright 2021 CloudWeGo 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 generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.13.0 +// source: stability.proto + +package stability + +import ( + context "context" + instparam "github.com/cloudwego/kitex-tests/kitex_gen/protobuf/instparam" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type TestEnum int32 + +const ( + TestEnum_ZERO TestEnum = 0 + TestEnum_FIRST TestEnum = 1 + TestEnum_SECOND TestEnum = 2 + TestEnum_THIRD TestEnum = 3 + TestEnum_FOURTH TestEnum = 4 +) + +// Enum value maps for TestEnum. +var ( + TestEnum_name = map[int32]string{ + 0: "ZERO", + 1: "FIRST", + 2: "SECOND", + 3: "THIRD", + 4: "FOURTH", + } + TestEnum_value = map[string]int32{ + "ZERO": 0, + "FIRST": 1, + "SECOND": 2, + "THIRD": 3, + "FOURTH": 4, + } +) + +func (x TestEnum) Enum() *TestEnum { + p := new(TestEnum) + *p = x + return p +} + +func (x TestEnum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TestEnum) Descriptor() protoreflect.EnumDescriptor { + return file_stability_proto_enumTypes[0].Descriptor() +} + +func (TestEnum) Type() protoreflect.EnumType { + return &file_stability_proto_enumTypes[0] +} + +func (x TestEnum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TestEnum.Descriptor instead. +func (TestEnum) EnumDescriptor() ([]byte, []int) { + return file_stability_proto_rawDescGZIP(), []int{0} +} + +type STRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` + On bool `protobuf:"varint,2,opt,name=on,proto3" json:"on,omitempty"` + D float64 `protobuf:"fixed64,7,opt,name=d,proto3" json:"d,omitempty"` + Str string `protobuf:"bytes,9,opt,name=str,proto3" json:"str,omitempty"` + StringMap map[string]string `protobuf:"bytes,10,rep,name=stringMap,proto3" json:"stringMap,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + StringList []string `protobuf:"bytes,11,rep,name=stringList,proto3" json:"stringList,omitempty"` + E TestEnum `protobuf:"varint,13,opt,name=e,proto3,enum=stability.TestEnum" json:"e,omitempty"` + FlagMsg string `protobuf:"bytes,14,opt,name=flagMsg,proto3" json:"flagMsg,omitempty"` + Framework string `protobuf:"bytes,15,opt,name=framework,proto3" json:"framework,omitempty"` + MockCost string `protobuf:"bytes,16,opt,name=mockCost,proto3" json:"mockCost,omitempty"` +} + +func (x *STRequest) Reset() { + *x = STRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_stability_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *STRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*STRequest) ProtoMessage() {} + +func (x *STRequest) ProtoReflect() protoreflect.Message { + mi := &file_stability_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use STRequest.ProtoReflect.Descriptor instead. +func (*STRequest) Descriptor() ([]byte, []int) { + return file_stability_proto_rawDescGZIP(), []int{0} +} + +func (x *STRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *STRequest) GetOn() bool { + if x != nil { + return x.On + } + return false +} + +func (x *STRequest) GetD() float64 { + if x != nil { + return x.D + } + return 0 +} + +func (x *STRequest) GetStr() string { + if x != nil { + return x.Str + } + return "" +} + +func (x *STRequest) GetStringMap() map[string]string { + if x != nil { + return x.StringMap + } + return nil +} + +func (x *STRequest) GetStringList() []string { + if x != nil { + return x.StringList + } + return nil +} + +func (x *STRequest) GetE() TestEnum { + if x != nil { + return x.E + } + return TestEnum_ZERO +} + +func (x *STRequest) GetFlagMsg() string { + if x != nil { + return x.FlagMsg + } + return "" +} + +func (x *STRequest) GetFramework() string { + if x != nil { + return x.Framework + } + return "" +} + +func (x *STRequest) GetMockCost() string { + if x != nil { + return x.MockCost + } + return "" +} + +type STResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Str string `protobuf:"bytes,1,opt,name=str,proto3" json:"str,omitempty"` + Mp map[string]string `protobuf:"bytes,2,rep,name=mp,proto3" json:"mp,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + FlagMsg string `protobuf:"bytes,3,opt,name=flagMsg,proto3" json:"flagMsg,omitempty"` +} + +func (x *STResponse) Reset() { + *x = STResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_stability_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *STResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*STResponse) ProtoMessage() {} + +func (x *STResponse) ProtoReflect() protoreflect.Message { + mi := &file_stability_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use STResponse.ProtoReflect.Descriptor instead. +func (*STResponse) Descriptor() ([]byte, []int) { + return file_stability_proto_rawDescGZIP(), []int{1} +} + +func (x *STResponse) GetStr() string { + if x != nil { + return x.Str + } + return "" +} + +func (x *STResponse) GetMp() map[string]string { + if x != nil { + return x.Mp + } + return nil +} + +func (x *STResponse) GetFlagMsg() string { + if x != nil { + return x.FlagMsg + } + return "" +} + +var File_stability_proto protoreflect.FileDescriptor + +var file_stability_proto_rawDesc = []byte{ + 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x09, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x1a, 0x0f, 0x69, 0x6e, + 0x73, 0x74, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe7, 0x02, + 0x0a, 0x09, 0x53, 0x54, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x0e, 0x0a, 0x02, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6e, 0x12, + 0x0c, 0x0a, 0x01, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x64, 0x12, 0x10, 0x0a, + 0x03, 0x73, 0x74, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, + 0x41, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x18, 0x0a, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x53, + 0x54, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, + 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, + 0x61, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, + 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x21, 0x0a, 0x01, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, + 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, + 0x75, 0x6d, 0x52, 0x01, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6c, 0x61, 0x67, 0x4d, 0x73, 0x67, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x6c, 0x61, 0x67, 0x4d, 0x73, 0x67, 0x12, + 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1a, 0x0a, + 0x08, 0x6d, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6d, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x73, 0x74, 0x1a, 0x3c, 0x0a, 0x0e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9e, 0x01, 0x0a, 0x0a, 0x53, 0x54, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x2d, 0x0a, 0x02, 0x6d, 0x70, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x2e, 0x53, 0x54, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x70, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x02, 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6c, 0x61, 0x67, 0x4d, + 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x6c, 0x61, 0x67, 0x4d, 0x73, + 0x67, 0x1a, 0x35, 0x0a, 0x07, 0x4d, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x42, 0x0a, 0x08, 0x54, 0x65, 0x73, 0x74, + 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x08, 0x0a, 0x04, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x09, + 0x0a, 0x05, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x43, + 0x4f, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x48, 0x49, 0x52, 0x44, 0x10, 0x03, + 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x4f, 0x55, 0x52, 0x54, 0x48, 0x10, 0x04, 0x32, 0x7a, 0x0a, 0x09, + 0x53, 0x54, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x65, 0x73, + 0x74, 0x53, 0x54, 0x52, 0x65, 0x71, 0x12, 0x14, 0x2e, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x2e, 0x53, 0x54, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x73, + 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x53, 0x54, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x52, 0x65, + 0x71, 0x12, 0x11, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x4f, 0x62, + 0x6a, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x2e, 0x4f, 0x62, 0x6a, 0x52, 0x65, 0x73, 0x70, 0x42, 0x3f, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x77, 0x65, 0x67, 0x6f, + 0x2f, 0x6b, 0x69, 0x74, 0x65, 0x78, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x73, 0x2f, 0x6b, 0x69, 0x74, + 0x65, 0x78, 0x5f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_stability_proto_rawDescOnce sync.Once + file_stability_proto_rawDescData = file_stability_proto_rawDesc +) + +func file_stability_proto_rawDescGZIP() []byte { + file_stability_proto_rawDescOnce.Do(func() { + file_stability_proto_rawDescData = protoimpl.X.CompressGZIP(file_stability_proto_rawDescData) + }) + return file_stability_proto_rawDescData +} + +var file_stability_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_stability_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_stability_proto_goTypes = []interface{}{ + (TestEnum)(0), // 0: stability.TestEnum + (*STRequest)(nil), // 1: stability.STRequest + (*STResponse)(nil), // 2: stability.STResponse + nil, // 3: stability.STRequest.StringMapEntry + nil, // 4: stability.STResponse.MpEntry + (*instparam.ObjReq)(nil), // 5: instparam.ObjReq + (*instparam.ObjResp)(nil), // 6: instparam.ObjResp +} +var file_stability_proto_depIdxs = []int32{ + 3, // 0: stability.STRequest.stringMap:type_name -> stability.STRequest.StringMapEntry + 0, // 1: stability.STRequest.e:type_name -> stability.TestEnum + 4, // 2: stability.STResponse.mp:type_name -> stability.STResponse.MpEntry + 1, // 3: stability.STService.testSTReq:input_type -> stability.STRequest + 5, // 4: stability.STService.testObjReq:input_type -> instparam.ObjReq + 2, // 5: stability.STService.testSTReq:output_type -> stability.STResponse + 6, // 6: stability.STService.testObjReq:output_type -> instparam.ObjResp + 5, // [5:7] is the sub-list for method output_type + 3, // [3:5] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_stability_proto_init() } +func file_stability_proto_init() { + if File_stability_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_stability_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*STRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_stability_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*STResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_stability_proto_rawDesc, + NumEnums: 1, + NumMessages: 4, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_stability_proto_goTypes, + DependencyIndexes: file_stability_proto_depIdxs, + EnumInfos: file_stability_proto_enumTypes, + MessageInfos: file_stability_proto_msgTypes, + }.Build() + File_stability_proto = out.File + file_stability_proto_rawDesc = nil + file_stability_proto_goTypes = nil + file_stability_proto_depIdxs = nil +} + +var _ context.Context + +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +type STService interface { + TestSTReq(ctx context.Context, req *STRequest) (res *STResponse, err error) + TestObjReq(ctx context.Context, req *instparam.ObjReq) (res *instparam.ObjResp, err error) +} diff --git a/kitex_gen/protobuf/stability/stservice/client.go b/kitex_gen/protobuf/stability/stservice/client.go new file mode 100644 index 0000000..a2b3cde --- /dev/null +++ b/kitex_gen/protobuf/stability/stservice/client.go @@ -0,0 +1,56 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package stservice + +import ( + "context" + instparam "github.com/cloudwego/kitex-tests/kitex_gen/protobuf/instparam" + stability "github.com/cloudwego/kitex-tests/kitex_gen/protobuf/stability" + client "github.com/cloudwego/kitex/client" + callopt "github.com/cloudwego/kitex/client/callopt" +) + +// Client is designed to provide IDL-compatible methods with call-option parameter for kitex framework. +type Client interface { + TestSTReq(ctx context.Context, Req *stability.STRequest, callOptions ...callopt.Option) (r *stability.STResponse, err error) + TestObjReq(ctx context.Context, Req *instparam.ObjReq, callOptions ...callopt.Option) (r *instparam.ObjResp, err error) +} + +// NewClient creates a client for the service defined in IDL. +func NewClient(destService string, opts ...client.Option) (Client, error) { + var options []client.Option + options = append(options, client.WithDestService(destService)) + + options = append(options, opts...) + + kc, err := client.NewClient(serviceInfo(), options...) + if err != nil { + return nil, err + } + return &kSTServiceClient{ + kClient: newServiceClient(kc), + }, nil +} + +// MustNewClient creates a client for the service defined in IDL. It panics if any error occurs. +func MustNewClient(destService string, opts ...client.Option) Client { + kc, err := NewClient(destService, opts...) + if err != nil { + panic(err) + } + return kc +} + +type kSTServiceClient struct { + *kClient +} + +func (p *kSTServiceClient) TestSTReq(ctx context.Context, Req *stability.STRequest, callOptions ...callopt.Option) (r *stability.STResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.TestSTReq(ctx, Req) +} + +func (p *kSTServiceClient) TestObjReq(ctx context.Context, Req *instparam.ObjReq, callOptions ...callopt.Option) (r *instparam.ObjResp, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.TestObjReq(ctx, Req) +} diff --git a/kitex_gen/protobuf/stability/stservice/invoker.go b/kitex_gen/protobuf/stability/stservice/invoker.go new file mode 100644 index 0000000..0b55545 --- /dev/null +++ b/kitex_gen/protobuf/stability/stservice/invoker.go @@ -0,0 +1,24 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package stservice + +import ( + stability "github.com/cloudwego/kitex-tests/kitex_gen/protobuf/stability" + server "github.com/cloudwego/kitex/server" +) + +// NewInvoker creates a server.Invoker with the given handler and options. +func NewInvoker(handler stability.STService, opts ...server.Option) server.Invoker { + var options []server.Option + + options = append(options, opts...) + + s := server.NewInvoker(options...) + if err := s.RegisterService(serviceInfo(), handler); err != nil { + panic(err) + } + if err := s.Init(); err != nil { + panic(err) + } + return s +} diff --git a/kitex_gen/protobuf/stability/stservice/server.go b/kitex_gen/protobuf/stability/stservice/server.go new file mode 100644 index 0000000..e380033 --- /dev/null +++ b/kitex_gen/protobuf/stability/stservice/server.go @@ -0,0 +1,20 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. +package stservice + +import ( + stability "github.com/cloudwego/kitex-tests/kitex_gen/protobuf/stability" + server "github.com/cloudwego/kitex/server" +) + +// NewServer creates a server.Server with the given handler and options. +func NewServer(handler stability.STService, opts ...server.Option) server.Server { + var options []server.Option + + options = append(options, opts...) + + svr := server.NewServer(options...) + if err := svr.RegisterService(serviceInfo(), handler); err != nil { + panic(err) + } + return svr +} diff --git a/kitex_gen/protobuf/stability/stservice/stservice.go b/kitex_gen/protobuf/stability/stservice/stservice.go new file mode 100644 index 0000000..430a6d4 --- /dev/null +++ b/kitex_gen/protobuf/stability/stservice/stservice.go @@ -0,0 +1,377 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package stservice + +import ( + "context" + "fmt" + instparam "github.com/cloudwego/kitex-tests/kitex_gen/protobuf/instparam" + stability "github.com/cloudwego/kitex-tests/kitex_gen/protobuf/stability" + client "github.com/cloudwego/kitex/client" + kitex "github.com/cloudwego/kitex/pkg/serviceinfo" + streaming "github.com/cloudwego/kitex/pkg/streaming" + proto "google.golang.org/protobuf/proto" +) + +func serviceInfo() *kitex.ServiceInfo { + return sTServiceServiceInfo +} + +var sTServiceServiceInfo = NewServiceInfo() + +func NewServiceInfo() *kitex.ServiceInfo { + serviceName := "STService" + handlerType := (*stability.STService)(nil) + methods := map[string]kitex.MethodInfo{ + "testSTReq": kitex.NewMethodInfo(testSTReqHandler, newTestSTReqArgs, newTestSTReqResult, false), + "testObjReq": kitex.NewMethodInfo(testObjReqHandler, newTestObjReqArgs, newTestObjReqResult, false), + } + extra := map[string]interface{}{ + "PackageName": "stability", + } + svcInfo := &kitex.ServiceInfo{ + ServiceName: serviceName, + HandlerType: handlerType, + Methods: methods, + PayloadCodec: kitex.Protobuf, + KiteXGenVersion: "v0.5.2", + Extra: extra, + } + return svcInfo +} + +func testSTReqHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + switch s := arg.(type) { + case *streaming.Args: + st := s.Stream + req := new(stability.STRequest) + if err := st.RecvMsg(req); err != nil { + return err + } + resp, err := handler.(stability.STService).TestSTReq(ctx, req) + if err != nil { + return err + } + if err := st.SendMsg(resp); err != nil { + return err + } + case *TestSTReqArgs: + success, err := handler.(stability.STService).TestSTReq(ctx, s.Req) + if err != nil { + return err + } + realResult := result.(*TestSTReqResult) + realResult.Success = success + } + return nil +} +func newTestSTReqArgs() interface{} { + return &TestSTReqArgs{} +} + +func newTestSTReqResult() interface{} { + return &TestSTReqResult{} +} + +type TestSTReqArgs struct { + Req *stability.STRequest +} + +func (p *TestSTReqArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { + if !p.IsSetReq() { + p.Req = new(stability.STRequest) + } + return p.Req.FastRead(buf, _type, number) +} + +func (p *TestSTReqArgs) FastWrite(buf []byte) (n int) { + if !p.IsSetReq() { + return 0 + } + return p.Req.FastWrite(buf) +} + +func (p *TestSTReqArgs) Size() (n int) { + if !p.IsSetReq() { + return 0 + } + return p.Req.Size() +} + +func (p *TestSTReqArgs) Marshal(out []byte) ([]byte, error) { + if !p.IsSetReq() { + return out, fmt.Errorf("No req in TestSTReqArgs") + } + return proto.Marshal(p.Req) +} + +func (p *TestSTReqArgs) Unmarshal(in []byte) error { + msg := new(stability.STRequest) + if err := proto.Unmarshal(in, msg); err != nil { + return err + } + p.Req = msg + return nil +} + +var TestSTReqArgs_Req_DEFAULT *stability.STRequest + +func (p *TestSTReqArgs) GetReq() *stability.STRequest { + if !p.IsSetReq() { + return TestSTReqArgs_Req_DEFAULT + } + return p.Req +} + +func (p *TestSTReqArgs) IsSetReq() bool { + return p.Req != nil +} + +func (p *TestSTReqArgs) GetFirstArgument() interface{} { + return p.Req +} + +type TestSTReqResult struct { + Success *stability.STResponse +} + +var TestSTReqResult_Success_DEFAULT *stability.STResponse + +func (p *TestSTReqResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { + if !p.IsSetSuccess() { + p.Success = new(stability.STResponse) + } + return p.Success.FastRead(buf, _type, number) +} + +func (p *TestSTReqResult) FastWrite(buf []byte) (n int) { + if !p.IsSetSuccess() { + return 0 + } + return p.Success.FastWrite(buf) +} + +func (p *TestSTReqResult) Size() (n int) { + if !p.IsSetSuccess() { + return 0 + } + return p.Success.Size() +} + +func (p *TestSTReqResult) Marshal(out []byte) ([]byte, error) { + if !p.IsSetSuccess() { + return out, fmt.Errorf("No req in TestSTReqResult") + } + return proto.Marshal(p.Success) +} + +func (p *TestSTReqResult) Unmarshal(in []byte) error { + msg := new(stability.STResponse) + if err := proto.Unmarshal(in, msg); err != nil { + return err + } + p.Success = msg + return nil +} + +func (p *TestSTReqResult) GetSuccess() *stability.STResponse { + if !p.IsSetSuccess() { + return TestSTReqResult_Success_DEFAULT + } + return p.Success +} + +func (p *TestSTReqResult) SetSuccess(x interface{}) { + p.Success = x.(*stability.STResponse) +} + +func (p *TestSTReqResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *TestSTReqResult) GetResult() interface{} { + return p.Success +} + +func testObjReqHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + switch s := arg.(type) { + case *streaming.Args: + st := s.Stream + req := new(instparam.ObjReq) + if err := st.RecvMsg(req); err != nil { + return err + } + resp, err := handler.(stability.STService).TestObjReq(ctx, req) + if err != nil { + return err + } + if err := st.SendMsg(resp); err != nil { + return err + } + case *TestObjReqArgs: + success, err := handler.(stability.STService).TestObjReq(ctx, s.Req) + if err != nil { + return err + } + realResult := result.(*TestObjReqResult) + realResult.Success = success + } + return nil +} +func newTestObjReqArgs() interface{} { + return &TestObjReqArgs{} +} + +func newTestObjReqResult() interface{} { + return &TestObjReqResult{} +} + +type TestObjReqArgs struct { + Req *instparam.ObjReq +} + +func (p *TestObjReqArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { + if !p.IsSetReq() { + p.Req = new(instparam.ObjReq) + } + return p.Req.FastRead(buf, _type, number) +} + +func (p *TestObjReqArgs) FastWrite(buf []byte) (n int) { + if !p.IsSetReq() { + return 0 + } + return p.Req.FastWrite(buf) +} + +func (p *TestObjReqArgs) Size() (n int) { + if !p.IsSetReq() { + return 0 + } + return p.Req.Size() +} + +func (p *TestObjReqArgs) Marshal(out []byte) ([]byte, error) { + if !p.IsSetReq() { + return out, fmt.Errorf("No req in TestObjReqArgs") + } + return proto.Marshal(p.Req) +} + +func (p *TestObjReqArgs) Unmarshal(in []byte) error { + msg := new(instparam.ObjReq) + if err := proto.Unmarshal(in, msg); err != nil { + return err + } + p.Req = msg + return nil +} + +var TestObjReqArgs_Req_DEFAULT *instparam.ObjReq + +func (p *TestObjReqArgs) GetReq() *instparam.ObjReq { + if !p.IsSetReq() { + return TestObjReqArgs_Req_DEFAULT + } + return p.Req +} + +func (p *TestObjReqArgs) IsSetReq() bool { + return p.Req != nil +} + +func (p *TestObjReqArgs) GetFirstArgument() interface{} { + return p.Req +} + +type TestObjReqResult struct { + Success *instparam.ObjResp +} + +var TestObjReqResult_Success_DEFAULT *instparam.ObjResp + +func (p *TestObjReqResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { + if !p.IsSetSuccess() { + p.Success = new(instparam.ObjResp) + } + return p.Success.FastRead(buf, _type, number) +} + +func (p *TestObjReqResult) FastWrite(buf []byte) (n int) { + if !p.IsSetSuccess() { + return 0 + } + return p.Success.FastWrite(buf) +} + +func (p *TestObjReqResult) Size() (n int) { + if !p.IsSetSuccess() { + return 0 + } + return p.Success.Size() +} + +func (p *TestObjReqResult) Marshal(out []byte) ([]byte, error) { + if !p.IsSetSuccess() { + return out, fmt.Errorf("No req in TestObjReqResult") + } + return proto.Marshal(p.Success) +} + +func (p *TestObjReqResult) Unmarshal(in []byte) error { + msg := new(instparam.ObjResp) + if err := proto.Unmarshal(in, msg); err != nil { + return err + } + p.Success = msg + return nil +} + +func (p *TestObjReqResult) GetSuccess() *instparam.ObjResp { + if !p.IsSetSuccess() { + return TestObjReqResult_Success_DEFAULT + } + return p.Success +} + +func (p *TestObjReqResult) SetSuccess(x interface{}) { + p.Success = x.(*instparam.ObjResp) +} + +func (p *TestObjReqResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *TestObjReqResult) GetResult() interface{} { + return p.Success +} + +type kClient struct { + c client.Client +} + +func newServiceClient(c client.Client) *kClient { + return &kClient{ + c: c, + } +} + +func (p *kClient) TestSTReq(ctx context.Context, Req *stability.STRequest) (r *stability.STResponse, err error) { + var _args TestSTReqArgs + _args.Req = Req + var _result TestSTReqResult + if err = p.c.Call(ctx, "testSTReq", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) TestObjReq(ctx context.Context, Req *instparam.ObjReq) (r *instparam.ObjResp, err error) { + var _args TestObjReqArgs + _args.Req = Req + var _result TestObjReqResult + if err = p.c.Call(ctx, "testObjReq", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} diff --git a/kitex_gen/protobuf/unknown_handler/servicea/client.go b/kitex_gen/protobuf/unknown_handler/servicea/client.go new file mode 100644 index 0000000..f759ff2 --- /dev/null +++ b/kitex_gen/protobuf/unknown_handler/servicea/client.go @@ -0,0 +1,49 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package servicea + +import ( + "context" + unknown_handler "github.com/cloudwego/kitex-tests/kitex_gen/protobuf/unknown_handler" + client "github.com/cloudwego/kitex/client" + callopt "github.com/cloudwego/kitex/client/callopt" +) + +// Client is designed to provide IDL-compatible methods with call-option parameter for kitex framework. +type Client interface { + Echo(ctx context.Context, Req *unknown_handler.Request, callOptions ...callopt.Option) (r *unknown_handler.Reply, err error) +} + +// NewClient creates a client for the service defined in IDL. +func NewClient(destService string, opts ...client.Option) (Client, error) { + var options []client.Option + options = append(options, client.WithDestService(destService)) + + options = append(options, opts...) + + kc, err := client.NewClient(serviceInfo(), options...) + if err != nil { + return nil, err + } + return &kServiceAClient{ + kClient: newServiceClient(kc), + }, nil +} + +// MustNewClient creates a client for the service defined in IDL. It panics if any error occurs. +func MustNewClient(destService string, opts ...client.Option) Client { + kc, err := NewClient(destService, opts...) + if err != nil { + panic(err) + } + return kc +} + +type kServiceAClient struct { + *kClient +} + +func (p *kServiceAClient) Echo(ctx context.Context, Req *unknown_handler.Request, callOptions ...callopt.Option) (r *unknown_handler.Reply, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.Echo(ctx, Req) +} diff --git a/kitex_gen/protobuf/unknown_handler/servicea/invoker.go b/kitex_gen/protobuf/unknown_handler/servicea/invoker.go new file mode 100644 index 0000000..ad36eb8 --- /dev/null +++ b/kitex_gen/protobuf/unknown_handler/servicea/invoker.go @@ -0,0 +1,24 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package servicea + +import ( + unknown_handler "github.com/cloudwego/kitex-tests/kitex_gen/protobuf/unknown_handler" + server "github.com/cloudwego/kitex/server" +) + +// NewInvoker creates a server.Invoker with the given handler and options. +func NewInvoker(handler unknown_handler.ServiceA, opts ...server.Option) server.Invoker { + var options []server.Option + + options = append(options, opts...) + + s := server.NewInvoker(options...) + if err := s.RegisterService(serviceInfo(), handler); err != nil { + panic(err) + } + if err := s.Init(); err != nil { + panic(err) + } + return s +} diff --git a/kitex_gen/protobuf/unknown_handler/servicea/server.go b/kitex_gen/protobuf/unknown_handler/servicea/server.go new file mode 100644 index 0000000..8c1b8c1 --- /dev/null +++ b/kitex_gen/protobuf/unknown_handler/servicea/server.go @@ -0,0 +1,20 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. +package servicea + +import ( + unknown_handler "github.com/cloudwego/kitex-tests/kitex_gen/protobuf/unknown_handler" + server "github.com/cloudwego/kitex/server" +) + +// NewServer creates a server.Server with the given handler and options. +func NewServer(handler unknown_handler.ServiceA, opts ...server.Option) server.Server { + var options []server.Option + + options = append(options, opts...) + + svr := server.NewServer(options...) + if err := svr.RegisterService(serviceInfo(), handler); err != nil { + panic(err) + } + return svr +} diff --git a/kitex_gen/protobuf/unknown_handler/servicea/servicea.go b/kitex_gen/protobuf/unknown_handler/servicea/servicea.go new file mode 100644 index 0000000..5a8bc79 --- /dev/null +++ b/kitex_gen/protobuf/unknown_handler/servicea/servicea.go @@ -0,0 +1,212 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package servicea + +import ( + "context" + "fmt" + unknown_handler "github.com/cloudwego/kitex-tests/kitex_gen/protobuf/unknown_handler" + client "github.com/cloudwego/kitex/client" + kitex "github.com/cloudwego/kitex/pkg/serviceinfo" + streaming "github.com/cloudwego/kitex/pkg/streaming" + proto "google.golang.org/protobuf/proto" +) + +func serviceInfo() *kitex.ServiceInfo { + return serviceAServiceInfo +} + +var serviceAServiceInfo = NewServiceInfo() + +func NewServiceInfo() *kitex.ServiceInfo { + serviceName := "ServiceA" + handlerType := (*unknown_handler.ServiceA)(nil) + methods := map[string]kitex.MethodInfo{ + "Echo": kitex.NewMethodInfo(echoHandler, newEchoArgs, newEchoResult, false), + } + extra := map[string]interface{}{ + "PackageName": "unknown_handler", + } + svcInfo := &kitex.ServiceInfo{ + ServiceName: serviceName, + HandlerType: handlerType, + Methods: methods, + PayloadCodec: kitex.Protobuf, + KiteXGenVersion: "v0.5.2", + Extra: extra, + } + return svcInfo +} + +func echoHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + switch s := arg.(type) { + case *streaming.Args: + st := s.Stream + req := new(unknown_handler.Request) + if err := st.RecvMsg(req); err != nil { + return err + } + resp, err := handler.(unknown_handler.ServiceA).Echo(ctx, req) + if err != nil { + return err + } + if err := st.SendMsg(resp); err != nil { + return err + } + case *EchoArgs: + success, err := handler.(unknown_handler.ServiceA).Echo(ctx, s.Req) + if err != nil { + return err + } + realResult := result.(*EchoResult) + realResult.Success = success + } + return nil +} +func newEchoArgs() interface{} { + return &EchoArgs{} +} + +func newEchoResult() interface{} { + return &EchoResult{} +} + +type EchoArgs struct { + Req *unknown_handler.Request +} + +func (p *EchoArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { + if !p.IsSetReq() { + p.Req = new(unknown_handler.Request) + } + return p.Req.FastRead(buf, _type, number) +} + +func (p *EchoArgs) FastWrite(buf []byte) (n int) { + if !p.IsSetReq() { + return 0 + } + return p.Req.FastWrite(buf) +} + +func (p *EchoArgs) Size() (n int) { + if !p.IsSetReq() { + return 0 + } + return p.Req.Size() +} + +func (p *EchoArgs) Marshal(out []byte) ([]byte, error) { + if !p.IsSetReq() { + return out, fmt.Errorf("No req in EchoArgs") + } + return proto.Marshal(p.Req) +} + +func (p *EchoArgs) Unmarshal(in []byte) error { + msg := new(unknown_handler.Request) + if err := proto.Unmarshal(in, msg); err != nil { + return err + } + p.Req = msg + return nil +} + +var EchoArgs_Req_DEFAULT *unknown_handler.Request + +func (p *EchoArgs) GetReq() *unknown_handler.Request { + if !p.IsSetReq() { + return EchoArgs_Req_DEFAULT + } + return p.Req +} + +func (p *EchoArgs) IsSetReq() bool { + return p.Req != nil +} + +func (p *EchoArgs) GetFirstArgument() interface{} { + return p.Req +} + +type EchoResult struct { + Success *unknown_handler.Reply +} + +var EchoResult_Success_DEFAULT *unknown_handler.Reply + +func (p *EchoResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { + if !p.IsSetSuccess() { + p.Success = new(unknown_handler.Reply) + } + return p.Success.FastRead(buf, _type, number) +} + +func (p *EchoResult) FastWrite(buf []byte) (n int) { + if !p.IsSetSuccess() { + return 0 + } + return p.Success.FastWrite(buf) +} + +func (p *EchoResult) Size() (n int) { + if !p.IsSetSuccess() { + return 0 + } + return p.Success.Size() +} + +func (p *EchoResult) Marshal(out []byte) ([]byte, error) { + if !p.IsSetSuccess() { + return out, fmt.Errorf("No req in EchoResult") + } + return proto.Marshal(p.Success) +} + +func (p *EchoResult) Unmarshal(in []byte) error { + msg := new(unknown_handler.Reply) + if err := proto.Unmarshal(in, msg); err != nil { + return err + } + p.Success = msg + return nil +} + +func (p *EchoResult) GetSuccess() *unknown_handler.Reply { + if !p.IsSetSuccess() { + return EchoResult_Success_DEFAULT + } + return p.Success +} + +func (p *EchoResult) SetSuccess(x interface{}) { + p.Success = x.(*unknown_handler.Reply) +} + +func (p *EchoResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *EchoResult) GetResult() interface{} { + return p.Success +} + +type kClient struct { + c client.Client +} + +func newServiceClient(c client.Client) *kClient { + return &kClient{ + c: c, + } +} + +func (p *kClient) Echo(ctx context.Context, Req *unknown_handler.Request) (r *unknown_handler.Reply, err error) { + var _args EchoArgs + _args.Req = Req + var _result EchoResult + if err = p.c.Call(ctx, "Echo", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} diff --git a/kitex_gen/protobuf/unknown_handler/serviceb/client.go b/kitex_gen/protobuf/unknown_handler/serviceb/client.go new file mode 100644 index 0000000..cb836d7 --- /dev/null +++ b/kitex_gen/protobuf/unknown_handler/serviceb/client.go @@ -0,0 +1,40 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package serviceb + +import ( + client "github.com/cloudwego/kitex/client" +) + +// Client is designed to provide IDL-compatible methods with call-option parameter for kitex framework. +type Client interface { +} + +// NewClient creates a client for the service defined in IDL. +func NewClient(destService string, opts ...client.Option) (Client, error) { + var options []client.Option + options = append(options, client.WithDestService(destService)) + + options = append(options, opts...) + + kc, err := client.NewClient(serviceInfo(), options...) + if err != nil { + return nil, err + } + return &kServiceBClient{ + kClient: newServiceClient(kc), + }, nil +} + +// MustNewClient creates a client for the service defined in IDL. It panics if any error occurs. +func MustNewClient(destService string, opts ...client.Option) Client { + kc, err := NewClient(destService, opts...) + if err != nil { + panic(err) + } + return kc +} + +type kServiceBClient struct { + *kClient +} diff --git a/kitex_gen/protobuf/unknown_handler/serviceb/invoker.go b/kitex_gen/protobuf/unknown_handler/serviceb/invoker.go new file mode 100644 index 0000000..1473b4b --- /dev/null +++ b/kitex_gen/protobuf/unknown_handler/serviceb/invoker.go @@ -0,0 +1,24 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package serviceb + +import ( + unknown_handler "github.com/cloudwego/kitex-tests/kitex_gen/protobuf/unknown_handler" + server "github.com/cloudwego/kitex/server" +) + +// NewInvoker creates a server.Invoker with the given handler and options. +func NewInvoker(handler unknown_handler.ServiceB, opts ...server.Option) server.Invoker { + var options []server.Option + + options = append(options, opts...) + + s := server.NewInvoker(options...) + if err := s.RegisterService(serviceInfo(), handler); err != nil { + panic(err) + } + if err := s.Init(); err != nil { + panic(err) + } + return s +} diff --git a/kitex_gen/protobuf/unknown_handler/serviceb/server.go b/kitex_gen/protobuf/unknown_handler/serviceb/server.go new file mode 100644 index 0000000..d254186 --- /dev/null +++ b/kitex_gen/protobuf/unknown_handler/serviceb/server.go @@ -0,0 +1,20 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. +package serviceb + +import ( + unknown_handler "github.com/cloudwego/kitex-tests/kitex_gen/protobuf/unknown_handler" + server "github.com/cloudwego/kitex/server" +) + +// NewServer creates a server.Server with the given handler and options. +func NewServer(handler unknown_handler.ServiceB, opts ...server.Option) server.Server { + var options []server.Option + + options = append(options, opts...) + + svr := server.NewServer(options...) + if err := svr.RegisterService(serviceInfo(), handler); err != nil { + panic(err) + } + return svr +} diff --git a/kitex_gen/protobuf/unknown_handler/serviceb/serviceb.go b/kitex_gen/protobuf/unknown_handler/serviceb/serviceb.go new file mode 100644 index 0000000..89e0745 --- /dev/null +++ b/kitex_gen/protobuf/unknown_handler/serviceb/serviceb.go @@ -0,0 +1,43 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package serviceb + +import ( + unknown_handler "github.com/cloudwego/kitex-tests/kitex_gen/protobuf/unknown_handler" + client "github.com/cloudwego/kitex/client" + kitex "github.com/cloudwego/kitex/pkg/serviceinfo" +) + +func serviceInfo() *kitex.ServiceInfo { + return serviceBServiceInfo +} + +var serviceBServiceInfo = NewServiceInfo() + +func NewServiceInfo() *kitex.ServiceInfo { + serviceName := "ServiceB" + handlerType := (*unknown_handler.ServiceB)(nil) + methods := map[string]kitex.MethodInfo{} + extra := map[string]interface{}{ + "PackageName": "unknown_handler", + } + svcInfo := &kitex.ServiceInfo{ + ServiceName: serviceName, + HandlerType: handlerType, + Methods: methods, + PayloadCodec: kitex.Protobuf, + KiteXGenVersion: "v0.5.2", + Extra: extra, + } + return svcInfo +} + +type kClient struct { + c client.Client +} + +func newServiceClient(c client.Client) *kClient { + return &kClient{ + c: c, + } +} diff --git a/kitex_gen/protobuf/unknown_handler/unknown_handler.pb.fast.go b/kitex_gen/protobuf/unknown_handler/unknown_handler.pb.fast.go new file mode 100644 index 0000000..1c2217e --- /dev/null +++ b/kitex_gen/protobuf/unknown_handler/unknown_handler.pb.fast.go @@ -0,0 +1,135 @@ +// Code generated by Fastpb v0.0.2. DO NOT EDIT. + +package unknown_handler + +import ( + fmt "fmt" + fastpb "github.com/cloudwego/fastpb" +) + +var ( + _ = fmt.Errorf + _ = fastpb.Skip +) + +func (x *Request) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + case 1: + offset, err = x.fastReadField1(buf, _type) + if err != nil { + goto ReadFieldError + } + default: + offset, err = fastpb.Skip(buf, _type, number) + if err != nil { + goto SkipFieldError + } + } + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) +ReadFieldError: + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_Request[number], err) +} + +func (x *Request) fastReadField1(buf []byte, _type int8) (offset int, err error) { + x.Name, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *Reply) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + case 1: + offset, err = x.fastReadField1(buf, _type) + if err != nil { + goto ReadFieldError + } + default: + offset, err = fastpb.Skip(buf, _type, number) + if err != nil { + goto SkipFieldError + } + } + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) +ReadFieldError: + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_Reply[number], err) +} + +func (x *Reply) fastReadField1(buf []byte, _type int8) (offset int, err error) { + x.Message, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *Request) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + return offset +} + +func (x *Request) fastWriteField1(buf []byte) (offset int) { + if x.Name == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 1, x.GetName()) + return offset +} + +func (x *Reply) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + return offset +} + +func (x *Reply) fastWriteField1(buf []byte) (offset int) { + if x.Message == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 1, x.GetMessage()) + return offset +} + +func (x *Request) Size() (n int) { + if x == nil { + return n + } + n += x.sizeField1() + return n +} + +func (x *Request) sizeField1() (n int) { + if x.Name == "" { + return n + } + n += fastpb.SizeString(1, x.GetName()) + return n +} + +func (x *Reply) Size() (n int) { + if x == nil { + return n + } + n += x.sizeField1() + return n +} + +func (x *Reply) sizeField1() (n int) { + if x.Message == "" { + return n + } + n += fastpb.SizeString(1, x.GetMessage()) + return n +} + +var fieldIDToName_Request = map[int32]string{ + 1: "Name", +} + +var fieldIDToName_Reply = map[int32]string{ + 1: "Message", +} diff --git a/kitex_gen/protobuf/unknown_handler/unknown_handler.pb.go b/kitex_gen/protobuf/unknown_handler/unknown_handler.pb.go new file mode 100644 index 0000000..6d152e8 --- /dev/null +++ b/kitex_gen/protobuf/unknown_handler/unknown_handler.pb.go @@ -0,0 +1,242 @@ +// +// Copyright 2022 CloudWeGo 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 generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.13.0 +// source: unknown_handler.proto + +package unknown_handler + +import ( + context "context" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Request struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *Request) Reset() { + *x = Request{} + if protoimpl.UnsafeEnabled { + mi := &file_unknown_handler_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Request) ProtoMessage() {} + +func (x *Request) ProtoReflect() protoreflect.Message { + mi := &file_unknown_handler_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Request.ProtoReflect.Descriptor instead. +func (*Request) Descriptor() ([]byte, []int) { + return file_unknown_handler_proto_rawDescGZIP(), []int{0} +} + +func (x *Request) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type Reply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` +} + +func (x *Reply) Reset() { + *x = Reply{} + if protoimpl.UnsafeEnabled { + mi := &file_unknown_handler_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Reply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Reply) ProtoMessage() {} + +func (x *Reply) ProtoReflect() protoreflect.Message { + mi := &file_unknown_handler_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Reply.ProtoReflect.Descriptor instead. +func (*Reply) Descriptor() ([]byte, []int) { + return file_unknown_handler_proto_rawDescGZIP(), []int{1} +} + +func (x *Reply) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +var File_unknown_handler_proto protoreflect.FileDescriptor + +var file_unknown_handler_proto_rawDesc = []byte{ + 0x0a, 0x15, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, + 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x21, 0x0a, 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0x0a, 0x0a, 0x08, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x32, 0x46, 0x0a, 0x08, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x41, 0x12, 0x3a, 0x0a, 0x04, 0x45, 0x63, 0x68, 0x6f, 0x12, 0x18, 0x2e, 0x75, 0x6e, 0x6b, + 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x42, 0x45, + 0x5a, 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x77, 0x65, 0x67, 0x6f, 0x2f, 0x6b, 0x69, 0x74, 0x65, 0x78, 0x2d, 0x74, 0x65, 0x73, + 0x74, 0x73, 0x2f, 0x6b, 0x69, 0x74, 0x65, 0x78, 0x5f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_unknown_handler_proto_rawDescOnce sync.Once + file_unknown_handler_proto_rawDescData = file_unknown_handler_proto_rawDesc +) + +func file_unknown_handler_proto_rawDescGZIP() []byte { + file_unknown_handler_proto_rawDescOnce.Do(func() { + file_unknown_handler_proto_rawDescData = protoimpl.X.CompressGZIP(file_unknown_handler_proto_rawDescData) + }) + return file_unknown_handler_proto_rawDescData +} + +var file_unknown_handler_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_unknown_handler_proto_goTypes = []interface{}{ + (*Request)(nil), // 0: unknown_handler.Request + (*Reply)(nil), // 1: unknown_handler.Reply +} +var file_unknown_handler_proto_depIdxs = []int32{ + 0, // 0: unknown_handler.ServiceA.Echo:input_type -> unknown_handler.Request + 1, // 1: unknown_handler.ServiceA.Echo:output_type -> unknown_handler.Reply + 1, // [1:2] is the sub-list for method output_type + 0, // [0:1] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_unknown_handler_proto_init() } +func file_unknown_handler_proto_init() { + if File_unknown_handler_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_unknown_handler_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Request); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_unknown_handler_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Reply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_unknown_handler_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 2, + }, + GoTypes: file_unknown_handler_proto_goTypes, + DependencyIndexes: file_unknown_handler_proto_depIdxs, + MessageInfos: file_unknown_handler_proto_msgTypes, + }.Build() + File_unknown_handler_proto = out.File + file_unknown_handler_proto_rawDesc = nil + file_unknown_handler_proto_goTypes = nil + file_unknown_handler_proto_depIdxs = nil +} + +var _ context.Context + +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +type ServiceB interface { +} + +type ServiceA interface { + Echo(ctx context.Context, req *Request) (res *Reply, err error) +} diff --git a/kitex_gen/thrift/http/bizservice/bizservice.go b/kitex_gen/thrift/http/bizservice/bizservice.go new file mode 100644 index 0000000..d1daabe --- /dev/null +++ b/kitex_gen/thrift/http/bizservice/bizservice.go @@ -0,0 +1,132 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package bizservice + +import ( + "context" + http "github.com/cloudwego/kitex-tests/kitex_gen/thrift/http" + client "github.com/cloudwego/kitex/client" + kitex "github.com/cloudwego/kitex/pkg/serviceinfo" +) + +func serviceInfo() *kitex.ServiceInfo { + return bizServiceServiceInfo +} + +var bizServiceServiceInfo = NewServiceInfo() + +func NewServiceInfo() *kitex.ServiceInfo { + serviceName := "BizService" + handlerType := (*http.BizService)(nil) + methods := map[string]kitex.MethodInfo{ + "BizMethod1": kitex.NewMethodInfo(bizMethod1Handler, newBizServiceBizMethod1Args, newBizServiceBizMethod1Result, false), + "BizMethod2": kitex.NewMethodInfo(bizMethod2Handler, newBizServiceBizMethod2Args, newBizServiceBizMethod2Result, false), + "BizMethod3": kitex.NewMethodInfo(bizMethod3Handler, newBizServiceBizMethod3Args, newBizServiceBizMethod3Result, false), + } + extra := map[string]interface{}{ + "PackageName": "http", + } + svcInfo := &kitex.ServiceInfo{ + ServiceName: serviceName, + HandlerType: handlerType, + Methods: methods, + PayloadCodec: kitex.Thrift, + KiteXGenVersion: "v0.5.2", + Extra: extra, + } + return svcInfo +} + +func bizMethod1Handler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*http.BizServiceBizMethod1Args) + realResult := result.(*http.BizServiceBizMethod1Result) + success, err := handler.(http.BizService).BizMethod1(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} +func newBizServiceBizMethod1Args() interface{} { + return http.NewBizServiceBizMethod1Args() +} + +func newBizServiceBizMethod1Result() interface{} { + return http.NewBizServiceBizMethod1Result() +} + +func bizMethod2Handler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*http.BizServiceBizMethod2Args) + realResult := result.(*http.BizServiceBizMethod2Result) + success, err := handler.(http.BizService).BizMethod2(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} +func newBizServiceBizMethod2Args() interface{} { + return http.NewBizServiceBizMethod2Args() +} + +func newBizServiceBizMethod2Result() interface{} { + return http.NewBizServiceBizMethod2Result() +} + +func bizMethod3Handler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*http.BizServiceBizMethod3Args) + realResult := result.(*http.BizServiceBizMethod3Result) + success, err := handler.(http.BizService).BizMethod3(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} +func newBizServiceBizMethod3Args() interface{} { + return http.NewBizServiceBizMethod3Args() +} + +func newBizServiceBizMethod3Result() interface{} { + return http.NewBizServiceBizMethod3Result() +} + +type kClient struct { + c client.Client +} + +func newServiceClient(c client.Client) *kClient { + return &kClient{ + c: c, + } +} + +func (p *kClient) BizMethod1(ctx context.Context, req *http.BizRequest) (r *http.BizResponse, err error) { + var _args http.BizServiceBizMethod1Args + _args.Req = req + var _result http.BizServiceBizMethod1Result + if err = p.c.Call(ctx, "BizMethod1", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) BizMethod2(ctx context.Context, req *http.BizRequest) (r *http.BizResponse, err error) { + var _args http.BizServiceBizMethod2Args + _args.Req = req + var _result http.BizServiceBizMethod2Result + if err = p.c.Call(ctx, "BizMethod2", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) BizMethod3(ctx context.Context, req *http.BizRequest) (r *http.BizResponse, err error) { + var _args http.BizServiceBizMethod3Args + _args.Req = req + var _result http.BizServiceBizMethod3Result + if err = p.c.Call(ctx, "BizMethod3", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} diff --git a/kitex_gen/thrift/http/bizservice/client.go b/kitex_gen/thrift/http/bizservice/client.go new file mode 100644 index 0000000..d9c4467 --- /dev/null +++ b/kitex_gen/thrift/http/bizservice/client.go @@ -0,0 +1,61 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package bizservice + +import ( + "context" + http "github.com/cloudwego/kitex-tests/kitex_gen/thrift/http" + client "github.com/cloudwego/kitex/client" + callopt "github.com/cloudwego/kitex/client/callopt" +) + +// Client is designed to provide IDL-compatible methods with call-option parameter for kitex framework. +type Client interface { + BizMethod1(ctx context.Context, req *http.BizRequest, callOptions ...callopt.Option) (r *http.BizResponse, err error) + BizMethod2(ctx context.Context, req *http.BizRequest, callOptions ...callopt.Option) (r *http.BizResponse, err error) + BizMethod3(ctx context.Context, req *http.BizRequest, callOptions ...callopt.Option) (r *http.BizResponse, err error) +} + +// NewClient creates a client for the service defined in IDL. +func NewClient(destService string, opts ...client.Option) (Client, error) { + var options []client.Option + options = append(options, client.WithDestService(destService)) + + options = append(options, opts...) + + kc, err := client.NewClient(serviceInfo(), options...) + if err != nil { + return nil, err + } + return &kBizServiceClient{ + kClient: newServiceClient(kc), + }, nil +} + +// MustNewClient creates a client for the service defined in IDL. It panics if any error occurs. +func MustNewClient(destService string, opts ...client.Option) Client { + kc, err := NewClient(destService, opts...) + if err != nil { + panic(err) + } + return kc +} + +type kBizServiceClient struct { + *kClient +} + +func (p *kBizServiceClient) BizMethod1(ctx context.Context, req *http.BizRequest, callOptions ...callopt.Option) (r *http.BizResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.BizMethod1(ctx, req) +} + +func (p *kBizServiceClient) BizMethod2(ctx context.Context, req *http.BizRequest, callOptions ...callopt.Option) (r *http.BizResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.BizMethod2(ctx, req) +} + +func (p *kBizServiceClient) BizMethod3(ctx context.Context, req *http.BizRequest, callOptions ...callopt.Option) (r *http.BizResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.BizMethod3(ctx, req) +} diff --git a/kitex_gen/thrift/http/bizservice/invoker.go b/kitex_gen/thrift/http/bizservice/invoker.go new file mode 100644 index 0000000..86a3ef5 --- /dev/null +++ b/kitex_gen/thrift/http/bizservice/invoker.go @@ -0,0 +1,24 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package bizservice + +import ( + http "github.com/cloudwego/kitex-tests/kitex_gen/thrift/http" + server "github.com/cloudwego/kitex/server" +) + +// NewInvoker creates a server.Invoker with the given handler and options. +func NewInvoker(handler http.BizService, opts ...server.Option) server.Invoker { + var options []server.Option + + options = append(options, opts...) + + s := server.NewInvoker(options...) + if err := s.RegisterService(serviceInfo(), handler); err != nil { + panic(err) + } + if err := s.Init(); err != nil { + panic(err) + } + return s +} diff --git a/kitex_gen/thrift/http/bizservice/server.go b/kitex_gen/thrift/http/bizservice/server.go new file mode 100644 index 0000000..63c04dd --- /dev/null +++ b/kitex_gen/thrift/http/bizservice/server.go @@ -0,0 +1,20 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. +package bizservice + +import ( + http "github.com/cloudwego/kitex-tests/kitex_gen/thrift/http" + server "github.com/cloudwego/kitex/server" +) + +// NewServer creates a server.Server with the given handler and options. +func NewServer(handler http.BizService, opts ...server.Option) server.Server { + var options []server.Option + + options = append(options, opts...) + + svr := server.NewServer(options...) + if err := svr.RegisterService(serviceInfo(), handler); err != nil { + panic(err) + } + return svr +} diff --git a/kitex_gen/thrift/http/http.go b/kitex_gen/thrift/http/http.go new file mode 100644 index 0000000..d9041b2 --- /dev/null +++ b/kitex_gen/thrift/http/http.go @@ -0,0 +1,3636 @@ +// Code generated by thriftgo (0.2.9). DO NOT EDIT. + +package http + +import ( + "context" + "fmt" + "github.com/apache/thrift/lib/go/thrift" + "strings" +) + +type ReqItem struct { + Id *int64 `thrift:"id,1,optional" frugal:"1,optional,i64" json:"MyID"` + Text *string `thrift:"text,2,optional" frugal:"2,optional,string" json:"text,omitempty"` +} + +func NewReqItem() *ReqItem { + return &ReqItem{} +} + +func (p *ReqItem) InitDefault() { + *p = ReqItem{} +} + +var ReqItem_Id_DEFAULT int64 + +func (p *ReqItem) GetId() (v int64) { + if !p.IsSetId() { + return ReqItem_Id_DEFAULT + } + return *p.Id +} + +var ReqItem_Text_DEFAULT string + +func (p *ReqItem) GetText() (v string) { + if !p.IsSetText() { + return ReqItem_Text_DEFAULT + } + return *p.Text +} +func (p *ReqItem) SetId(val *int64) { + p.Id = val +} +func (p *ReqItem) SetText(val *string) { + p.Text = val +} + +var fieldIDToName_ReqItem = map[int16]string{ + 1: "id", + 2: "text", +} + +func (p *ReqItem) IsSetId() bool { + return p.Id != nil +} + +func (p *ReqItem) IsSetText() bool { + return p.Text != nil +} + +func (p *ReqItem) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ReqItem[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *ReqItem) ReadField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + p.Id = &v + } + return nil +} + +func (p *ReqItem) ReadField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.Text = &v + } + return nil +} + +func (p *ReqItem) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("ReqItem"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *ReqItem) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetId() { + if err = oprot.WriteFieldBegin("id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(*p.Id); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *ReqItem) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetText() { + if err = oprot.WriteFieldBegin("text", thrift.STRING, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.Text); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *ReqItem) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqItem(%+v)", *p) +} + +func (p *ReqItem) DeepEqual(ano *ReqItem) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Id) { + return false + } + if !p.Field2DeepEqual(ano.Text) { + return false + } + return true +} + +func (p *ReqItem) Field1DeepEqual(src *int64) bool { + + if p.Id == src { + return true + } else if p.Id == nil || src == nil { + return false + } + if *p.Id != *src { + return false + } + return true +} +func (p *ReqItem) Field2DeepEqual(src *string) bool { + + if p.Text == src { + return true + } else if p.Text == nil || src == nil { + return false + } + if strings.Compare(*p.Text, *src) != 0 { + return false + } + return true +} + +type BizCommonParam struct { + ApiVersion *int64 `thrift:"api_version,1,optional" frugal:"1,optional,i64" json:"api_version,omitempty"` + Token *int32 `thrift:"token,2,optional" frugal:"2,optional,i32" json:"token,omitempty"` +} + +func NewBizCommonParam() *BizCommonParam { + return &BizCommonParam{} +} + +func (p *BizCommonParam) InitDefault() { + *p = BizCommonParam{} +} + +var BizCommonParam_ApiVersion_DEFAULT int64 + +func (p *BizCommonParam) GetApiVersion() (v int64) { + if !p.IsSetApiVersion() { + return BizCommonParam_ApiVersion_DEFAULT + } + return *p.ApiVersion +} + +var BizCommonParam_Token_DEFAULT int32 + +func (p *BizCommonParam) GetToken() (v int32) { + if !p.IsSetToken() { + return BizCommonParam_Token_DEFAULT + } + return *p.Token +} +func (p *BizCommonParam) SetApiVersion(val *int64) { + p.ApiVersion = val +} +func (p *BizCommonParam) SetToken(val *int32) { + p.Token = val +} + +var fieldIDToName_BizCommonParam = map[int16]string{ + 1: "api_version", + 2: "token", +} + +func (p *BizCommonParam) IsSetApiVersion() bool { + return p.ApiVersion != nil +} + +func (p *BizCommonParam) IsSetToken() bool { + return p.Token != nil +} + +func (p *BizCommonParam) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BizCommonParam[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *BizCommonParam) ReadField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + p.ApiVersion = &v + } + return nil +} + +func (p *BizCommonParam) ReadField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + p.Token = &v + } + return nil +} + +func (p *BizCommonParam) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("BizCommonParam"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *BizCommonParam) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetApiVersion() { + if err = oprot.WriteFieldBegin("api_version", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(*p.ApiVersion); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *BizCommonParam) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetToken() { + if err = oprot.WriteFieldBegin("token", thrift.I32, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(*p.Token); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *BizCommonParam) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("BizCommonParam(%+v)", *p) +} + +func (p *BizCommonParam) DeepEqual(ano *BizCommonParam) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.ApiVersion) { + return false + } + if !p.Field2DeepEqual(ano.Token) { + return false + } + return true +} + +func (p *BizCommonParam) Field1DeepEqual(src *int64) bool { + + if p.ApiVersion == src { + return true + } else if p.ApiVersion == nil || src == nil { + return false + } + if *p.ApiVersion != *src { + return false + } + return true +} +func (p *BizCommonParam) Field2DeepEqual(src *int32) bool { + + if p.Token == src { + return true + } else if p.Token == nil || src == nil { + return false + } + if *p.Token != *src { + return false + } + return true +} + +type BizRequest struct { + VInt64 *int64 `thrift:"v_int64,1,optional" frugal:"1,optional,i64" json:"v_int64,omitempty"` + Text *string `thrift:"text,2,optional" frugal:"2,optional,string" json:"text,omitempty"` + Token *int32 `thrift:"token,3,optional" frugal:"3,optional,i32" json:"token,omitempty"` + ReqItemsMap map[int64]*ReqItem `thrift:"req_items_map,4,optional" frugal:"4,optional,map" json:"req_items_map,omitempty"` + Some *ReqItem `thrift:"some,5,optional" frugal:"5,optional,ReqItem" json:"some,omitempty"` + ReqItems []string `thrift:"req_items,6,optional" frugal:"6,optional,list" json:"req_items,omitempty"` + ApiVersion *int32 `thrift:"api_version,7,optional" frugal:"7,optional,i32" json:"api_version,omitempty"` + Uid *int64 `thrift:"uid,8,optional" frugal:"8,optional,i64" json:"uid,omitempty"` + Cids []int64 `thrift:"cids,9,optional" frugal:"9,optional,list" json:"cids,omitempty"` + Vids []string `thrift:"vids,10,optional" frugal:"10,optional,list" json:"vids,omitempty"` +} + +func NewBizRequest() *BizRequest { + return &BizRequest{} +} + +func (p *BizRequest) InitDefault() { + *p = BizRequest{} +} + +var BizRequest_VInt64_DEFAULT int64 + +func (p *BizRequest) GetVInt64() (v int64) { + if !p.IsSetVInt64() { + return BizRequest_VInt64_DEFAULT + } + return *p.VInt64 +} + +var BizRequest_Text_DEFAULT string + +func (p *BizRequest) GetText() (v string) { + if !p.IsSetText() { + return BizRequest_Text_DEFAULT + } + return *p.Text +} + +var BizRequest_Token_DEFAULT int32 + +func (p *BizRequest) GetToken() (v int32) { + if !p.IsSetToken() { + return BizRequest_Token_DEFAULT + } + return *p.Token +} + +var BizRequest_ReqItemsMap_DEFAULT map[int64]*ReqItem + +func (p *BizRequest) GetReqItemsMap() (v map[int64]*ReqItem) { + if !p.IsSetReqItemsMap() { + return BizRequest_ReqItemsMap_DEFAULT + } + return p.ReqItemsMap +} + +var BizRequest_Some_DEFAULT *ReqItem + +func (p *BizRequest) GetSome() (v *ReqItem) { + if !p.IsSetSome() { + return BizRequest_Some_DEFAULT + } + return p.Some +} + +var BizRequest_ReqItems_DEFAULT []string + +func (p *BizRequest) GetReqItems() (v []string) { + if !p.IsSetReqItems() { + return BizRequest_ReqItems_DEFAULT + } + return p.ReqItems +} + +var BizRequest_ApiVersion_DEFAULT int32 + +func (p *BizRequest) GetApiVersion() (v int32) { + if !p.IsSetApiVersion() { + return BizRequest_ApiVersion_DEFAULT + } + return *p.ApiVersion +} + +var BizRequest_Uid_DEFAULT int64 + +func (p *BizRequest) GetUid() (v int64) { + if !p.IsSetUid() { + return BizRequest_Uid_DEFAULT + } + return *p.Uid +} + +var BizRequest_Cids_DEFAULT []int64 + +func (p *BizRequest) GetCids() (v []int64) { + if !p.IsSetCids() { + return BizRequest_Cids_DEFAULT + } + return p.Cids +} + +var BizRequest_Vids_DEFAULT []string + +func (p *BizRequest) GetVids() (v []string) { + if !p.IsSetVids() { + return BizRequest_Vids_DEFAULT + } + return p.Vids +} +func (p *BizRequest) SetVInt64(val *int64) { + p.VInt64 = val +} +func (p *BizRequest) SetText(val *string) { + p.Text = val +} +func (p *BizRequest) SetToken(val *int32) { + p.Token = val +} +func (p *BizRequest) SetReqItemsMap(val map[int64]*ReqItem) { + p.ReqItemsMap = val +} +func (p *BizRequest) SetSome(val *ReqItem) { + p.Some = val +} +func (p *BizRequest) SetReqItems(val []string) { + p.ReqItems = val +} +func (p *BizRequest) SetApiVersion(val *int32) { + p.ApiVersion = val +} +func (p *BizRequest) SetUid(val *int64) { + p.Uid = val +} +func (p *BizRequest) SetCids(val []int64) { + p.Cids = val +} +func (p *BizRequest) SetVids(val []string) { + p.Vids = val +} + +var fieldIDToName_BizRequest = map[int16]string{ + 1: "v_int64", + 2: "text", + 3: "token", + 4: "req_items_map", + 5: "some", + 6: "req_items", + 7: "api_version", + 8: "uid", + 9: "cids", + 10: "vids", +} + +func (p *BizRequest) IsSetVInt64() bool { + return p.VInt64 != nil +} + +func (p *BizRequest) IsSetText() bool { + return p.Text != nil +} + +func (p *BizRequest) IsSetToken() bool { + return p.Token != nil +} + +func (p *BizRequest) IsSetReqItemsMap() bool { + return p.ReqItemsMap != nil +} + +func (p *BizRequest) IsSetSome() bool { + return p.Some != nil +} + +func (p *BizRequest) IsSetReqItems() bool { + return p.ReqItems != nil +} + +func (p *BizRequest) IsSetApiVersion() bool { + return p.ApiVersion != nil +} + +func (p *BizRequest) IsSetUid() bool { + return p.Uid != nil +} + +func (p *BizRequest) IsSetCids() bool { + return p.Cids != nil +} + +func (p *BizRequest) IsSetVids() bool { + return p.Vids != nil +} + +func (p *BizRequest) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.MAP { + if err = p.ReadField4(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField5(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 6: + if fieldTypeId == thrift.LIST { + if err = p.ReadField6(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 7: + if fieldTypeId == thrift.I32 { + if err = p.ReadField7(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 8: + if fieldTypeId == thrift.I64 { + if err = p.ReadField8(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 9: + if fieldTypeId == thrift.LIST { + if err = p.ReadField9(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 10: + if fieldTypeId == thrift.LIST { + if err = p.ReadField10(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BizRequest[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *BizRequest) ReadField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + p.VInt64 = &v + } + return nil +} + +func (p *BizRequest) ReadField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.Text = &v + } + return nil +} + +func (p *BizRequest) ReadField3(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + p.Token = &v + } + return nil +} + +func (p *BizRequest) ReadField4(iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin() + if err != nil { + return err + } + p.ReqItemsMap = make(map[int64]*ReqItem, size) + for i := 0; i < size; i++ { + var _key int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _key = v + } + _val := NewReqItem() + if err := _val.Read(iprot); err != nil { + return err + } + + p.ReqItemsMap[_key] = _val + } + if err := iprot.ReadMapEnd(); err != nil { + return err + } + return nil +} + +func (p *BizRequest) ReadField5(iprot thrift.TProtocol) error { + p.Some = NewReqItem() + if err := p.Some.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *BizRequest) ReadField6(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + p.ReqItems = make([]string, 0, size) + for i := 0; i < size; i++ { + var _elem string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _elem = v + } + + p.ReqItems = append(p.ReqItems, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + return nil +} + +func (p *BizRequest) ReadField7(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + p.ApiVersion = &v + } + return nil +} + +func (p *BizRequest) ReadField8(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + p.Uid = &v + } + return nil +} + +func (p *BizRequest) ReadField9(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + p.Cids = make([]int64, 0, size) + for i := 0; i < size; i++ { + var _elem int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _elem = v + } + + p.Cids = append(p.Cids, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + return nil +} + +func (p *BizRequest) ReadField10(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + p.Vids = make([]string, 0, size) + for i := 0; i < size; i++ { + var _elem string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _elem = v + } + + p.Vids = append(p.Vids, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + return nil +} + +func (p *BizRequest) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("BizRequest"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField4(oprot); err != nil { + fieldId = 4 + goto WriteFieldError + } + if err = p.writeField5(oprot); err != nil { + fieldId = 5 + goto WriteFieldError + } + if err = p.writeField6(oprot); err != nil { + fieldId = 6 + goto WriteFieldError + } + if err = p.writeField7(oprot); err != nil { + fieldId = 7 + goto WriteFieldError + } + if err = p.writeField8(oprot); err != nil { + fieldId = 8 + goto WriteFieldError + } + if err = p.writeField9(oprot); err != nil { + fieldId = 9 + goto WriteFieldError + } + if err = p.writeField10(oprot); err != nil { + fieldId = 10 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *BizRequest) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetVInt64() { + if err = oprot.WriteFieldBegin("v_int64", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(*p.VInt64); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *BizRequest) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetText() { + if err = oprot.WriteFieldBegin("text", thrift.STRING, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.Text); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *BizRequest) writeField3(oprot thrift.TProtocol) (err error) { + if p.IsSetToken() { + if err = oprot.WriteFieldBegin("token", thrift.I32, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(*p.Token); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *BizRequest) writeField4(oprot thrift.TProtocol) (err error) { + if p.IsSetReqItemsMap() { + if err = oprot.WriteFieldBegin("req_items_map", thrift.MAP, 4); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteMapBegin(thrift.I64, thrift.STRUCT, len(p.ReqItemsMap)); err != nil { + return err + } + for k, v := range p.ReqItemsMap { + + if err := oprot.WriteI64(k); err != nil { + return err + } + + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteMapEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) +} + +func (p *BizRequest) writeField5(oprot thrift.TProtocol) (err error) { + if p.IsSetSome() { + if err = oprot.WriteFieldBegin("some", thrift.STRUCT, 5); err != nil { + goto WriteFieldBeginError + } + if err := p.Some.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) +} + +func (p *BizRequest) writeField6(oprot thrift.TProtocol) (err error) { + if p.IsSetReqItems() { + if err = oprot.WriteFieldBegin("req_items", thrift.LIST, 6); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRING, len(p.ReqItems)); err != nil { + return err + } + for _, v := range p.ReqItems { + if err := oprot.WriteString(v); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) +} + +func (p *BizRequest) writeField7(oprot thrift.TProtocol) (err error) { + if p.IsSetApiVersion() { + if err = oprot.WriteFieldBegin("api_version", thrift.I32, 7); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(*p.ApiVersion); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 7 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 7 end error: ", p), err) +} + +func (p *BizRequest) writeField8(oprot thrift.TProtocol) (err error) { + if p.IsSetUid() { + if err = oprot.WriteFieldBegin("uid", thrift.I64, 8); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(*p.Uid); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 8 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 8 end error: ", p), err) +} + +func (p *BizRequest) writeField9(oprot thrift.TProtocol) (err error) { + if p.IsSetCids() { + if err = oprot.WriteFieldBegin("cids", thrift.LIST, 9); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.I64, len(p.Cids)); err != nil { + return err + } + for _, v := range p.Cids { + if err := oprot.WriteI64(v); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 9 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 9 end error: ", p), err) +} + +func (p *BizRequest) writeField10(oprot thrift.TProtocol) (err error) { + if p.IsSetVids() { + if err = oprot.WriteFieldBegin("vids", thrift.LIST, 10); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRING, len(p.Vids)); err != nil { + return err + } + for _, v := range p.Vids { + if err := oprot.WriteString(v); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 10 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 10 end error: ", p), err) +} + +func (p *BizRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("BizRequest(%+v)", *p) +} + +func (p *BizRequest) DeepEqual(ano *BizRequest) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.VInt64) { + return false + } + if !p.Field2DeepEqual(ano.Text) { + return false + } + if !p.Field3DeepEqual(ano.Token) { + return false + } + if !p.Field4DeepEqual(ano.ReqItemsMap) { + return false + } + if !p.Field5DeepEqual(ano.Some) { + return false + } + if !p.Field6DeepEqual(ano.ReqItems) { + return false + } + if !p.Field7DeepEqual(ano.ApiVersion) { + return false + } + if !p.Field8DeepEqual(ano.Uid) { + return false + } + if !p.Field9DeepEqual(ano.Cids) { + return false + } + if !p.Field10DeepEqual(ano.Vids) { + return false + } + return true +} + +func (p *BizRequest) Field1DeepEqual(src *int64) bool { + + if p.VInt64 == src { + return true + } else if p.VInt64 == nil || src == nil { + return false + } + if *p.VInt64 != *src { + return false + } + return true +} +func (p *BizRequest) Field2DeepEqual(src *string) bool { + + if p.Text == src { + return true + } else if p.Text == nil || src == nil { + return false + } + if strings.Compare(*p.Text, *src) != 0 { + return false + } + return true +} +func (p *BizRequest) Field3DeepEqual(src *int32) bool { + + if p.Token == src { + return true + } else if p.Token == nil || src == nil { + return false + } + if *p.Token != *src { + return false + } + return true +} +func (p *BizRequest) Field4DeepEqual(src map[int64]*ReqItem) bool { + + if len(p.ReqItemsMap) != len(src) { + return false + } + for k, v := range p.ReqItemsMap { + _src := src[k] + if !v.DeepEqual(_src) { + return false + } + } + return true +} +func (p *BizRequest) Field5DeepEqual(src *ReqItem) bool { + + if !p.Some.DeepEqual(src) { + return false + } + return true +} +func (p *BizRequest) Field6DeepEqual(src []string) bool { + + if len(p.ReqItems) != len(src) { + return false + } + for i, v := range p.ReqItems { + _src := src[i] + if strings.Compare(v, _src) != 0 { + return false + } + } + return true +} +func (p *BizRequest) Field7DeepEqual(src *int32) bool { + + if p.ApiVersion == src { + return true + } else if p.ApiVersion == nil || src == nil { + return false + } + if *p.ApiVersion != *src { + return false + } + return true +} +func (p *BizRequest) Field8DeepEqual(src *int64) bool { + + if p.Uid == src { + return true + } else if p.Uid == nil || src == nil { + return false + } + if *p.Uid != *src { + return false + } + return true +} +func (p *BizRequest) Field9DeepEqual(src []int64) bool { + + if len(p.Cids) != len(src) { + return false + } + for i, v := range p.Cids { + _src := src[i] + if v != _src { + return false + } + } + return true +} +func (p *BizRequest) Field10DeepEqual(src []string) bool { + + if len(p.Vids) != len(src) { + return false + } + for i, v := range p.Vids { + _src := src[i] + if strings.Compare(v, _src) != 0 { + return false + } + } + return true +} + +type RspItem struct { + ItemId *int64 `thrift:"item_id,1,optional" frugal:"1,optional,i64" json:"item_id,omitempty"` + Text *string `thrift:"text,2,optional" frugal:"2,optional,string" json:"text,omitempty"` +} + +func NewRspItem() *RspItem { + return &RspItem{} +} + +func (p *RspItem) InitDefault() { + *p = RspItem{} +} + +var RspItem_ItemId_DEFAULT int64 + +func (p *RspItem) GetItemId() (v int64) { + if !p.IsSetItemId() { + return RspItem_ItemId_DEFAULT + } + return *p.ItemId +} + +var RspItem_Text_DEFAULT string + +func (p *RspItem) GetText() (v string) { + if !p.IsSetText() { + return RspItem_Text_DEFAULT + } + return *p.Text +} +func (p *RspItem) SetItemId(val *int64) { + p.ItemId = val +} +func (p *RspItem) SetText(val *string) { + p.Text = val +} + +var fieldIDToName_RspItem = map[int16]string{ + 1: "item_id", + 2: "text", +} + +func (p *RspItem) IsSetItemId() bool { + return p.ItemId != nil +} + +func (p *RspItem) IsSetText() bool { + return p.Text != nil +} + +func (p *RspItem) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_RspItem[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *RspItem) ReadField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + p.ItemId = &v + } + return nil +} + +func (p *RspItem) ReadField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.Text = &v + } + return nil +} + +func (p *RspItem) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("RspItem"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *RspItem) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetItemId() { + if err = oprot.WriteFieldBegin("item_id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(*p.ItemId); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *RspItem) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetText() { + if err = oprot.WriteFieldBegin("text", thrift.STRING, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.Text); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *RspItem) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("RspItem(%+v)", *p) +} + +func (p *RspItem) DeepEqual(ano *RspItem) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.ItemId) { + return false + } + if !p.Field2DeepEqual(ano.Text) { + return false + } + return true +} + +func (p *RspItem) Field1DeepEqual(src *int64) bool { + + if p.ItemId == src { + return true + } else if p.ItemId == nil || src == nil { + return false + } + if *p.ItemId != *src { + return false + } + return true +} +func (p *RspItem) Field2DeepEqual(src *string) bool { + + if p.Text == src { + return true + } else if p.Text == nil || src == nil { + return false + } + if strings.Compare(*p.Text, *src) != 0 { + return false + } + return true +} + +type BizResponse struct { + T *string `thrift:"T,1,optional" frugal:"1,optional,string" json:"T,omitempty"` + RspItems map[int64]*RspItem `thrift:"rsp_items,2,optional" frugal:"2,optional,map" json:"rsp_items,omitempty"` + VEnum *int32 `thrift:"v_enum,3,optional" frugal:"3,optional,i32" json:"v_enum,omitempty"` + RspItemList []*RspItem `thrift:"rsp_item_list,4,optional" frugal:"4,optional,list" json:"rsp_item_list,omitempty"` + HttpCode *int32 `thrift:"http_code,5,optional" frugal:"5,optional,i32" json:"http_code,omitempty"` + ItemCount []int64 `thrift:"item_count,6,optional" frugal:"6,optional,list" json:"item_count,omitempty"` +} + +func NewBizResponse() *BizResponse { + return &BizResponse{} +} + +func (p *BizResponse) InitDefault() { + *p = BizResponse{} +} + +var BizResponse_T_DEFAULT string + +func (p *BizResponse) GetT() (v string) { + if !p.IsSetT() { + return BizResponse_T_DEFAULT + } + return *p.T +} + +var BizResponse_RspItems_DEFAULT map[int64]*RspItem + +func (p *BizResponse) GetRspItems() (v map[int64]*RspItem) { + if !p.IsSetRspItems() { + return BizResponse_RspItems_DEFAULT + } + return p.RspItems +} + +var BizResponse_VEnum_DEFAULT int32 + +func (p *BizResponse) GetVEnum() (v int32) { + if !p.IsSetVEnum() { + return BizResponse_VEnum_DEFAULT + } + return *p.VEnum +} + +var BizResponse_RspItemList_DEFAULT []*RspItem + +func (p *BizResponse) GetRspItemList() (v []*RspItem) { + if !p.IsSetRspItemList() { + return BizResponse_RspItemList_DEFAULT + } + return p.RspItemList +} + +var BizResponse_HttpCode_DEFAULT int32 + +func (p *BizResponse) GetHttpCode() (v int32) { + if !p.IsSetHttpCode() { + return BizResponse_HttpCode_DEFAULT + } + return *p.HttpCode +} + +var BizResponse_ItemCount_DEFAULT []int64 + +func (p *BizResponse) GetItemCount() (v []int64) { + if !p.IsSetItemCount() { + return BizResponse_ItemCount_DEFAULT + } + return p.ItemCount +} +func (p *BizResponse) SetT(val *string) { + p.T = val +} +func (p *BizResponse) SetRspItems(val map[int64]*RspItem) { + p.RspItems = val +} +func (p *BizResponse) SetVEnum(val *int32) { + p.VEnum = val +} +func (p *BizResponse) SetRspItemList(val []*RspItem) { + p.RspItemList = val +} +func (p *BizResponse) SetHttpCode(val *int32) { + p.HttpCode = val +} +func (p *BizResponse) SetItemCount(val []int64) { + p.ItemCount = val +} + +var fieldIDToName_BizResponse = map[int16]string{ + 1: "T", + 2: "rsp_items", + 3: "v_enum", + 4: "rsp_item_list", + 5: "http_code", + 6: "item_count", +} + +func (p *BizResponse) IsSetT() bool { + return p.T != nil +} + +func (p *BizResponse) IsSetRspItems() bool { + return p.RspItems != nil +} + +func (p *BizResponse) IsSetVEnum() bool { + return p.VEnum != nil +} + +func (p *BizResponse) IsSetRspItemList() bool { + return p.RspItemList != nil +} + +func (p *BizResponse) IsSetHttpCode() bool { + return p.HttpCode != nil +} + +func (p *BizResponse) IsSetItemCount() bool { + return p.ItemCount != nil +} + +func (p *BizResponse) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.LIST { + if err = p.ReadField4(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err = p.ReadField5(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 6: + if fieldTypeId == thrift.LIST { + if err = p.ReadField6(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BizResponse[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *BizResponse) ReadField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.T = &v + } + return nil +} + +func (p *BizResponse) ReadField2(iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin() + if err != nil { + return err + } + p.RspItems = make(map[int64]*RspItem, size) + for i := 0; i < size; i++ { + var _key int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _key = v + } + _val := NewRspItem() + if err := _val.Read(iprot); err != nil { + return err + } + + p.RspItems[_key] = _val + } + if err := iprot.ReadMapEnd(); err != nil { + return err + } + return nil +} + +func (p *BizResponse) ReadField3(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + p.VEnum = &v + } + return nil +} + +func (p *BizResponse) ReadField4(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + p.RspItemList = make([]*RspItem, 0, size) + for i := 0; i < size; i++ { + _elem := NewRspItem() + if err := _elem.Read(iprot); err != nil { + return err + } + + p.RspItemList = append(p.RspItemList, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + return nil +} + +func (p *BizResponse) ReadField5(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + p.HttpCode = &v + } + return nil +} + +func (p *BizResponse) ReadField6(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + p.ItemCount = make([]int64, 0, size) + for i := 0; i < size; i++ { + var _elem int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _elem = v + } + + p.ItemCount = append(p.ItemCount, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + return nil +} + +func (p *BizResponse) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("BizResponse"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField4(oprot); err != nil { + fieldId = 4 + goto WriteFieldError + } + if err = p.writeField5(oprot); err != nil { + fieldId = 5 + goto WriteFieldError + } + if err = p.writeField6(oprot); err != nil { + fieldId = 6 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *BizResponse) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetT() { + if err = oprot.WriteFieldBegin("T", thrift.STRING, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.T); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *BizResponse) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetRspItems() { + if err = oprot.WriteFieldBegin("rsp_items", thrift.MAP, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteMapBegin(thrift.I64, thrift.STRUCT, len(p.RspItems)); err != nil { + return err + } + for k, v := range p.RspItems { + + if err := oprot.WriteI64(k); err != nil { + return err + } + + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteMapEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *BizResponse) writeField3(oprot thrift.TProtocol) (err error) { + if p.IsSetVEnum() { + if err = oprot.WriteFieldBegin("v_enum", thrift.I32, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(*p.VEnum); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *BizResponse) writeField4(oprot thrift.TProtocol) (err error) { + if p.IsSetRspItemList() { + if err = oprot.WriteFieldBegin("rsp_item_list", thrift.LIST, 4); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.RspItemList)); err != nil { + return err + } + for _, v := range p.RspItemList { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) +} + +func (p *BizResponse) writeField5(oprot thrift.TProtocol) (err error) { + if p.IsSetHttpCode() { + if err = oprot.WriteFieldBegin("http_code", thrift.I32, 5); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(*p.HttpCode); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) +} + +func (p *BizResponse) writeField6(oprot thrift.TProtocol) (err error) { + if p.IsSetItemCount() { + if err = oprot.WriteFieldBegin("item_count", thrift.LIST, 6); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.I64, len(p.ItemCount)); err != nil { + return err + } + for _, v := range p.ItemCount { + if err := oprot.WriteI64(v); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) +} + +func (p *BizResponse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("BizResponse(%+v)", *p) +} + +func (p *BizResponse) DeepEqual(ano *BizResponse) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.T) { + return false + } + if !p.Field2DeepEqual(ano.RspItems) { + return false + } + if !p.Field3DeepEqual(ano.VEnum) { + return false + } + if !p.Field4DeepEqual(ano.RspItemList) { + return false + } + if !p.Field5DeepEqual(ano.HttpCode) { + return false + } + if !p.Field6DeepEqual(ano.ItemCount) { + return false + } + return true +} + +func (p *BizResponse) Field1DeepEqual(src *string) bool { + + if p.T == src { + return true + } else if p.T == nil || src == nil { + return false + } + if strings.Compare(*p.T, *src) != 0 { + return false + } + return true +} +func (p *BizResponse) Field2DeepEqual(src map[int64]*RspItem) bool { + + if len(p.RspItems) != len(src) { + return false + } + for k, v := range p.RspItems { + _src := src[k] + if !v.DeepEqual(_src) { + return false + } + } + return true +} +func (p *BizResponse) Field3DeepEqual(src *int32) bool { + + if p.VEnum == src { + return true + } else if p.VEnum == nil || src == nil { + return false + } + if *p.VEnum != *src { + return false + } + return true +} +func (p *BizResponse) Field4DeepEqual(src []*RspItem) bool { + + if len(p.RspItemList) != len(src) { + return false + } + for i, v := range p.RspItemList { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } + return true +} +func (p *BizResponse) Field5DeepEqual(src *int32) bool { + + if p.HttpCode == src { + return true + } else if p.HttpCode == nil || src == nil { + return false + } + if *p.HttpCode != *src { + return false + } + return true +} +func (p *BizResponse) Field6DeepEqual(src []int64) bool { + + if len(p.ItemCount) != len(src) { + return false + } + for i, v := range p.ItemCount { + _src := src[i] + if v != _src { + return false + } + } + return true +} + +type BizService interface { + BizMethod1(ctx context.Context, req *BizRequest) (r *BizResponse, err error) + + BizMethod2(ctx context.Context, req *BizRequest) (r *BizResponse, err error) + + BizMethod3(ctx context.Context, req *BizRequest) (r *BizResponse, err error) +} + +type BizServiceClient struct { + c thrift.TClient +} + +func NewBizServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *BizServiceClient { + return &BizServiceClient{ + c: thrift.NewTStandardClient(f.GetProtocol(t), f.GetProtocol(t)), + } +} + +func NewBizServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *BizServiceClient { + return &BizServiceClient{ + c: thrift.NewTStandardClient(iprot, oprot), + } +} + +func NewBizServiceClient(c thrift.TClient) *BizServiceClient { + return &BizServiceClient{ + c: c, + } +} + +func (p *BizServiceClient) Client_() thrift.TClient { + return p.c +} + +func (p *BizServiceClient) BizMethod1(ctx context.Context, req *BizRequest) (r *BizResponse, err error) { + var _args BizServiceBizMethod1Args + _args.Req = req + var _result BizServiceBizMethod1Result + if err = p.Client_().Call(ctx, "BizMethod1", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *BizServiceClient) BizMethod2(ctx context.Context, req *BizRequest) (r *BizResponse, err error) { + var _args BizServiceBizMethod2Args + _args.Req = req + var _result BizServiceBizMethod2Result + if err = p.Client_().Call(ctx, "BizMethod2", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *BizServiceClient) BizMethod3(ctx context.Context, req *BizRequest) (r *BizResponse, err error) { + var _args BizServiceBizMethod3Args + _args.Req = req + var _result BizServiceBizMethod3Result + if err = p.Client_().Call(ctx, "BizMethod3", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +type BizServiceProcessor struct { + processorMap map[string]thrift.TProcessorFunction + handler BizService +} + +func (p *BizServiceProcessor) AddToProcessorMap(key string, processor thrift.TProcessorFunction) { + p.processorMap[key] = processor +} + +func (p *BizServiceProcessor) GetProcessorFunction(key string) (processor thrift.TProcessorFunction, ok bool) { + processor, ok = p.processorMap[key] + return processor, ok +} + +func (p *BizServiceProcessor) ProcessorMap() map[string]thrift.TProcessorFunction { + return p.processorMap +} + +func NewBizServiceProcessor(handler BizService) *BizServiceProcessor { + self := &BizServiceProcessor{handler: handler, processorMap: make(map[string]thrift.TProcessorFunction)} + self.AddToProcessorMap("BizMethod1", &bizServiceProcessorBizMethod1{handler: handler}) + self.AddToProcessorMap("BizMethod2", &bizServiceProcessorBizMethod2{handler: handler}) + self.AddToProcessorMap("BizMethod3", &bizServiceProcessorBizMethod3{handler: handler}) + return self +} +func (p *BizServiceProcessor) Process(ctx context.Context, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + name, _, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return false, err + } + if processor, ok := p.GetProcessorFunction(name); ok { + return processor.Process(ctx, seqId, iprot, oprot) + } + iprot.Skip(thrift.STRUCT) + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name) + oprot.WriteMessageBegin(name, thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, x +} + +type bizServiceProcessorBizMethod1 struct { + handler BizService +} + +func (p *bizServiceProcessorBizMethod1) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := BizServiceBizMethod1Args{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("BizMethod1", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := BizServiceBizMethod1Result{} + var retval *BizResponse + if retval, err2 = p.handler.BizMethod1(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BizMethod1: "+err2.Error()) + oprot.WriteMessageBegin("BizMethod1", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("BizMethod1", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type bizServiceProcessorBizMethod2 struct { + handler BizService +} + +func (p *bizServiceProcessorBizMethod2) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := BizServiceBizMethod2Args{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("BizMethod2", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := BizServiceBizMethod2Result{} + var retval *BizResponse + if retval, err2 = p.handler.BizMethod2(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BizMethod2: "+err2.Error()) + oprot.WriteMessageBegin("BizMethod2", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("BizMethod2", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type bizServiceProcessorBizMethod3 struct { + handler BizService +} + +func (p *bizServiceProcessorBizMethod3) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := BizServiceBizMethod3Args{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("BizMethod3", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := BizServiceBizMethod3Result{} + var retval *BizResponse + if retval, err2 = p.handler.BizMethod3(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BizMethod3: "+err2.Error()) + oprot.WriteMessageBegin("BizMethod3", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("BizMethod3", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type BizServiceBizMethod1Args struct { + Req *BizRequest `thrift:"req,1" frugal:"1,default,BizRequest" json:"req"` +} + +func NewBizServiceBizMethod1Args() *BizServiceBizMethod1Args { + return &BizServiceBizMethod1Args{} +} + +func (p *BizServiceBizMethod1Args) InitDefault() { + *p = BizServiceBizMethod1Args{} +} + +var BizServiceBizMethod1Args_Req_DEFAULT *BizRequest + +func (p *BizServiceBizMethod1Args) GetReq() (v *BizRequest) { + if !p.IsSetReq() { + return BizServiceBizMethod1Args_Req_DEFAULT + } + return p.Req +} +func (p *BizServiceBizMethod1Args) SetReq(val *BizRequest) { + p.Req = val +} + +var fieldIDToName_BizServiceBizMethod1Args = map[int16]string{ + 1: "req", +} + +func (p *BizServiceBizMethod1Args) IsSetReq() bool { + return p.Req != nil +} + +func (p *BizServiceBizMethod1Args) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BizServiceBizMethod1Args[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *BizServiceBizMethod1Args) ReadField1(iprot thrift.TProtocol) error { + p.Req = NewBizRequest() + if err := p.Req.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *BizServiceBizMethod1Args) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("BizMethod1_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *BizServiceBizMethod1Args) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Req.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *BizServiceBizMethod1Args) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("BizServiceBizMethod1Args(%+v)", *p) +} + +func (p *BizServiceBizMethod1Args) DeepEqual(ano *BizServiceBizMethod1Args) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Req) { + return false + } + return true +} + +func (p *BizServiceBizMethod1Args) Field1DeepEqual(src *BizRequest) bool { + + if !p.Req.DeepEqual(src) { + return false + } + return true +} + +type BizServiceBizMethod1Result struct { + Success *BizResponse `thrift:"success,0,optional" frugal:"0,optional,BizResponse" json:"success,omitempty"` +} + +func NewBizServiceBizMethod1Result() *BizServiceBizMethod1Result { + return &BizServiceBizMethod1Result{} +} + +func (p *BizServiceBizMethod1Result) InitDefault() { + *p = BizServiceBizMethod1Result{} +} + +var BizServiceBizMethod1Result_Success_DEFAULT *BizResponse + +func (p *BizServiceBizMethod1Result) GetSuccess() (v *BizResponse) { + if !p.IsSetSuccess() { + return BizServiceBizMethod1Result_Success_DEFAULT + } + return p.Success +} +func (p *BizServiceBizMethod1Result) SetSuccess(x interface{}) { + p.Success = x.(*BizResponse) +} + +var fieldIDToName_BizServiceBizMethod1Result = map[int16]string{ + 0: "success", +} + +func (p *BizServiceBizMethod1Result) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *BizServiceBizMethod1Result) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BizServiceBizMethod1Result[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *BizServiceBizMethod1Result) ReadField0(iprot thrift.TProtocol) error { + p.Success = NewBizResponse() + if err := p.Success.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *BizServiceBizMethod1Result) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("BizMethod1_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *BizServiceBizMethod1Result) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *BizServiceBizMethod1Result) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("BizServiceBizMethod1Result(%+v)", *p) +} + +func (p *BizServiceBizMethod1Result) DeepEqual(ano *BizServiceBizMethod1Result) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field0DeepEqual(ano.Success) { + return false + } + return true +} + +func (p *BizServiceBizMethod1Result) Field0DeepEqual(src *BizResponse) bool { + + if !p.Success.DeepEqual(src) { + return false + } + return true +} + +type BizServiceBizMethod2Args struct { + Req *BizRequest `thrift:"req,1" frugal:"1,default,BizRequest" json:"req"` +} + +func NewBizServiceBizMethod2Args() *BizServiceBizMethod2Args { + return &BizServiceBizMethod2Args{} +} + +func (p *BizServiceBizMethod2Args) InitDefault() { + *p = BizServiceBizMethod2Args{} +} + +var BizServiceBizMethod2Args_Req_DEFAULT *BizRequest + +func (p *BizServiceBizMethod2Args) GetReq() (v *BizRequest) { + if !p.IsSetReq() { + return BizServiceBizMethod2Args_Req_DEFAULT + } + return p.Req +} +func (p *BizServiceBizMethod2Args) SetReq(val *BizRequest) { + p.Req = val +} + +var fieldIDToName_BizServiceBizMethod2Args = map[int16]string{ + 1: "req", +} + +func (p *BizServiceBizMethod2Args) IsSetReq() bool { + return p.Req != nil +} + +func (p *BizServiceBizMethod2Args) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BizServiceBizMethod2Args[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *BizServiceBizMethod2Args) ReadField1(iprot thrift.TProtocol) error { + p.Req = NewBizRequest() + if err := p.Req.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *BizServiceBizMethod2Args) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("BizMethod2_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *BizServiceBizMethod2Args) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Req.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *BizServiceBizMethod2Args) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("BizServiceBizMethod2Args(%+v)", *p) +} + +func (p *BizServiceBizMethod2Args) DeepEqual(ano *BizServiceBizMethod2Args) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Req) { + return false + } + return true +} + +func (p *BizServiceBizMethod2Args) Field1DeepEqual(src *BizRequest) bool { + + if !p.Req.DeepEqual(src) { + return false + } + return true +} + +type BizServiceBizMethod2Result struct { + Success *BizResponse `thrift:"success,0,optional" frugal:"0,optional,BizResponse" json:"success,omitempty"` +} + +func NewBizServiceBizMethod2Result() *BizServiceBizMethod2Result { + return &BizServiceBizMethod2Result{} +} + +func (p *BizServiceBizMethod2Result) InitDefault() { + *p = BizServiceBizMethod2Result{} +} + +var BizServiceBizMethod2Result_Success_DEFAULT *BizResponse + +func (p *BizServiceBizMethod2Result) GetSuccess() (v *BizResponse) { + if !p.IsSetSuccess() { + return BizServiceBizMethod2Result_Success_DEFAULT + } + return p.Success +} +func (p *BizServiceBizMethod2Result) SetSuccess(x interface{}) { + p.Success = x.(*BizResponse) +} + +var fieldIDToName_BizServiceBizMethod2Result = map[int16]string{ + 0: "success", +} + +func (p *BizServiceBizMethod2Result) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *BizServiceBizMethod2Result) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BizServiceBizMethod2Result[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *BizServiceBizMethod2Result) ReadField0(iprot thrift.TProtocol) error { + p.Success = NewBizResponse() + if err := p.Success.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *BizServiceBizMethod2Result) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("BizMethod2_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *BizServiceBizMethod2Result) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *BizServiceBizMethod2Result) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("BizServiceBizMethod2Result(%+v)", *p) +} + +func (p *BizServiceBizMethod2Result) DeepEqual(ano *BizServiceBizMethod2Result) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field0DeepEqual(ano.Success) { + return false + } + return true +} + +func (p *BizServiceBizMethod2Result) Field0DeepEqual(src *BizResponse) bool { + + if !p.Success.DeepEqual(src) { + return false + } + return true +} + +type BizServiceBizMethod3Args struct { + Req *BizRequest `thrift:"req,1" frugal:"1,default,BizRequest" json:"req"` +} + +func NewBizServiceBizMethod3Args() *BizServiceBizMethod3Args { + return &BizServiceBizMethod3Args{} +} + +func (p *BizServiceBizMethod3Args) InitDefault() { + *p = BizServiceBizMethod3Args{} +} + +var BizServiceBizMethod3Args_Req_DEFAULT *BizRequest + +func (p *BizServiceBizMethod3Args) GetReq() (v *BizRequest) { + if !p.IsSetReq() { + return BizServiceBizMethod3Args_Req_DEFAULT + } + return p.Req +} +func (p *BizServiceBizMethod3Args) SetReq(val *BizRequest) { + p.Req = val +} + +var fieldIDToName_BizServiceBizMethod3Args = map[int16]string{ + 1: "req", +} + +func (p *BizServiceBizMethod3Args) IsSetReq() bool { + return p.Req != nil +} + +func (p *BizServiceBizMethod3Args) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BizServiceBizMethod3Args[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *BizServiceBizMethod3Args) ReadField1(iprot thrift.TProtocol) error { + p.Req = NewBizRequest() + if err := p.Req.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *BizServiceBizMethod3Args) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("BizMethod3_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *BizServiceBizMethod3Args) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Req.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *BizServiceBizMethod3Args) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("BizServiceBizMethod3Args(%+v)", *p) +} + +func (p *BizServiceBizMethod3Args) DeepEqual(ano *BizServiceBizMethod3Args) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Req) { + return false + } + return true +} + +func (p *BizServiceBizMethod3Args) Field1DeepEqual(src *BizRequest) bool { + + if !p.Req.DeepEqual(src) { + return false + } + return true +} + +type BizServiceBizMethod3Result struct { + Success *BizResponse `thrift:"success,0,optional" frugal:"0,optional,BizResponse" json:"success,omitempty"` +} + +func NewBizServiceBizMethod3Result() *BizServiceBizMethod3Result { + return &BizServiceBizMethod3Result{} +} + +func (p *BizServiceBizMethod3Result) InitDefault() { + *p = BizServiceBizMethod3Result{} +} + +var BizServiceBizMethod3Result_Success_DEFAULT *BizResponse + +func (p *BizServiceBizMethod3Result) GetSuccess() (v *BizResponse) { + if !p.IsSetSuccess() { + return BizServiceBizMethod3Result_Success_DEFAULT + } + return p.Success +} +func (p *BizServiceBizMethod3Result) SetSuccess(x interface{}) { + p.Success = x.(*BizResponse) +} + +var fieldIDToName_BizServiceBizMethod3Result = map[int16]string{ + 0: "success", +} + +func (p *BizServiceBizMethod3Result) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *BizServiceBizMethod3Result) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BizServiceBizMethod3Result[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *BizServiceBizMethod3Result) ReadField0(iprot thrift.TProtocol) error { + p.Success = NewBizResponse() + if err := p.Success.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *BizServiceBizMethod3Result) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("BizMethod3_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *BizServiceBizMethod3Result) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *BizServiceBizMethod3Result) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("BizServiceBizMethod3Result(%+v)", *p) +} + +func (p *BizServiceBizMethod3Result) DeepEqual(ano *BizServiceBizMethod3Result) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field0DeepEqual(ano.Success) { + return false + } + return true +} + +func (p *BizServiceBizMethod3Result) Field0DeepEqual(src *BizResponse) bool { + + if !p.Success.DeepEqual(src) { + return false + } + return true +} diff --git a/kitex_gen/thrift/http/k-consts.go b/kitex_gen/thrift/http/k-consts.go new file mode 100644 index 0000000..62eb45b --- /dev/null +++ b/kitex_gen/thrift/http/k-consts.go @@ -0,0 +1,4 @@ +package http + +// KitexUnusedProtection is used to prevent 'imported and not used' error. +var KitexUnusedProtection = struct{}{} diff --git a/kitex_gen/thrift/http/k-http.go b/kitex_gen/thrift/http/k-http.go new file mode 100644 index 0000000..b8bf561 --- /dev/null +++ b/kitex_gen/thrift/http/k-http.go @@ -0,0 +1,2793 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package http + +import ( + "bytes" + "fmt" + "reflect" + "strings" + + "github.com/apache/thrift/lib/go/thrift" + "github.com/cloudwego/kitex/pkg/protocol/bthrift" + kutils "github.com/cloudwego/kitex/pkg/utils" +) + +// unused protection +var ( + _ = fmt.Formatter(nil) + _ = (*bytes.Buffer)(nil) + _ = (*strings.Builder)(nil) + _ = reflect.Type(nil) + _ = thrift.TProtocol(nil) + _ = bthrift.BinaryWriter(nil) +) + +func (p *ReqItem) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ReqItem[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *ReqItem) FastReadField1(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.Id = &v + + } + return offset, nil +} + +func (p *ReqItem) FastReadField2(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.Text = &v + + } + return offset, nil +} + +// for compatibility +func (p *ReqItem) FastWrite(buf []byte) int { + return 0 +} + +func (p *ReqItem) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "ReqItem") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + offset += p.fastWriteField2(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *ReqItem) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("ReqItem") + if p != nil { + l += p.field1Length() + l += p.field2Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *ReqItem) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetId() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "id", thrift.I64, 1) + offset += bthrift.Binary.WriteI64(buf[offset:], *p.Id) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *ReqItem) fastWriteField2(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetText() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "text", thrift.STRING, 2) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, *p.Text) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *ReqItem) field1Length() int { + l := 0 + if p.IsSetId() { + l += bthrift.Binary.FieldBeginLength("id", thrift.I64, 1) + l += bthrift.Binary.I64Length(*p.Id) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *ReqItem) field2Length() int { + l := 0 + if p.IsSetText() { + l += bthrift.Binary.FieldBeginLength("text", thrift.STRING, 2) + l += bthrift.Binary.StringLengthNocopy(*p.Text) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizCommonParam) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.I32 { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BizCommonParam[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *BizCommonParam) FastReadField1(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.ApiVersion = &v + + } + return offset, nil +} + +func (p *BizCommonParam) FastReadField2(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI32(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.Token = &v + + } + return offset, nil +} + +// for compatibility +func (p *BizCommonParam) FastWrite(buf []byte) int { + return 0 +} + +func (p *BizCommonParam) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "BizCommonParam") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + offset += p.fastWriteField2(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *BizCommonParam) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("BizCommonParam") + if p != nil { + l += p.field1Length() + l += p.field2Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *BizCommonParam) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetApiVersion() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "api_version", thrift.I64, 1) + offset += bthrift.Binary.WriteI64(buf[offset:], *p.ApiVersion) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizCommonParam) fastWriteField2(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetToken() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "token", thrift.I32, 2) + offset += bthrift.Binary.WriteI32(buf[offset:], *p.Token) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizCommonParam) field1Length() int { + l := 0 + if p.IsSetApiVersion() { + l += bthrift.Binary.FieldBeginLength("api_version", thrift.I64, 1) + l += bthrift.Binary.I64Length(*p.ApiVersion) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizCommonParam) field2Length() int { + l := 0 + if p.IsSetToken() { + l += bthrift.Binary.FieldBeginLength("token", thrift.I32, 2) + l += bthrift.Binary.I32Length(*p.Token) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizRequest) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.I32 { + l, err = p.FastReadField3(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.MAP { + l, err = p.FastReadField4(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField5(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 6: + if fieldTypeId == thrift.LIST { + l, err = p.FastReadField6(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 7: + if fieldTypeId == thrift.I32 { + l, err = p.FastReadField7(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 8: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField8(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 9: + if fieldTypeId == thrift.LIST { + l, err = p.FastReadField9(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 10: + if fieldTypeId == thrift.LIST { + l, err = p.FastReadField10(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BizRequest[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *BizRequest) FastReadField1(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.VInt64 = &v + + } + return offset, nil +} + +func (p *BizRequest) FastReadField2(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.Text = &v + + } + return offset, nil +} + +func (p *BizRequest) FastReadField3(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI32(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.Token = &v + + } + return offset, nil +} + +func (p *BizRequest) FastReadField4(buf []byte) (int, error) { + offset := 0 + + _, _, size, l, err := bthrift.Binary.ReadMapBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.ReqItemsMap = make(map[int64]*ReqItem, size) + for i := 0; i < size; i++ { + var _key int64 + if v, l, err := bthrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _key = v + + } + _val := NewReqItem() + if l, err := _val.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + + p.ReqItemsMap[_key] = _val + } + if l, err := bthrift.Binary.ReadMapEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *BizRequest) FastReadField5(buf []byte) (int, error) { + offset := 0 + + tmp := NewReqItem() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Some = tmp + return offset, nil +} + +func (p *BizRequest) FastReadField6(buf []byte) (int, error) { + offset := 0 + + _, size, l, err := bthrift.Binary.ReadListBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.ReqItems = make([]string, 0, size) + for i := 0; i < size; i++ { + var _elem string + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _elem = v + + } + + p.ReqItems = append(p.ReqItems, _elem) + } + if l, err := bthrift.Binary.ReadListEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *BizRequest) FastReadField7(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI32(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.ApiVersion = &v + + } + return offset, nil +} + +func (p *BizRequest) FastReadField8(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.Uid = &v + + } + return offset, nil +} + +func (p *BizRequest) FastReadField9(buf []byte) (int, error) { + offset := 0 + + _, size, l, err := bthrift.Binary.ReadListBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.Cids = make([]int64, 0, size) + for i := 0; i < size; i++ { + var _elem int64 + if v, l, err := bthrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _elem = v + + } + + p.Cids = append(p.Cids, _elem) + } + if l, err := bthrift.Binary.ReadListEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *BizRequest) FastReadField10(buf []byte) (int, error) { + offset := 0 + + _, size, l, err := bthrift.Binary.ReadListBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.Vids = make([]string, 0, size) + for i := 0; i < size; i++ { + var _elem string + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _elem = v + + } + + p.Vids = append(p.Vids, _elem) + } + if l, err := bthrift.Binary.ReadListEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +// for compatibility +func (p *BizRequest) FastWrite(buf []byte) int { + return 0 +} + +func (p *BizRequest) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "BizRequest") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + offset += p.fastWriteField3(buf[offset:], binaryWriter) + offset += p.fastWriteField7(buf[offset:], binaryWriter) + offset += p.fastWriteField8(buf[offset:], binaryWriter) + offset += p.fastWriteField2(buf[offset:], binaryWriter) + offset += p.fastWriteField4(buf[offset:], binaryWriter) + offset += p.fastWriteField5(buf[offset:], binaryWriter) + offset += p.fastWriteField6(buf[offset:], binaryWriter) + offset += p.fastWriteField9(buf[offset:], binaryWriter) + offset += p.fastWriteField10(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *BizRequest) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("BizRequest") + if p != nil { + l += p.field1Length() + l += p.field2Length() + l += p.field3Length() + l += p.field4Length() + l += p.field5Length() + l += p.field6Length() + l += p.field7Length() + l += p.field8Length() + l += p.field9Length() + l += p.field10Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *BizRequest) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetVInt64() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "v_int64", thrift.I64, 1) + offset += bthrift.Binary.WriteI64(buf[offset:], *p.VInt64) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizRequest) fastWriteField2(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetText() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "text", thrift.STRING, 2) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, *p.Text) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizRequest) fastWriteField3(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetToken() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "token", thrift.I32, 3) + offset += bthrift.Binary.WriteI32(buf[offset:], *p.Token) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizRequest) fastWriteField4(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetReqItemsMap() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "req_items_map", thrift.MAP, 4) + mapBeginOffset := offset + offset += bthrift.Binary.MapBeginLength(thrift.I64, thrift.STRUCT, 0) + var length int + for k, v := range p.ReqItemsMap { + length++ + + offset += bthrift.Binary.WriteI64(buf[offset:], k) + + offset += v.FastWriteNocopy(buf[offset:], binaryWriter) + } + bthrift.Binary.WriteMapBegin(buf[mapBeginOffset:], thrift.I64, thrift.STRUCT, length) + offset += bthrift.Binary.WriteMapEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizRequest) fastWriteField5(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetSome() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "some", thrift.STRUCT, 5) + offset += p.Some.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizRequest) fastWriteField6(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetReqItems() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "req_items", thrift.LIST, 6) + listBeginOffset := offset + offset += bthrift.Binary.ListBeginLength(thrift.STRING, 0) + var length int + for _, v := range p.ReqItems { + length++ + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, v) + + } + bthrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRING, length) + offset += bthrift.Binary.WriteListEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizRequest) fastWriteField7(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetApiVersion() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "api_version", thrift.I32, 7) + offset += bthrift.Binary.WriteI32(buf[offset:], *p.ApiVersion) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizRequest) fastWriteField8(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetUid() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "uid", thrift.I64, 8) + offset += bthrift.Binary.WriteI64(buf[offset:], *p.Uid) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizRequest) fastWriteField9(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetCids() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "cids", thrift.LIST, 9) + listBeginOffset := offset + offset += bthrift.Binary.ListBeginLength(thrift.I64, 0) + var length int + for _, v := range p.Cids { + length++ + offset += bthrift.Binary.WriteI64(buf[offset:], v) + + } + bthrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.I64, length) + offset += bthrift.Binary.WriteListEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizRequest) fastWriteField10(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetVids() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "vids", thrift.LIST, 10) + listBeginOffset := offset + offset += bthrift.Binary.ListBeginLength(thrift.STRING, 0) + var length int + for _, v := range p.Vids { + length++ + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, v) + + } + bthrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRING, length) + offset += bthrift.Binary.WriteListEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizRequest) field1Length() int { + l := 0 + if p.IsSetVInt64() { + l += bthrift.Binary.FieldBeginLength("v_int64", thrift.I64, 1) + l += bthrift.Binary.I64Length(*p.VInt64) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizRequest) field2Length() int { + l := 0 + if p.IsSetText() { + l += bthrift.Binary.FieldBeginLength("text", thrift.STRING, 2) + l += bthrift.Binary.StringLengthNocopy(*p.Text) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizRequest) field3Length() int { + l := 0 + if p.IsSetToken() { + l += bthrift.Binary.FieldBeginLength("token", thrift.I32, 3) + l += bthrift.Binary.I32Length(*p.Token) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizRequest) field4Length() int { + l := 0 + if p.IsSetReqItemsMap() { + l += bthrift.Binary.FieldBeginLength("req_items_map", thrift.MAP, 4) + l += bthrift.Binary.MapBeginLength(thrift.I64, thrift.STRUCT, len(p.ReqItemsMap)) + for k, v := range p.ReqItemsMap { + + l += bthrift.Binary.I64Length(k) + + l += v.BLength() + } + l += bthrift.Binary.MapEndLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizRequest) field5Length() int { + l := 0 + if p.IsSetSome() { + l += bthrift.Binary.FieldBeginLength("some", thrift.STRUCT, 5) + l += p.Some.BLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizRequest) field6Length() int { + l := 0 + if p.IsSetReqItems() { + l += bthrift.Binary.FieldBeginLength("req_items", thrift.LIST, 6) + l += bthrift.Binary.ListBeginLength(thrift.STRING, len(p.ReqItems)) + for _, v := range p.ReqItems { + l += bthrift.Binary.StringLengthNocopy(v) + + } + l += bthrift.Binary.ListEndLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizRequest) field7Length() int { + l := 0 + if p.IsSetApiVersion() { + l += bthrift.Binary.FieldBeginLength("api_version", thrift.I32, 7) + l += bthrift.Binary.I32Length(*p.ApiVersion) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizRequest) field8Length() int { + l := 0 + if p.IsSetUid() { + l += bthrift.Binary.FieldBeginLength("uid", thrift.I64, 8) + l += bthrift.Binary.I64Length(*p.Uid) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizRequest) field9Length() int { + l := 0 + if p.IsSetCids() { + l += bthrift.Binary.FieldBeginLength("cids", thrift.LIST, 9) + l += bthrift.Binary.ListBeginLength(thrift.I64, len(p.Cids)) + var tmpV int64 + l += bthrift.Binary.I64Length(int64(tmpV)) * len(p.Cids) + l += bthrift.Binary.ListEndLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizRequest) field10Length() int { + l := 0 + if p.IsSetVids() { + l += bthrift.Binary.FieldBeginLength("vids", thrift.LIST, 10) + l += bthrift.Binary.ListBeginLength(thrift.STRING, len(p.Vids)) + for _, v := range p.Vids { + l += bthrift.Binary.StringLengthNocopy(v) + + } + l += bthrift.Binary.ListEndLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *RspItem) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_RspItem[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *RspItem) FastReadField1(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.ItemId = &v + + } + return offset, nil +} + +func (p *RspItem) FastReadField2(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.Text = &v + + } + return offset, nil +} + +// for compatibility +func (p *RspItem) FastWrite(buf []byte) int { + return 0 +} + +func (p *RspItem) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "RspItem") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + offset += p.fastWriteField2(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *RspItem) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("RspItem") + if p != nil { + l += p.field1Length() + l += p.field2Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *RspItem) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetItemId() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "item_id", thrift.I64, 1) + offset += bthrift.Binary.WriteI64(buf[offset:], *p.ItemId) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *RspItem) fastWriteField2(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetText() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "text", thrift.STRING, 2) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, *p.Text) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *RspItem) field1Length() int { + l := 0 + if p.IsSetItemId() { + l += bthrift.Binary.FieldBeginLength("item_id", thrift.I64, 1) + l += bthrift.Binary.I64Length(*p.ItemId) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *RspItem) field2Length() int { + l := 0 + if p.IsSetText() { + l += bthrift.Binary.FieldBeginLength("text", thrift.STRING, 2) + l += bthrift.Binary.StringLengthNocopy(*p.Text) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizResponse) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.MAP { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.I32 { + l, err = p.FastReadField3(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.LIST { + l, err = p.FastReadField4(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.I32 { + l, err = p.FastReadField5(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 6: + if fieldTypeId == thrift.LIST { + l, err = p.FastReadField6(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BizResponse[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *BizResponse) FastReadField1(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.T = &v + + } + return offset, nil +} + +func (p *BizResponse) FastReadField2(buf []byte) (int, error) { + offset := 0 + + _, _, size, l, err := bthrift.Binary.ReadMapBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.RspItems = make(map[int64]*RspItem, size) + for i := 0; i < size; i++ { + var _key int64 + if v, l, err := bthrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _key = v + + } + _val := NewRspItem() + if l, err := _val.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + + p.RspItems[_key] = _val + } + if l, err := bthrift.Binary.ReadMapEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *BizResponse) FastReadField3(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI32(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.VEnum = &v + + } + return offset, nil +} + +func (p *BizResponse) FastReadField4(buf []byte) (int, error) { + offset := 0 + + _, size, l, err := bthrift.Binary.ReadListBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.RspItemList = make([]*RspItem, 0, size) + for i := 0; i < size; i++ { + _elem := NewRspItem() + if l, err := _elem.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + + p.RspItemList = append(p.RspItemList, _elem) + } + if l, err := bthrift.Binary.ReadListEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *BizResponse) FastReadField5(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI32(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.HttpCode = &v + + } + return offset, nil +} + +func (p *BizResponse) FastReadField6(buf []byte) (int, error) { + offset := 0 + + _, size, l, err := bthrift.Binary.ReadListBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.ItemCount = make([]int64, 0, size) + for i := 0; i < size; i++ { + var _elem int64 + if v, l, err := bthrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _elem = v + + } + + p.ItemCount = append(p.ItemCount, _elem) + } + if l, err := bthrift.Binary.ReadListEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +// for compatibility +func (p *BizResponse) FastWrite(buf []byte) int { + return 0 +} + +func (p *BizResponse) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "BizResponse") + if p != nil { + offset += p.fastWriteField3(buf[offset:], binaryWriter) + offset += p.fastWriteField5(buf[offset:], binaryWriter) + offset += p.fastWriteField1(buf[offset:], binaryWriter) + offset += p.fastWriteField2(buf[offset:], binaryWriter) + offset += p.fastWriteField4(buf[offset:], binaryWriter) + offset += p.fastWriteField6(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *BizResponse) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("BizResponse") + if p != nil { + l += p.field1Length() + l += p.field2Length() + l += p.field3Length() + l += p.field4Length() + l += p.field5Length() + l += p.field6Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *BizResponse) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetT() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "T", thrift.STRING, 1) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, *p.T) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizResponse) fastWriteField2(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetRspItems() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "rsp_items", thrift.MAP, 2) + mapBeginOffset := offset + offset += bthrift.Binary.MapBeginLength(thrift.I64, thrift.STRUCT, 0) + var length int + for k, v := range p.RspItems { + length++ + + offset += bthrift.Binary.WriteI64(buf[offset:], k) + + offset += v.FastWriteNocopy(buf[offset:], binaryWriter) + } + bthrift.Binary.WriteMapBegin(buf[mapBeginOffset:], thrift.I64, thrift.STRUCT, length) + offset += bthrift.Binary.WriteMapEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizResponse) fastWriteField3(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetVEnum() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "v_enum", thrift.I32, 3) + offset += bthrift.Binary.WriteI32(buf[offset:], *p.VEnum) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizResponse) fastWriteField4(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetRspItemList() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "rsp_item_list", thrift.LIST, 4) + listBeginOffset := offset + offset += bthrift.Binary.ListBeginLength(thrift.STRUCT, 0) + var length int + for _, v := range p.RspItemList { + length++ + offset += v.FastWriteNocopy(buf[offset:], binaryWriter) + } + bthrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRUCT, length) + offset += bthrift.Binary.WriteListEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizResponse) fastWriteField5(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetHttpCode() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "http_code", thrift.I32, 5) + offset += bthrift.Binary.WriteI32(buf[offset:], *p.HttpCode) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizResponse) fastWriteField6(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetItemCount() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "item_count", thrift.LIST, 6) + listBeginOffset := offset + offset += bthrift.Binary.ListBeginLength(thrift.I64, 0) + var length int + for _, v := range p.ItemCount { + length++ + offset += bthrift.Binary.WriteI64(buf[offset:], v) + + } + bthrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.I64, length) + offset += bthrift.Binary.WriteListEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizResponse) field1Length() int { + l := 0 + if p.IsSetT() { + l += bthrift.Binary.FieldBeginLength("T", thrift.STRING, 1) + l += bthrift.Binary.StringLengthNocopy(*p.T) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizResponse) field2Length() int { + l := 0 + if p.IsSetRspItems() { + l += bthrift.Binary.FieldBeginLength("rsp_items", thrift.MAP, 2) + l += bthrift.Binary.MapBeginLength(thrift.I64, thrift.STRUCT, len(p.RspItems)) + for k, v := range p.RspItems { + + l += bthrift.Binary.I64Length(k) + + l += v.BLength() + } + l += bthrift.Binary.MapEndLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizResponse) field3Length() int { + l := 0 + if p.IsSetVEnum() { + l += bthrift.Binary.FieldBeginLength("v_enum", thrift.I32, 3) + l += bthrift.Binary.I32Length(*p.VEnum) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizResponse) field4Length() int { + l := 0 + if p.IsSetRspItemList() { + l += bthrift.Binary.FieldBeginLength("rsp_item_list", thrift.LIST, 4) + l += bthrift.Binary.ListBeginLength(thrift.STRUCT, len(p.RspItemList)) + for _, v := range p.RspItemList { + l += v.BLength() + } + l += bthrift.Binary.ListEndLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizResponse) field5Length() int { + l := 0 + if p.IsSetHttpCode() { + l += bthrift.Binary.FieldBeginLength("http_code", thrift.I32, 5) + l += bthrift.Binary.I32Length(*p.HttpCode) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizResponse) field6Length() int { + l := 0 + if p.IsSetItemCount() { + l += bthrift.Binary.FieldBeginLength("item_count", thrift.LIST, 6) + l += bthrift.Binary.ListBeginLength(thrift.I64, len(p.ItemCount)) + var tmpV int64 + l += bthrift.Binary.I64Length(int64(tmpV)) * len(p.ItemCount) + l += bthrift.Binary.ListEndLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizServiceBizMethod1Args) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BizServiceBizMethod1Args[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *BizServiceBizMethod1Args) FastReadField1(buf []byte) (int, error) { + offset := 0 + + tmp := NewBizRequest() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Req = tmp + return offset, nil +} + +// for compatibility +func (p *BizServiceBizMethod1Args) FastWrite(buf []byte) int { + return 0 +} + +func (p *BizServiceBizMethod1Args) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "BizMethod1_args") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *BizServiceBizMethod1Args) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("BizMethod1_args") + if p != nil { + l += p.field1Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *BizServiceBizMethod1Args) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "req", thrift.STRUCT, 1) + offset += p.Req.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *BizServiceBizMethod1Args) field1Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("req", thrift.STRUCT, 1) + l += p.Req.BLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *BizServiceBizMethod1Result) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField0(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BizServiceBizMethod1Result[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *BizServiceBizMethod1Result) FastReadField0(buf []byte) (int, error) { + offset := 0 + + tmp := NewBizResponse() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Success = tmp + return offset, nil +} + +// for compatibility +func (p *BizServiceBizMethod1Result) FastWrite(buf []byte) int { + return 0 +} + +func (p *BizServiceBizMethod1Result) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "BizMethod1_result") + if p != nil { + offset += p.fastWriteField0(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *BizServiceBizMethod1Result) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("BizMethod1_result") + if p != nil { + l += p.field0Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *BizServiceBizMethod1Result) fastWriteField0(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetSuccess() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "success", thrift.STRUCT, 0) + offset += p.Success.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizServiceBizMethod1Result) field0Length() int { + l := 0 + if p.IsSetSuccess() { + l += bthrift.Binary.FieldBeginLength("success", thrift.STRUCT, 0) + l += p.Success.BLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizServiceBizMethod2Args) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BizServiceBizMethod2Args[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *BizServiceBizMethod2Args) FastReadField1(buf []byte) (int, error) { + offset := 0 + + tmp := NewBizRequest() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Req = tmp + return offset, nil +} + +// for compatibility +func (p *BizServiceBizMethod2Args) FastWrite(buf []byte) int { + return 0 +} + +func (p *BizServiceBizMethod2Args) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "BizMethod2_args") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *BizServiceBizMethod2Args) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("BizMethod2_args") + if p != nil { + l += p.field1Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *BizServiceBizMethod2Args) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "req", thrift.STRUCT, 1) + offset += p.Req.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *BizServiceBizMethod2Args) field1Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("req", thrift.STRUCT, 1) + l += p.Req.BLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *BizServiceBizMethod2Result) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField0(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BizServiceBizMethod2Result[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *BizServiceBizMethod2Result) FastReadField0(buf []byte) (int, error) { + offset := 0 + + tmp := NewBizResponse() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Success = tmp + return offset, nil +} + +// for compatibility +func (p *BizServiceBizMethod2Result) FastWrite(buf []byte) int { + return 0 +} + +func (p *BizServiceBizMethod2Result) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "BizMethod2_result") + if p != nil { + offset += p.fastWriteField0(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *BizServiceBizMethod2Result) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("BizMethod2_result") + if p != nil { + l += p.field0Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *BizServiceBizMethod2Result) fastWriteField0(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetSuccess() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "success", thrift.STRUCT, 0) + offset += p.Success.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizServiceBizMethod2Result) field0Length() int { + l := 0 + if p.IsSetSuccess() { + l += bthrift.Binary.FieldBeginLength("success", thrift.STRUCT, 0) + l += p.Success.BLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *BizServiceBizMethod3Args) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BizServiceBizMethod3Args[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *BizServiceBizMethod3Args) FastReadField1(buf []byte) (int, error) { + offset := 0 + + tmp := NewBizRequest() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Req = tmp + return offset, nil +} + +// for compatibility +func (p *BizServiceBizMethod3Args) FastWrite(buf []byte) int { + return 0 +} + +func (p *BizServiceBizMethod3Args) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "BizMethod3_args") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *BizServiceBizMethod3Args) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("BizMethod3_args") + if p != nil { + l += p.field1Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *BizServiceBizMethod3Args) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "req", thrift.STRUCT, 1) + offset += p.Req.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *BizServiceBizMethod3Args) field1Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("req", thrift.STRUCT, 1) + l += p.Req.BLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *BizServiceBizMethod3Result) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField0(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BizServiceBizMethod3Result[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *BizServiceBizMethod3Result) FastReadField0(buf []byte) (int, error) { + offset := 0 + + tmp := NewBizResponse() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Success = tmp + return offset, nil +} + +// for compatibility +func (p *BizServiceBizMethod3Result) FastWrite(buf []byte) int { + return 0 +} + +func (p *BizServiceBizMethod3Result) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "BizMethod3_result") + if p != nil { + offset += p.fastWriteField0(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *BizServiceBizMethod3Result) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("BizMethod3_result") + if p != nil { + l += p.field0Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *BizServiceBizMethod3Result) fastWriteField0(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetSuccess() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "success", thrift.STRUCT, 0) + offset += p.Success.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *BizServiceBizMethod3Result) field0Length() int { + l := 0 + if p.IsSetSuccess() { + l += bthrift.Binary.FieldBeginLength("success", thrift.STRUCT, 0) + l += p.Success.BLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *ReqItem) DeepCopy(s interface{}) error { + src, ok := s.(*ReqItem) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + if src.Id != nil { + tmp := *src.Id + p.Id = &tmp + } + + if src.Text != nil { + if *src.Text != "" { + tmp := kutils.StringDeepCopy(*src.Text) + p.Text = &tmp + } + } + + return nil +} + +func (p *BizCommonParam) DeepCopy(s interface{}) error { + src, ok := s.(*BizCommonParam) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + if src.ApiVersion != nil { + tmp := *src.ApiVersion + p.ApiVersion = &tmp + } + + if src.Token != nil { + tmp := *src.Token + p.Token = &tmp + } + + return nil +} + +func (p *BizRequest) DeepCopy(s interface{}) error { + src, ok := s.(*BizRequest) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + if src.VInt64 != nil { + tmp := *src.VInt64 + p.VInt64 = &tmp + } + + if src.Text != nil { + if *src.Text != "" { + tmp := kutils.StringDeepCopy(*src.Text) + p.Text = &tmp + } + } + + if src.Token != nil { + tmp := *src.Token + p.Token = &tmp + } + + if src.ReqItemsMap != nil { + p.ReqItemsMap = make(map[int64]*ReqItem, len(src.ReqItemsMap)) + for key, val := range src.ReqItemsMap { + var _key int64 + _key = key + + var _val *ReqItem + if val != nil { + _val = &ReqItem{} + if err := _val.DeepCopy(val); err != nil { + return err + } + } + + p.ReqItemsMap[_key] = _val + } + } + + var _some *ReqItem + if src.Some != nil { + _some = &ReqItem{} + if err := _some.DeepCopy(src.Some); err != nil { + return err + } + } + p.Some = _some + + if src.ReqItems != nil { + p.ReqItems = make([]string, 0, len(src.ReqItems)) + for _, elem := range src.ReqItems { + var _elem string + if elem != "" { + _elem = kutils.StringDeepCopy(elem) + } + + p.ReqItems = append(p.ReqItems, _elem) + } + } + + if src.ApiVersion != nil { + tmp := *src.ApiVersion + p.ApiVersion = &tmp + } + + if src.Uid != nil { + tmp := *src.Uid + p.Uid = &tmp + } + + if src.Cids != nil { + p.Cids = make([]int64, 0, len(src.Cids)) + for _, elem := range src.Cids { + var _elem int64 + _elem = elem + + p.Cids = append(p.Cids, _elem) + } + } + + if src.Vids != nil { + p.Vids = make([]string, 0, len(src.Vids)) + for _, elem := range src.Vids { + var _elem string + if elem != "" { + _elem = kutils.StringDeepCopy(elem) + } + + p.Vids = append(p.Vids, _elem) + } + } + + return nil +} + +func (p *RspItem) DeepCopy(s interface{}) error { + src, ok := s.(*RspItem) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + if src.ItemId != nil { + tmp := *src.ItemId + p.ItemId = &tmp + } + + if src.Text != nil { + if *src.Text != "" { + tmp := kutils.StringDeepCopy(*src.Text) + p.Text = &tmp + } + } + + return nil +} + +func (p *BizResponse) DeepCopy(s interface{}) error { + src, ok := s.(*BizResponse) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + if src.T != nil { + if *src.T != "" { + tmp := kutils.StringDeepCopy(*src.T) + p.T = &tmp + } + } + + if src.RspItems != nil { + p.RspItems = make(map[int64]*RspItem, len(src.RspItems)) + for key, val := range src.RspItems { + var _key int64 + _key = key + + var _val *RspItem + if val != nil { + _val = &RspItem{} + if err := _val.DeepCopy(val); err != nil { + return err + } + } + + p.RspItems[_key] = _val + } + } + + if src.VEnum != nil { + tmp := *src.VEnum + p.VEnum = &tmp + } + + if src.RspItemList != nil { + p.RspItemList = make([]*RspItem, 0, len(src.RspItemList)) + for _, elem := range src.RspItemList { + var _elem *RspItem + if elem != nil { + _elem = &RspItem{} + if err := _elem.DeepCopy(elem); err != nil { + return err + } + } + + p.RspItemList = append(p.RspItemList, _elem) + } + } + + if src.HttpCode != nil { + tmp := *src.HttpCode + p.HttpCode = &tmp + } + + if src.ItemCount != nil { + p.ItemCount = make([]int64, 0, len(src.ItemCount)) + for _, elem := range src.ItemCount { + var _elem int64 + _elem = elem + + p.ItemCount = append(p.ItemCount, _elem) + } + } + + return nil +} + +func (p *BizServiceBizMethod1Args) GetFirstArgument() interface{} { + return p.Req +} + +func (p *BizServiceBizMethod1Result) GetResult() interface{} { + return p.Success +} + +func (p *BizServiceBizMethod2Args) GetFirstArgument() interface{} { + return p.Req +} + +func (p *BizServiceBizMethod2Result) GetResult() interface{} { + return p.Success +} + +func (p *BizServiceBizMethod3Args) GetFirstArgument() interface{} { + return p.Req +} + +func (p *BizServiceBizMethod3Result) GetResult() interface{} { + return p.Success +} diff --git a/kitex_gen/thrift/instparam/instparam.go b/kitex_gen/thrift/instparam/instparam.go new file mode 100644 index 0000000..f6f2242 --- /dev/null +++ b/kitex_gen/thrift/instparam/instparam.go @@ -0,0 +1,1777 @@ +// Code generated by thriftgo (0.2.9). DO NOT EDIT. + +package instparam + +import ( + "fmt" + "github.com/apache/thrift/lib/go/thrift" + "strings" +) + +type SubMessage struct { + Id *int64 `thrift:"id,1,optional" frugal:"1,optional,i64" json:"id,omitempty"` + Value *string `thrift:"value,2,optional" frugal:"2,optional,string" json:"value,omitempty"` +} + +func NewSubMessage() *SubMessage { + return &SubMessage{} +} + +func (p *SubMessage) InitDefault() { + *p = SubMessage{} +} + +var SubMessage_Id_DEFAULT int64 + +func (p *SubMessage) GetId() (v int64) { + if !p.IsSetId() { + return SubMessage_Id_DEFAULT + } + return *p.Id +} + +var SubMessage_Value_DEFAULT string + +func (p *SubMessage) GetValue() (v string) { + if !p.IsSetValue() { + return SubMessage_Value_DEFAULT + } + return *p.Value +} +func (p *SubMessage) SetId(val *int64) { + p.Id = val +} +func (p *SubMessage) SetValue(val *string) { + p.Value = val +} + +var fieldIDToName_SubMessage = map[int16]string{ + 1: "id", + 2: "value", +} + +func (p *SubMessage) IsSetId() bool { + return p.Id != nil +} + +func (p *SubMessage) IsSetValue() bool { + return p.Value != nil +} + +func (p *SubMessage) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SubMessage[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *SubMessage) ReadField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + p.Id = &v + } + return nil +} + +func (p *SubMessage) ReadField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.Value = &v + } + return nil +} + +func (p *SubMessage) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("SubMessage"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *SubMessage) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetId() { + if err = oprot.WriteFieldBegin("id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(*p.Id); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *SubMessage) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetValue() { + if err = oprot.WriteFieldBegin("value", thrift.STRING, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.Value); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *SubMessage) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("SubMessage(%+v)", *p) +} + +func (p *SubMessage) DeepEqual(ano *SubMessage) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Id) { + return false + } + if !p.Field2DeepEqual(ano.Value) { + return false + } + return true +} + +func (p *SubMessage) Field1DeepEqual(src *int64) bool { + + if p.Id == src { + return true + } else if p.Id == nil || src == nil { + return false + } + if *p.Id != *src { + return false + } + return true +} +func (p *SubMessage) Field2DeepEqual(src *string) bool { + + if p.Value == src { + return true + } else if p.Value == nil || src == nil { + return false + } + if strings.Compare(*p.Value, *src) != 0 { + return false + } + return true +} + +type Message struct { + Id *int64 `thrift:"id,1,optional" frugal:"1,optional,i64" json:"id,omitempty"` + Value *string `thrift:"value,2,optional" frugal:"2,optional,string" json:"value,omitempty"` + SubMessages []*SubMessage `thrift:"subMessages,3,optional" frugal:"3,optional,list" json:"subMessages,omitempty"` +} + +func NewMessage() *Message { + return &Message{} +} + +func (p *Message) InitDefault() { + *p = Message{} +} + +var Message_Id_DEFAULT int64 + +func (p *Message) GetId() (v int64) { + if !p.IsSetId() { + return Message_Id_DEFAULT + } + return *p.Id +} + +var Message_Value_DEFAULT string + +func (p *Message) GetValue() (v string) { + if !p.IsSetValue() { + return Message_Value_DEFAULT + } + return *p.Value +} + +var Message_SubMessages_DEFAULT []*SubMessage + +func (p *Message) GetSubMessages() (v []*SubMessage) { + if !p.IsSetSubMessages() { + return Message_SubMessages_DEFAULT + } + return p.SubMessages +} +func (p *Message) SetId(val *int64) { + p.Id = val +} +func (p *Message) SetValue(val *string) { + p.Value = val +} +func (p *Message) SetSubMessages(val []*SubMessage) { + p.SubMessages = val +} + +var fieldIDToName_Message = map[int16]string{ + 1: "id", + 2: "value", + 3: "subMessages", +} + +func (p *Message) IsSetId() bool { + return p.Id != nil +} + +func (p *Message) IsSetValue() bool { + return p.Value != nil +} + +func (p *Message) IsSetSubMessages() bool { + return p.SubMessages != nil +} + +func (p *Message) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_Message[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *Message) ReadField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + p.Id = &v + } + return nil +} + +func (p *Message) ReadField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.Value = &v + } + return nil +} + +func (p *Message) ReadField3(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + p.SubMessages = make([]*SubMessage, 0, size) + for i := 0; i < size; i++ { + _elem := NewSubMessage() + if err := _elem.Read(iprot); err != nil { + return err + } + + p.SubMessages = append(p.SubMessages, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + return nil +} + +func (p *Message) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("Message"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *Message) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetId() { + if err = oprot.WriteFieldBegin("id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(*p.Id); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *Message) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetValue() { + if err = oprot.WriteFieldBegin("value", thrift.STRING, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.Value); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *Message) writeField3(oprot thrift.TProtocol) (err error) { + if p.IsSetSubMessages() { + if err = oprot.WriteFieldBegin("subMessages", thrift.LIST, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.SubMessages)); err != nil { + return err + } + for _, v := range p.SubMessages { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *Message) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("Message(%+v)", *p) +} + +func (p *Message) DeepEqual(ano *Message) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Id) { + return false + } + if !p.Field2DeepEqual(ano.Value) { + return false + } + if !p.Field3DeepEqual(ano.SubMessages) { + return false + } + return true +} + +func (p *Message) Field1DeepEqual(src *int64) bool { + + if p.Id == src { + return true + } else if p.Id == nil || src == nil { + return false + } + if *p.Id != *src { + return false + } + return true +} +func (p *Message) Field2DeepEqual(src *string) bool { + + if p.Value == src { + return true + } else if p.Value == nil || src == nil { + return false + } + if strings.Compare(*p.Value, *src) != 0 { + return false + } + return true +} +func (p *Message) Field3DeepEqual(src []*SubMessage) bool { + + if len(p.SubMessages) != len(src) { + return false + } + for i, v := range p.SubMessages { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } + return true +} + +type ObjReq struct { + Msg *Message `thrift:"msg,1,required" frugal:"1,required,Message" json:"msg"` + MsgMap map[*Message]*SubMessage `thrift:"msgMap,2,required" frugal:"2,required,map" json:"msgMap"` + SubMsgs []*SubMessage `thrift:"subMsgs,3,required" frugal:"3,required,list" json:"subMsgs"` + MsgSet []*Message `thrift:"msgSet,4,optional" frugal:"4,optional,set" json:"msgSet,omitempty"` + FlagMsg string `thrift:"flagMsg,5,required" frugal:"5,required,string" json:"flagMsg"` + MockCost *string `thrift:"mockCost,6,optional" frugal:"6,optional,string" json:"mockCost,omitempty"` +} + +func NewObjReq() *ObjReq { + return &ObjReq{} +} + +func (p *ObjReq) InitDefault() { + *p = ObjReq{} +} + +var ObjReq_Msg_DEFAULT *Message + +func (p *ObjReq) GetMsg() (v *Message) { + if !p.IsSetMsg() { + return ObjReq_Msg_DEFAULT + } + return p.Msg +} + +func (p *ObjReq) GetMsgMap() (v map[*Message]*SubMessage) { + return p.MsgMap +} + +func (p *ObjReq) GetSubMsgs() (v []*SubMessage) { + return p.SubMsgs +} + +var ObjReq_MsgSet_DEFAULT []*Message + +func (p *ObjReq) GetMsgSet() (v []*Message) { + if !p.IsSetMsgSet() { + return ObjReq_MsgSet_DEFAULT + } + return p.MsgSet +} + +func (p *ObjReq) GetFlagMsg() (v string) { + return p.FlagMsg +} + +var ObjReq_MockCost_DEFAULT string + +func (p *ObjReq) GetMockCost() (v string) { + if !p.IsSetMockCost() { + return ObjReq_MockCost_DEFAULT + } + return *p.MockCost +} +func (p *ObjReq) SetMsg(val *Message) { + p.Msg = val +} +func (p *ObjReq) SetMsgMap(val map[*Message]*SubMessage) { + p.MsgMap = val +} +func (p *ObjReq) SetSubMsgs(val []*SubMessage) { + p.SubMsgs = val +} +func (p *ObjReq) SetMsgSet(val []*Message) { + p.MsgSet = val +} +func (p *ObjReq) SetFlagMsg(val string) { + p.FlagMsg = val +} +func (p *ObjReq) SetMockCost(val *string) { + p.MockCost = val +} + +var fieldIDToName_ObjReq = map[int16]string{ + 1: "msg", + 2: "msgMap", + 3: "subMsgs", + 4: "msgSet", + 5: "flagMsg", + 6: "mockCost", +} + +func (p *ObjReq) IsSetMsg() bool { + return p.Msg != nil +} + +func (p *ObjReq) IsSetMsgSet() bool { + return p.MsgSet != nil +} + +func (p *ObjReq) IsSetMockCost() bool { + return p.MockCost != nil +} + +func (p *ObjReq) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + var issetMsg bool = false + var issetMsgMap bool = false + var issetSubMsgs bool = false + var issetFlagMsg bool = false + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + issetMsg = true + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + issetMsgMap = true + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + issetSubMsgs = true + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.SET { + if err = p.ReadField4(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.STRING { + if err = p.ReadField5(iprot); err != nil { + goto ReadFieldError + } + issetFlagMsg = true + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 6: + if fieldTypeId == thrift.STRING { + if err = p.ReadField6(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + if !issetMsg { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetMsgMap { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetSubMsgs { + fieldId = 3 + goto RequiredFieldNotSetError + } + + if !issetFlagMsg { + fieldId = 5 + goto RequiredFieldNotSetError + } + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ObjReq[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ObjReq[fieldId])) +} + +func (p *ObjReq) ReadField1(iprot thrift.TProtocol) error { + p.Msg = NewMessage() + if err := p.Msg.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *ObjReq) ReadField2(iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin() + if err != nil { + return err + } + p.MsgMap = make(map[*Message]*SubMessage, size) + for i := 0; i < size; i++ { + _key := NewMessage() + if err := _key.Read(iprot); err != nil { + return err + } + _val := NewSubMessage() + if err := _val.Read(iprot); err != nil { + return err + } + + p.MsgMap[_key] = _val + } + if err := iprot.ReadMapEnd(); err != nil { + return err + } + return nil +} + +func (p *ObjReq) ReadField3(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + p.SubMsgs = make([]*SubMessage, 0, size) + for i := 0; i < size; i++ { + _elem := NewSubMessage() + if err := _elem.Read(iprot); err != nil { + return err + } + + p.SubMsgs = append(p.SubMsgs, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + return nil +} + +func (p *ObjReq) ReadField4(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadSetBegin() + if err != nil { + return err + } + p.MsgSet = make([]*Message, 0, size) + for i := 0; i < size; i++ { + _elem := NewMessage() + if err := _elem.Read(iprot); err != nil { + return err + } + + p.MsgSet = append(p.MsgSet, _elem) + } + if err := iprot.ReadSetEnd(); err != nil { + return err + } + return nil +} + +func (p *ObjReq) ReadField5(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.FlagMsg = v + } + return nil +} + +func (p *ObjReq) ReadField6(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.MockCost = &v + } + return nil +} + +func (p *ObjReq) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("ObjReq"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField4(oprot); err != nil { + fieldId = 4 + goto WriteFieldError + } + if err = p.writeField5(oprot); err != nil { + fieldId = 5 + goto WriteFieldError + } + if err = p.writeField6(oprot); err != nil { + fieldId = 6 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *ObjReq) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("msg", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Msg.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *ObjReq) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("msgMap", thrift.MAP, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteMapBegin(thrift.STRUCT, thrift.STRUCT, len(p.MsgMap)); err != nil { + return err + } + for k, v := range p.MsgMap { + + if err := k.Write(oprot); err != nil { + return err + } + + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteMapEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *ObjReq) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("subMsgs", thrift.LIST, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.SubMsgs)); err != nil { + return err + } + for _, v := range p.SubMsgs { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *ObjReq) writeField4(oprot thrift.TProtocol) (err error) { + if p.IsSetMsgSet() { + if err = oprot.WriteFieldBegin("msgSet", thrift.SET, 4); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteSetBegin(thrift.STRUCT, len(p.MsgSet)); err != nil { + return err + } + for i := 0; i < len(p.MsgSet); i++ { + for j := i + 1; j < len(p.MsgSet); j++ { + if func(tgt, src *Message) bool { + if !tgt.DeepEqual(src) { + return false + } + return true + }(p.MsgSet[i], p.MsgSet[j]) { + return thrift.PrependError("", fmt.Errorf("%T error writing set field: slice is not unique", p.MsgSet[i])) + } + } + } + for _, v := range p.MsgSet { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteSetEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) +} + +func (p *ObjReq) writeField5(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("flagMsg", thrift.STRING, 5); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.FlagMsg); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) +} + +func (p *ObjReq) writeField6(oprot thrift.TProtocol) (err error) { + if p.IsSetMockCost() { + if err = oprot.WriteFieldBegin("mockCost", thrift.STRING, 6); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.MockCost); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) +} + +func (p *ObjReq) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ObjReq(%+v)", *p) +} + +func (p *ObjReq) DeepEqual(ano *ObjReq) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Msg) { + return false + } + if !p.Field2DeepEqual(ano.MsgMap) { + return false + } + if !p.Field3DeepEqual(ano.SubMsgs) { + return false + } + if !p.Field4DeepEqual(ano.MsgSet) { + return false + } + if !p.Field5DeepEqual(ano.FlagMsg) { + return false + } + if !p.Field6DeepEqual(ano.MockCost) { + return false + } + return true +} + +func (p *ObjReq) Field1DeepEqual(src *Message) bool { + + if !p.Msg.DeepEqual(src) { + return false + } + return true +} +func (p *ObjReq) Field2DeepEqual(src map[*Message]*SubMessage) bool { + + if len(p.MsgMap) != len(src) { + return false + } + for k, v := range p.MsgMap { + _src := src[k] + if !v.DeepEqual(_src) { + return false + } + } + return true +} +func (p *ObjReq) Field3DeepEqual(src []*SubMessage) bool { + + if len(p.SubMsgs) != len(src) { + return false + } + for i, v := range p.SubMsgs { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } + return true +} +func (p *ObjReq) Field4DeepEqual(src []*Message) bool { + + if len(p.MsgSet) != len(src) { + return false + } + for i, v := range p.MsgSet { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } + return true +} +func (p *ObjReq) Field5DeepEqual(src string) bool { + + if strings.Compare(p.FlagMsg, src) != 0 { + return false + } + return true +} +func (p *ObjReq) Field6DeepEqual(src *string) bool { + + if p.MockCost == src { + return true + } else if p.MockCost == nil || src == nil { + return false + } + if strings.Compare(*p.MockCost, *src) != 0 { + return false + } + return true +} + +type ObjResp struct { + Msg *Message `thrift:"msg,1,required" frugal:"1,required,Message" json:"msg"` + MsgMap map[*Message]*SubMessage `thrift:"msgMap,2,required" frugal:"2,required,map" json:"msgMap"` + SubMsgs []*SubMessage `thrift:"subMsgs,3,required" frugal:"3,required,list" json:"subMsgs"` + MsgSet []*Message `thrift:"msgSet,4,optional" frugal:"4,optional,set" json:"msgSet,omitempty"` + FlagMsg string `thrift:"flagMsg,5,required" frugal:"5,required,string" json:"flagMsg"` +} + +func NewObjResp() *ObjResp { + return &ObjResp{} +} + +func (p *ObjResp) InitDefault() { + *p = ObjResp{} +} + +var ObjResp_Msg_DEFAULT *Message + +func (p *ObjResp) GetMsg() (v *Message) { + if !p.IsSetMsg() { + return ObjResp_Msg_DEFAULT + } + return p.Msg +} + +func (p *ObjResp) GetMsgMap() (v map[*Message]*SubMessage) { + return p.MsgMap +} + +func (p *ObjResp) GetSubMsgs() (v []*SubMessage) { + return p.SubMsgs +} + +var ObjResp_MsgSet_DEFAULT []*Message + +func (p *ObjResp) GetMsgSet() (v []*Message) { + if !p.IsSetMsgSet() { + return ObjResp_MsgSet_DEFAULT + } + return p.MsgSet +} + +func (p *ObjResp) GetFlagMsg() (v string) { + return p.FlagMsg +} +func (p *ObjResp) SetMsg(val *Message) { + p.Msg = val +} +func (p *ObjResp) SetMsgMap(val map[*Message]*SubMessage) { + p.MsgMap = val +} +func (p *ObjResp) SetSubMsgs(val []*SubMessage) { + p.SubMsgs = val +} +func (p *ObjResp) SetMsgSet(val []*Message) { + p.MsgSet = val +} +func (p *ObjResp) SetFlagMsg(val string) { + p.FlagMsg = val +} + +var fieldIDToName_ObjResp = map[int16]string{ + 1: "msg", + 2: "msgMap", + 3: "subMsgs", + 4: "msgSet", + 5: "flagMsg", +} + +func (p *ObjResp) IsSetMsg() bool { + return p.Msg != nil +} + +func (p *ObjResp) IsSetMsgSet() bool { + return p.MsgSet != nil +} + +func (p *ObjResp) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + var issetMsg bool = false + var issetMsgMap bool = false + var issetSubMsgs bool = false + var issetFlagMsg bool = false + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + issetMsg = true + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + issetMsgMap = true + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + issetSubMsgs = true + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.SET { + if err = p.ReadField4(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.STRING { + if err = p.ReadField5(iprot); err != nil { + goto ReadFieldError + } + issetFlagMsg = true + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + if !issetMsg { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetMsgMap { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetSubMsgs { + fieldId = 3 + goto RequiredFieldNotSetError + } + + if !issetFlagMsg { + fieldId = 5 + goto RequiredFieldNotSetError + } + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ObjResp[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ObjResp[fieldId])) +} + +func (p *ObjResp) ReadField1(iprot thrift.TProtocol) error { + p.Msg = NewMessage() + if err := p.Msg.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *ObjResp) ReadField2(iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin() + if err != nil { + return err + } + p.MsgMap = make(map[*Message]*SubMessage, size) + for i := 0; i < size; i++ { + _key := NewMessage() + if err := _key.Read(iprot); err != nil { + return err + } + _val := NewSubMessage() + if err := _val.Read(iprot); err != nil { + return err + } + + p.MsgMap[_key] = _val + } + if err := iprot.ReadMapEnd(); err != nil { + return err + } + return nil +} + +func (p *ObjResp) ReadField3(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + p.SubMsgs = make([]*SubMessage, 0, size) + for i := 0; i < size; i++ { + _elem := NewSubMessage() + if err := _elem.Read(iprot); err != nil { + return err + } + + p.SubMsgs = append(p.SubMsgs, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + return nil +} + +func (p *ObjResp) ReadField4(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadSetBegin() + if err != nil { + return err + } + p.MsgSet = make([]*Message, 0, size) + for i := 0; i < size; i++ { + _elem := NewMessage() + if err := _elem.Read(iprot); err != nil { + return err + } + + p.MsgSet = append(p.MsgSet, _elem) + } + if err := iprot.ReadSetEnd(); err != nil { + return err + } + return nil +} + +func (p *ObjResp) ReadField5(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.FlagMsg = v + } + return nil +} + +func (p *ObjResp) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("ObjResp"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField4(oprot); err != nil { + fieldId = 4 + goto WriteFieldError + } + if err = p.writeField5(oprot); err != nil { + fieldId = 5 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *ObjResp) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("msg", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Msg.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *ObjResp) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("msgMap", thrift.MAP, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteMapBegin(thrift.STRUCT, thrift.STRUCT, len(p.MsgMap)); err != nil { + return err + } + for k, v := range p.MsgMap { + + if err := k.Write(oprot); err != nil { + return err + } + + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteMapEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *ObjResp) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("subMsgs", thrift.LIST, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.SubMsgs)); err != nil { + return err + } + for _, v := range p.SubMsgs { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *ObjResp) writeField4(oprot thrift.TProtocol) (err error) { + if p.IsSetMsgSet() { + if err = oprot.WriteFieldBegin("msgSet", thrift.SET, 4); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteSetBegin(thrift.STRUCT, len(p.MsgSet)); err != nil { + return err + } + for i := 0; i < len(p.MsgSet); i++ { + for j := i + 1; j < len(p.MsgSet); j++ { + if func(tgt, src *Message) bool { + if !tgt.DeepEqual(src) { + return false + } + return true + }(p.MsgSet[i], p.MsgSet[j]) { + return thrift.PrependError("", fmt.Errorf("%T error writing set field: slice is not unique", p.MsgSet[i])) + } + } + } + for _, v := range p.MsgSet { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteSetEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) +} + +func (p *ObjResp) writeField5(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("flagMsg", thrift.STRING, 5); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.FlagMsg); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) +} + +func (p *ObjResp) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ObjResp(%+v)", *p) +} + +func (p *ObjResp) DeepEqual(ano *ObjResp) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Msg) { + return false + } + if !p.Field2DeepEqual(ano.MsgMap) { + return false + } + if !p.Field3DeepEqual(ano.SubMsgs) { + return false + } + if !p.Field4DeepEqual(ano.MsgSet) { + return false + } + if !p.Field5DeepEqual(ano.FlagMsg) { + return false + } + return true +} + +func (p *ObjResp) Field1DeepEqual(src *Message) bool { + + if !p.Msg.DeepEqual(src) { + return false + } + return true +} +func (p *ObjResp) Field2DeepEqual(src map[*Message]*SubMessage) bool { + + if len(p.MsgMap) != len(src) { + return false + } + for k, v := range p.MsgMap { + _src := src[k] + if !v.DeepEqual(_src) { + return false + } + } + return true +} +func (p *ObjResp) Field3DeepEqual(src []*SubMessage) bool { + + if len(p.SubMsgs) != len(src) { + return false + } + for i, v := range p.SubMsgs { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } + return true +} +func (p *ObjResp) Field4DeepEqual(src []*Message) bool { + + if len(p.MsgSet) != len(src) { + return false + } + for i, v := range p.MsgSet { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } + return true +} +func (p *ObjResp) Field5DeepEqual(src string) bool { + + if strings.Compare(p.FlagMsg, src) != 0 { + return false + } + return true +} diff --git a/kitex_gen/thrift/instparam/k-consts.go b/kitex_gen/thrift/instparam/k-consts.go new file mode 100644 index 0000000..bcd8110 --- /dev/null +++ b/kitex_gen/thrift/instparam/k-consts.go @@ -0,0 +1,4 @@ +package instparam + +// KitexUnusedProtection is used to prevent 'imported and not used' error. +var KitexUnusedProtection = struct{}{} diff --git a/kitex_gen/thrift/instparam/k-instparam.go b/kitex_gen/thrift/instparam/k-instparam.go new file mode 100644 index 0000000..e3fa00f --- /dev/null +++ b/kitex_gen/thrift/instparam/k-instparam.go @@ -0,0 +1,1652 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package instparam + +import ( + "bytes" + "fmt" + "reflect" + "strings" + + "github.com/apache/thrift/lib/go/thrift" + "github.com/cloudwego/kitex/pkg/protocol/bthrift" + kutils "github.com/cloudwego/kitex/pkg/utils" +) + +// unused protection +var ( + _ = fmt.Formatter(nil) + _ = (*bytes.Buffer)(nil) + _ = (*strings.Builder)(nil) + _ = reflect.Type(nil) + _ = thrift.TProtocol(nil) + _ = bthrift.BinaryWriter(nil) +) + +func (p *SubMessage) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SubMessage[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *SubMessage) FastReadField1(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.Id = &v + + } + return offset, nil +} + +func (p *SubMessage) FastReadField2(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.Value = &v + + } + return offset, nil +} + +// for compatibility +func (p *SubMessage) FastWrite(buf []byte) int { + return 0 +} + +func (p *SubMessage) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "SubMessage") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + offset += p.fastWriteField2(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *SubMessage) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("SubMessage") + if p != nil { + l += p.field1Length() + l += p.field2Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *SubMessage) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetId() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "id", thrift.I64, 1) + offset += bthrift.Binary.WriteI64(buf[offset:], *p.Id) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *SubMessage) fastWriteField2(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetValue() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "value", thrift.STRING, 2) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, *p.Value) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *SubMessage) field1Length() int { + l := 0 + if p.IsSetId() { + l += bthrift.Binary.FieldBeginLength("id", thrift.I64, 1) + l += bthrift.Binary.I64Length(*p.Id) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *SubMessage) field2Length() int { + l := 0 + if p.IsSetValue() { + l += bthrift.Binary.FieldBeginLength("value", thrift.STRING, 2) + l += bthrift.Binary.StringLengthNocopy(*p.Value) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *Message) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.LIST { + l, err = p.FastReadField3(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_Message[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *Message) FastReadField1(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.Id = &v + + } + return offset, nil +} + +func (p *Message) FastReadField2(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.Value = &v + + } + return offset, nil +} + +func (p *Message) FastReadField3(buf []byte) (int, error) { + offset := 0 + + _, size, l, err := bthrift.Binary.ReadListBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.SubMessages = make([]*SubMessage, 0, size) + for i := 0; i < size; i++ { + _elem := NewSubMessage() + if l, err := _elem.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + + p.SubMessages = append(p.SubMessages, _elem) + } + if l, err := bthrift.Binary.ReadListEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +// for compatibility +func (p *Message) FastWrite(buf []byte) int { + return 0 +} + +func (p *Message) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "Message") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + offset += p.fastWriteField2(buf[offset:], binaryWriter) + offset += p.fastWriteField3(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *Message) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("Message") + if p != nil { + l += p.field1Length() + l += p.field2Length() + l += p.field3Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *Message) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetId() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "id", thrift.I64, 1) + offset += bthrift.Binary.WriteI64(buf[offset:], *p.Id) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *Message) fastWriteField2(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetValue() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "value", thrift.STRING, 2) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, *p.Value) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *Message) fastWriteField3(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetSubMessages() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "subMessages", thrift.LIST, 3) + listBeginOffset := offset + offset += bthrift.Binary.ListBeginLength(thrift.STRUCT, 0) + var length int + for _, v := range p.SubMessages { + length++ + offset += v.FastWriteNocopy(buf[offset:], binaryWriter) + } + bthrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRUCT, length) + offset += bthrift.Binary.WriteListEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *Message) field1Length() int { + l := 0 + if p.IsSetId() { + l += bthrift.Binary.FieldBeginLength("id", thrift.I64, 1) + l += bthrift.Binary.I64Length(*p.Id) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *Message) field2Length() int { + l := 0 + if p.IsSetValue() { + l += bthrift.Binary.FieldBeginLength("value", thrift.STRING, 2) + l += bthrift.Binary.StringLengthNocopy(*p.Value) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *Message) field3Length() int { + l := 0 + if p.IsSetSubMessages() { + l += bthrift.Binary.FieldBeginLength("subMessages", thrift.LIST, 3) + l += bthrift.Binary.ListBeginLength(thrift.STRUCT, len(p.SubMessages)) + for _, v := range p.SubMessages { + l += v.BLength() + } + l += bthrift.Binary.ListEndLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *ObjReq) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + var issetMsg bool = false + var issetMsgMap bool = false + var issetSubMsgs bool = false + var issetFlagMsg bool = false + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetMsg = true + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.MAP { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetMsgMap = true + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.LIST { + l, err = p.FastReadField3(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetSubMsgs = true + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.SET { + l, err = p.FastReadField4(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField5(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetFlagMsg = true + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 6: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField6(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + if !issetMsg { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetMsgMap { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetSubMsgs { + fieldId = 3 + goto RequiredFieldNotSetError + } + + if !issetFlagMsg { + fieldId = 5 + goto RequiredFieldNotSetError + } + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ObjReq[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return offset, thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ObjReq[fieldId])) +} + +func (p *ObjReq) FastReadField1(buf []byte) (int, error) { + offset := 0 + + tmp := NewMessage() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Msg = tmp + return offset, nil +} + +func (p *ObjReq) FastReadField2(buf []byte) (int, error) { + offset := 0 + + _, _, size, l, err := bthrift.Binary.ReadMapBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.MsgMap = make(map[*Message]*SubMessage, size) + for i := 0; i < size; i++ { + _key := NewMessage() + if l, err := _key.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + + _val := NewSubMessage() + if l, err := _val.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + + p.MsgMap[_key] = _val + } + if l, err := bthrift.Binary.ReadMapEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *ObjReq) FastReadField3(buf []byte) (int, error) { + offset := 0 + + _, size, l, err := bthrift.Binary.ReadListBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.SubMsgs = make([]*SubMessage, 0, size) + for i := 0; i < size; i++ { + _elem := NewSubMessage() + if l, err := _elem.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + + p.SubMsgs = append(p.SubMsgs, _elem) + } + if l, err := bthrift.Binary.ReadListEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *ObjReq) FastReadField4(buf []byte) (int, error) { + offset := 0 + + _, size, l, err := bthrift.Binary.ReadSetBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.MsgSet = make([]*Message, 0, size) + for i := 0; i < size; i++ { + _elem := NewMessage() + if l, err := _elem.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + + p.MsgSet = append(p.MsgSet, _elem) + } + if l, err := bthrift.Binary.ReadSetEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *ObjReq) FastReadField5(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.FlagMsg = v + + } + return offset, nil +} + +func (p *ObjReq) FastReadField6(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.MockCost = &v + + } + return offset, nil +} + +// for compatibility +func (p *ObjReq) FastWrite(buf []byte) int { + return 0 +} + +func (p *ObjReq) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "ObjReq") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + offset += p.fastWriteField2(buf[offset:], binaryWriter) + offset += p.fastWriteField3(buf[offset:], binaryWriter) + offset += p.fastWriteField4(buf[offset:], binaryWriter) + offset += p.fastWriteField5(buf[offset:], binaryWriter) + offset += p.fastWriteField6(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *ObjReq) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("ObjReq") + if p != nil { + l += p.field1Length() + l += p.field2Length() + l += p.field3Length() + l += p.field4Length() + l += p.field5Length() + l += p.field6Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *ObjReq) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "msg", thrift.STRUCT, 1) + offset += p.Msg.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *ObjReq) fastWriteField2(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "msgMap", thrift.MAP, 2) + mapBeginOffset := offset + offset += bthrift.Binary.MapBeginLength(thrift.STRUCT, thrift.STRUCT, 0) + var length int + for k, v := range p.MsgMap { + length++ + + offset += k.FastWriteNocopy(buf[offset:], binaryWriter) + + offset += v.FastWriteNocopy(buf[offset:], binaryWriter) + } + bthrift.Binary.WriteMapBegin(buf[mapBeginOffset:], thrift.STRUCT, thrift.STRUCT, length) + offset += bthrift.Binary.WriteMapEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *ObjReq) fastWriteField3(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "subMsgs", thrift.LIST, 3) + listBeginOffset := offset + offset += bthrift.Binary.ListBeginLength(thrift.STRUCT, 0) + var length int + for _, v := range p.SubMsgs { + length++ + offset += v.FastWriteNocopy(buf[offset:], binaryWriter) + } + bthrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRUCT, length) + offset += bthrift.Binary.WriteListEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *ObjReq) fastWriteField4(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetMsgSet() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "msgSet", thrift.SET, 4) + setBeginOffset := offset + offset += bthrift.Binary.SetBeginLength(thrift.STRUCT, 0) + + for i := 0; i < len(p.MsgSet); i++ { + for j := i + 1; j < len(p.MsgSet); j++ { + if func(tgt, src *Message) bool { + if !tgt.DeepEqual(src) { + return false + } + return true + }(p.MsgSet[i], p.MsgSet[j]) { + panic(fmt.Errorf("%T error writing set field: slice is not unique", p.MsgSet[i])) + } + } + } + var length int + for _, v := range p.MsgSet { + length++ + offset += v.FastWriteNocopy(buf[offset:], binaryWriter) + } + bthrift.Binary.WriteSetBegin(buf[setBeginOffset:], thrift.STRUCT, length) + offset += bthrift.Binary.WriteSetEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *ObjReq) fastWriteField5(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "flagMsg", thrift.STRING, 5) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, p.FlagMsg) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *ObjReq) fastWriteField6(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetMockCost() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "mockCost", thrift.STRING, 6) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, *p.MockCost) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *ObjReq) field1Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("msg", thrift.STRUCT, 1) + l += p.Msg.BLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *ObjReq) field2Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("msgMap", thrift.MAP, 2) + l += bthrift.Binary.MapBeginLength(thrift.STRUCT, thrift.STRUCT, len(p.MsgMap)) + for k, v := range p.MsgMap { + + l += k.BLength() + + l += v.BLength() + } + l += bthrift.Binary.MapEndLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *ObjReq) field3Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("subMsgs", thrift.LIST, 3) + l += bthrift.Binary.ListBeginLength(thrift.STRUCT, len(p.SubMsgs)) + for _, v := range p.SubMsgs { + l += v.BLength() + } + l += bthrift.Binary.ListEndLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *ObjReq) field4Length() int { + l := 0 + if p.IsSetMsgSet() { + l += bthrift.Binary.FieldBeginLength("msgSet", thrift.SET, 4) + l += bthrift.Binary.SetBeginLength(thrift.STRUCT, len(p.MsgSet)) + + for i := 0; i < len(p.MsgSet); i++ { + for j := i + 1; j < len(p.MsgSet); j++ { + if func(tgt, src *Message) bool { + if !tgt.DeepEqual(src) { + return false + } + return true + }(p.MsgSet[i], p.MsgSet[j]) { + panic(fmt.Errorf("%T error writing set field: slice is not unique", p.MsgSet[i])) + } + } + } + for _, v := range p.MsgSet { + l += v.BLength() + } + l += bthrift.Binary.SetEndLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *ObjReq) field5Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("flagMsg", thrift.STRING, 5) + l += bthrift.Binary.StringLengthNocopy(p.FlagMsg) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *ObjReq) field6Length() int { + l := 0 + if p.IsSetMockCost() { + l += bthrift.Binary.FieldBeginLength("mockCost", thrift.STRING, 6) + l += bthrift.Binary.StringLengthNocopy(*p.MockCost) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *ObjResp) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + var issetMsg bool = false + var issetMsgMap bool = false + var issetSubMsgs bool = false + var issetFlagMsg bool = false + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetMsg = true + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.MAP { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetMsgMap = true + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.LIST { + l, err = p.FastReadField3(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetSubMsgs = true + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.SET { + l, err = p.FastReadField4(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField5(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetFlagMsg = true + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + if !issetMsg { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetMsgMap { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetSubMsgs { + fieldId = 3 + goto RequiredFieldNotSetError + } + + if !issetFlagMsg { + fieldId = 5 + goto RequiredFieldNotSetError + } + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ObjResp[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return offset, thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ObjResp[fieldId])) +} + +func (p *ObjResp) FastReadField1(buf []byte) (int, error) { + offset := 0 + + tmp := NewMessage() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Msg = tmp + return offset, nil +} + +func (p *ObjResp) FastReadField2(buf []byte) (int, error) { + offset := 0 + + _, _, size, l, err := bthrift.Binary.ReadMapBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.MsgMap = make(map[*Message]*SubMessage, size) + for i := 0; i < size; i++ { + _key := NewMessage() + if l, err := _key.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + + _val := NewSubMessage() + if l, err := _val.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + + p.MsgMap[_key] = _val + } + if l, err := bthrift.Binary.ReadMapEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *ObjResp) FastReadField3(buf []byte) (int, error) { + offset := 0 + + _, size, l, err := bthrift.Binary.ReadListBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.SubMsgs = make([]*SubMessage, 0, size) + for i := 0; i < size; i++ { + _elem := NewSubMessage() + if l, err := _elem.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + + p.SubMsgs = append(p.SubMsgs, _elem) + } + if l, err := bthrift.Binary.ReadListEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *ObjResp) FastReadField4(buf []byte) (int, error) { + offset := 0 + + _, size, l, err := bthrift.Binary.ReadSetBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.MsgSet = make([]*Message, 0, size) + for i := 0; i < size; i++ { + _elem := NewMessage() + if l, err := _elem.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + + p.MsgSet = append(p.MsgSet, _elem) + } + if l, err := bthrift.Binary.ReadSetEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *ObjResp) FastReadField5(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.FlagMsg = v + + } + return offset, nil +} + +// for compatibility +func (p *ObjResp) FastWrite(buf []byte) int { + return 0 +} + +func (p *ObjResp) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "ObjResp") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + offset += p.fastWriteField2(buf[offset:], binaryWriter) + offset += p.fastWriteField3(buf[offset:], binaryWriter) + offset += p.fastWriteField4(buf[offset:], binaryWriter) + offset += p.fastWriteField5(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *ObjResp) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("ObjResp") + if p != nil { + l += p.field1Length() + l += p.field2Length() + l += p.field3Length() + l += p.field4Length() + l += p.field5Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *ObjResp) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "msg", thrift.STRUCT, 1) + offset += p.Msg.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *ObjResp) fastWriteField2(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "msgMap", thrift.MAP, 2) + mapBeginOffset := offset + offset += bthrift.Binary.MapBeginLength(thrift.STRUCT, thrift.STRUCT, 0) + var length int + for k, v := range p.MsgMap { + length++ + + offset += k.FastWriteNocopy(buf[offset:], binaryWriter) + + offset += v.FastWriteNocopy(buf[offset:], binaryWriter) + } + bthrift.Binary.WriteMapBegin(buf[mapBeginOffset:], thrift.STRUCT, thrift.STRUCT, length) + offset += bthrift.Binary.WriteMapEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *ObjResp) fastWriteField3(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "subMsgs", thrift.LIST, 3) + listBeginOffset := offset + offset += bthrift.Binary.ListBeginLength(thrift.STRUCT, 0) + var length int + for _, v := range p.SubMsgs { + length++ + offset += v.FastWriteNocopy(buf[offset:], binaryWriter) + } + bthrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRUCT, length) + offset += bthrift.Binary.WriteListEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *ObjResp) fastWriteField4(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetMsgSet() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "msgSet", thrift.SET, 4) + setBeginOffset := offset + offset += bthrift.Binary.SetBeginLength(thrift.STRUCT, 0) + + for i := 0; i < len(p.MsgSet); i++ { + for j := i + 1; j < len(p.MsgSet); j++ { + if func(tgt, src *Message) bool { + if !tgt.DeepEqual(src) { + return false + } + return true + }(p.MsgSet[i], p.MsgSet[j]) { + panic(fmt.Errorf("%T error writing set field: slice is not unique", p.MsgSet[i])) + } + } + } + var length int + for _, v := range p.MsgSet { + length++ + offset += v.FastWriteNocopy(buf[offset:], binaryWriter) + } + bthrift.Binary.WriteSetBegin(buf[setBeginOffset:], thrift.STRUCT, length) + offset += bthrift.Binary.WriteSetEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *ObjResp) fastWriteField5(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "flagMsg", thrift.STRING, 5) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, p.FlagMsg) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *ObjResp) field1Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("msg", thrift.STRUCT, 1) + l += p.Msg.BLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *ObjResp) field2Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("msgMap", thrift.MAP, 2) + l += bthrift.Binary.MapBeginLength(thrift.STRUCT, thrift.STRUCT, len(p.MsgMap)) + for k, v := range p.MsgMap { + + l += k.BLength() + + l += v.BLength() + } + l += bthrift.Binary.MapEndLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *ObjResp) field3Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("subMsgs", thrift.LIST, 3) + l += bthrift.Binary.ListBeginLength(thrift.STRUCT, len(p.SubMsgs)) + for _, v := range p.SubMsgs { + l += v.BLength() + } + l += bthrift.Binary.ListEndLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *ObjResp) field4Length() int { + l := 0 + if p.IsSetMsgSet() { + l += bthrift.Binary.FieldBeginLength("msgSet", thrift.SET, 4) + l += bthrift.Binary.SetBeginLength(thrift.STRUCT, len(p.MsgSet)) + + for i := 0; i < len(p.MsgSet); i++ { + for j := i + 1; j < len(p.MsgSet); j++ { + if func(tgt, src *Message) bool { + if !tgt.DeepEqual(src) { + return false + } + return true + }(p.MsgSet[i], p.MsgSet[j]) { + panic(fmt.Errorf("%T error writing set field: slice is not unique", p.MsgSet[i])) + } + } + } + for _, v := range p.MsgSet { + l += v.BLength() + } + l += bthrift.Binary.SetEndLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *ObjResp) field5Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("flagMsg", thrift.STRING, 5) + l += bthrift.Binary.StringLengthNocopy(p.FlagMsg) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *SubMessage) DeepCopy(s interface{}) error { + src, ok := s.(*SubMessage) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + if src.Id != nil { + tmp := *src.Id + p.Id = &tmp + } + + if src.Value != nil { + if *src.Value != "" { + tmp := kutils.StringDeepCopy(*src.Value) + p.Value = &tmp + } + } + + return nil +} + +func (p *Message) DeepCopy(s interface{}) error { + src, ok := s.(*Message) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + if src.Id != nil { + tmp := *src.Id + p.Id = &tmp + } + + if src.Value != nil { + if *src.Value != "" { + tmp := kutils.StringDeepCopy(*src.Value) + p.Value = &tmp + } + } + + if src.SubMessages != nil { + p.SubMessages = make([]*SubMessage, 0, len(src.SubMessages)) + for _, elem := range src.SubMessages { + var _elem *SubMessage + if elem != nil { + _elem = &SubMessage{} + if err := _elem.DeepCopy(elem); err != nil { + return err + } + } + + p.SubMessages = append(p.SubMessages, _elem) + } + } + + return nil +} + +func (p *ObjReq) DeepCopy(s interface{}) error { + src, ok := s.(*ObjReq) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + var _msg *Message + if src.Msg != nil { + _msg = &Message{} + if err := _msg.DeepCopy(src.Msg); err != nil { + return err + } + } + p.Msg = _msg + + if src.MsgMap != nil { + p.MsgMap = make(map[*Message]*SubMessage, len(src.MsgMap)) + for key, val := range src.MsgMap { + var _key *Message + if key != nil { + _key = &Message{} + if err := _key.DeepCopy(key); err != nil { + return err + } + } + + var _val *SubMessage + if val != nil { + _val = &SubMessage{} + if err := _val.DeepCopy(val); err != nil { + return err + } + } + + p.MsgMap[_key] = _val + } + } + + if src.SubMsgs != nil { + p.SubMsgs = make([]*SubMessage, 0, len(src.SubMsgs)) + for _, elem := range src.SubMsgs { + var _elem *SubMessage + if elem != nil { + _elem = &SubMessage{} + if err := _elem.DeepCopy(elem); err != nil { + return err + } + } + + p.SubMsgs = append(p.SubMsgs, _elem) + } + } + + if src.MsgSet != nil { + p.MsgSet = make([]*Message, 0, len(src.MsgSet)) + for _, elem := range src.MsgSet { + var _elem *Message + if elem != nil { + _elem = &Message{} + if err := _elem.DeepCopy(elem); err != nil { + return err + } + } + + p.MsgSet = append(p.MsgSet, _elem) + } + } + + if src.FlagMsg != "" { + p.FlagMsg = kutils.StringDeepCopy(src.FlagMsg) + } + + if src.MockCost != nil { + if *src.MockCost != "" { + tmp := kutils.StringDeepCopy(*src.MockCost) + p.MockCost = &tmp + } + } + + return nil +} + +func (p *ObjResp) DeepCopy(s interface{}) error { + src, ok := s.(*ObjResp) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + var _msg *Message + if src.Msg != nil { + _msg = &Message{} + if err := _msg.DeepCopy(src.Msg); err != nil { + return err + } + } + p.Msg = _msg + + if src.MsgMap != nil { + p.MsgMap = make(map[*Message]*SubMessage, len(src.MsgMap)) + for key, val := range src.MsgMap { + var _key *Message + if key != nil { + _key = &Message{} + if err := _key.DeepCopy(key); err != nil { + return err + } + } + + var _val *SubMessage + if val != nil { + _val = &SubMessage{} + if err := _val.DeepCopy(val); err != nil { + return err + } + } + + p.MsgMap[_key] = _val + } + } + + if src.SubMsgs != nil { + p.SubMsgs = make([]*SubMessage, 0, len(src.SubMsgs)) + for _, elem := range src.SubMsgs { + var _elem *SubMessage + if elem != nil { + _elem = &SubMessage{} + if err := _elem.DeepCopy(elem); err != nil { + return err + } + } + + p.SubMsgs = append(p.SubMsgs, _elem) + } + } + + if src.MsgSet != nil { + p.MsgSet = make([]*Message, 0, len(src.MsgSet)) + for _, elem := range src.MsgSet { + var _elem *Message + if elem != nil { + _elem = &Message{} + if err := _elem.DeepCopy(elem); err != nil { + return err + } + } + + p.MsgSet = append(p.MsgSet, _elem) + } + } + + if src.FlagMsg != "" { + p.FlagMsg = kutils.StringDeepCopy(src.FlagMsg) + } + + return nil +} diff --git a/kitex_gen/thrift/stability/k-consts.go b/kitex_gen/thrift/stability/k-consts.go new file mode 100644 index 0000000..bb6e5d8 --- /dev/null +++ b/kitex_gen/thrift/stability/k-consts.go @@ -0,0 +1,4 @@ +package stability + +// KitexUnusedProtection is used to prevent 'imported and not used' error. +var KitexUnusedProtection = struct{}{} diff --git a/kitex_gen/thrift/stability/k-stability.go b/kitex_gen/thrift/stability/k-stability.go new file mode 100644 index 0000000..e92c408 --- /dev/null +++ b/kitex_gen/thrift/stability/k-stability.go @@ -0,0 +1,2934 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package stability + +import ( + "bytes" + "fmt" + "reflect" + "strings" + + "github.com/apache/thrift/lib/go/thrift" + "github.com/cloudwego/kitex/pkg/protocol/bthrift" + kutils "github.com/cloudwego/kitex/pkg/utils" + + "github.com/cloudwego/kitex-tests/kitex_gen/thrift/instparam" +) + +// unused protection +var ( + _ = fmt.Formatter(nil) + _ = (*bytes.Buffer)(nil) + _ = (*strings.Builder)(nil) + _ = reflect.Type(nil) + _ = thrift.TProtocol(nil) + _ = bthrift.BinaryWriter(nil) + _ = instparam.KitexUnusedProtection +) + +func (p *STRequest) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + var issetName bool = false + var issetFlagMsg bool = false + var issetFramework bool = false + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetName = true + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.BOOL { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.BYTE { + l, err = p.FastReadField3(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.I16 { + l, err = p.FastReadField4(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.I32 { + l, err = p.FastReadField5(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 6: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField6(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 7: + if fieldTypeId == thrift.DOUBLE { + l, err = p.FastReadField7(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 8: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField8(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 9: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField9(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 10: + if fieldTypeId == thrift.MAP { + l, err = p.FastReadField10(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 11: + if fieldTypeId == thrift.LIST { + l, err = p.FastReadField11(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 12: + if fieldTypeId == thrift.SET { + l, err = p.FastReadField12(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 13: + if fieldTypeId == thrift.I32 { + l, err = p.FastReadField13(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 14: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField14(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetFlagMsg = true + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 15: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField15(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetFramework = true + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 16: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField16(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 17: + if fieldTypeId == thrift.MAP { + l, err = p.FastReadField17(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + if !issetName { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetFlagMsg { + fieldId = 14 + goto RequiredFieldNotSetError + } + + if !issetFramework { + fieldId = 15 + goto RequiredFieldNotSetError + } + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STRequest[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return offset, thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_STRequest[fieldId])) +} + +func (p *STRequest) FastReadField1(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.Name = v + + } + return offset, nil +} + +func (p *STRequest) FastReadField2(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadBool(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.On = &v + + } + return offset, nil +} + +func (p *STRequest) FastReadField3(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadByte(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.B = v + + } + return offset, nil +} + +func (p *STRequest) FastReadField4(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI16(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.Int16 = v + + } + return offset, nil +} + +func (p *STRequest) FastReadField5(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI32(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.Int32 = v + + } + return offset, nil +} + +func (p *STRequest) FastReadField6(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.Int64 = v + + } + return offset, nil +} + +func (p *STRequest) FastReadField7(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadDouble(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.D = v + + } + return offset, nil +} + +func (p *STRequest) FastReadField8(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.Str = v + + } + return offset, nil +} + +func (p *STRequest) FastReadField9(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadBinary(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.Bin = []byte(v) + + } + return offset, nil +} + +func (p *STRequest) FastReadField10(buf []byte) (int, error) { + offset := 0 + + _, _, size, l, err := bthrift.Binary.ReadMapBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.StringMap = make(map[string]string, size) + for i := 0; i < size; i++ { + var _key string + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _key = v + + } + + var _val string + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _val = v + + } + + p.StringMap[_key] = _val + } + if l, err := bthrift.Binary.ReadMapEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *STRequest) FastReadField11(buf []byte) (int, error) { + offset := 0 + + _, size, l, err := bthrift.Binary.ReadListBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.StringList = make([]string, 0, size) + for i := 0; i < size; i++ { + var _elem string + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _elem = v + + } + + p.StringList = append(p.StringList, _elem) + } + if l, err := bthrift.Binary.ReadListEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *STRequest) FastReadField12(buf []byte) (int, error) { + offset := 0 + + _, size, l, err := bthrift.Binary.ReadSetBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.StringSet = make([]string, 0, size) + for i := 0; i < size; i++ { + var _elem string + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _elem = v + + } + + p.StringSet = append(p.StringSet, _elem) + } + if l, err := bthrift.Binary.ReadSetEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *STRequest) FastReadField13(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI32(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.E = TestEnum(v) + + } + return offset, nil +} + +func (p *STRequest) FastReadField14(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.FlagMsg = v + + } + return offset, nil +} + +func (p *STRequest) FastReadField15(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.Framework = v + + } + return offset, nil +} + +func (p *STRequest) FastReadField16(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + p.MockCost = &v + + } + return offset, nil +} + +func (p *STRequest) FastReadField17(buf []byte) (int, error) { + offset := 0 + + _, _, size, l, err := bthrift.Binary.ReadMapBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.SubMsgs = make(map[int32]*instparam.SubMessage, size) + for i := 0; i < size; i++ { + var _key int32 + if v, l, err := bthrift.Binary.ReadI32(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _key = v + + } + _val := instparam.NewSubMessage() + if l, err := _val.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + + p.SubMsgs[_key] = _val + } + if l, err := bthrift.Binary.ReadMapEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +// for compatibility +func (p *STRequest) FastWrite(buf []byte) int { + return 0 +} + +func (p *STRequest) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "STRequest") + if p != nil { + offset += p.fastWriteField2(buf[offset:], binaryWriter) + offset += p.fastWriteField3(buf[offset:], binaryWriter) + offset += p.fastWriteField4(buf[offset:], binaryWriter) + offset += p.fastWriteField5(buf[offset:], binaryWriter) + offset += p.fastWriteField6(buf[offset:], binaryWriter) + offset += p.fastWriteField7(buf[offset:], binaryWriter) + offset += p.fastWriteField1(buf[offset:], binaryWriter) + offset += p.fastWriteField8(buf[offset:], binaryWriter) + offset += p.fastWriteField9(buf[offset:], binaryWriter) + offset += p.fastWriteField10(buf[offset:], binaryWriter) + offset += p.fastWriteField11(buf[offset:], binaryWriter) + offset += p.fastWriteField12(buf[offset:], binaryWriter) + offset += p.fastWriteField13(buf[offset:], binaryWriter) + offset += p.fastWriteField14(buf[offset:], binaryWriter) + offset += p.fastWriteField15(buf[offset:], binaryWriter) + offset += p.fastWriteField16(buf[offset:], binaryWriter) + offset += p.fastWriteField17(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *STRequest) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("STRequest") + if p != nil { + l += p.field1Length() + l += p.field2Length() + l += p.field3Length() + l += p.field4Length() + l += p.field5Length() + l += p.field6Length() + l += p.field7Length() + l += p.field8Length() + l += p.field9Length() + l += p.field10Length() + l += p.field11Length() + l += p.field12Length() + l += p.field13Length() + l += p.field14Length() + l += p.field15Length() + l += p.field16Length() + l += p.field17Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *STRequest) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "Name", thrift.STRING, 1) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, p.Name) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STRequest) fastWriteField2(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetOn() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "on", thrift.BOOL, 2) + offset += bthrift.Binary.WriteBool(buf[offset:], *p.On) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *STRequest) fastWriteField3(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "b", thrift.BYTE, 3) + offset += bthrift.Binary.WriteByte(buf[offset:], p.B) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STRequest) fastWriteField4(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetInt16() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "int16", thrift.I16, 4) + offset += bthrift.Binary.WriteI16(buf[offset:], p.Int16) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *STRequest) fastWriteField5(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "int32", thrift.I32, 5) + offset += bthrift.Binary.WriteI32(buf[offset:], p.Int32) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STRequest) fastWriteField6(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "int64", thrift.I64, 6) + offset += bthrift.Binary.WriteI64(buf[offset:], p.Int64) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STRequest) fastWriteField7(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "d", thrift.DOUBLE, 7) + offset += bthrift.Binary.WriteDouble(buf[offset:], p.D) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STRequest) fastWriteField8(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "str", thrift.STRING, 8) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, p.Str) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STRequest) fastWriteField9(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "bin", thrift.STRING, 9) + offset += bthrift.Binary.WriteBinaryNocopy(buf[offset:], binaryWriter, []byte(p.Bin)) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STRequest) fastWriteField10(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "stringMap", thrift.MAP, 10) + mapBeginOffset := offset + offset += bthrift.Binary.MapBeginLength(thrift.STRING, thrift.STRING, 0) + var length int + for k, v := range p.StringMap { + length++ + + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, k) + + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, v) + + } + bthrift.Binary.WriteMapBegin(buf[mapBeginOffset:], thrift.STRING, thrift.STRING, length) + offset += bthrift.Binary.WriteMapEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STRequest) fastWriteField11(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "stringList", thrift.LIST, 11) + listBeginOffset := offset + offset += bthrift.Binary.ListBeginLength(thrift.STRING, 0) + var length int + for _, v := range p.StringList { + length++ + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, v) + + } + bthrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRING, length) + offset += bthrift.Binary.WriteListEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STRequest) fastWriteField12(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "stringSet", thrift.SET, 12) + setBeginOffset := offset + offset += bthrift.Binary.SetBeginLength(thrift.STRING, 0) + + for i := 0; i < len(p.StringSet); i++ { + for j := i + 1; j < len(p.StringSet); j++ { + if func(tgt, src string) bool { + if strings.Compare(tgt, src) != 0 { + return false + } + return true + }(p.StringSet[i], p.StringSet[j]) { + panic(fmt.Errorf("%T error writing set field: slice is not unique", p.StringSet[i])) + } + } + } + var length int + for _, v := range p.StringSet { + length++ + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, v) + + } + bthrift.Binary.WriteSetBegin(buf[setBeginOffset:], thrift.STRING, length) + offset += bthrift.Binary.WriteSetEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STRequest) fastWriteField13(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "e", thrift.I32, 13) + offset += bthrift.Binary.WriteI32(buf[offset:], int32(p.E)) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STRequest) fastWriteField14(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "flagMsg", thrift.STRING, 14) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, p.FlagMsg) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STRequest) fastWriteField15(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "framework", thrift.STRING, 15) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, p.Framework) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STRequest) fastWriteField16(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetMockCost() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "mockCost", thrift.STRING, 16) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, *p.MockCost) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *STRequest) fastWriteField17(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "subMsgs", thrift.MAP, 17) + mapBeginOffset := offset + offset += bthrift.Binary.MapBeginLength(thrift.I32, thrift.STRUCT, 0) + var length int + for k, v := range p.SubMsgs { + length++ + + offset += bthrift.Binary.WriteI32(buf[offset:], k) + + offset += v.FastWriteNocopy(buf[offset:], binaryWriter) + } + bthrift.Binary.WriteMapBegin(buf[mapBeginOffset:], thrift.I32, thrift.STRUCT, length) + offset += bthrift.Binary.WriteMapEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STRequest) field1Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("Name", thrift.STRING, 1) + l += bthrift.Binary.StringLengthNocopy(p.Name) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STRequest) field2Length() int { + l := 0 + if p.IsSetOn() { + l += bthrift.Binary.FieldBeginLength("on", thrift.BOOL, 2) + l += bthrift.Binary.BoolLength(*p.On) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *STRequest) field3Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("b", thrift.BYTE, 3) + l += bthrift.Binary.ByteLength(p.B) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STRequest) field4Length() int { + l := 0 + if p.IsSetInt16() { + l += bthrift.Binary.FieldBeginLength("int16", thrift.I16, 4) + l += bthrift.Binary.I16Length(p.Int16) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *STRequest) field5Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("int32", thrift.I32, 5) + l += bthrift.Binary.I32Length(p.Int32) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STRequest) field6Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("int64", thrift.I64, 6) + l += bthrift.Binary.I64Length(p.Int64) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STRequest) field7Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("d", thrift.DOUBLE, 7) + l += bthrift.Binary.DoubleLength(p.D) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STRequest) field8Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("str", thrift.STRING, 8) + l += bthrift.Binary.StringLengthNocopy(p.Str) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STRequest) field9Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("bin", thrift.STRING, 9) + l += bthrift.Binary.BinaryLengthNocopy([]byte(p.Bin)) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STRequest) field10Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("stringMap", thrift.MAP, 10) + l += bthrift.Binary.MapBeginLength(thrift.STRING, thrift.STRING, len(p.StringMap)) + for k, v := range p.StringMap { + + l += bthrift.Binary.StringLengthNocopy(k) + + l += bthrift.Binary.StringLengthNocopy(v) + + } + l += bthrift.Binary.MapEndLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STRequest) field11Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("stringList", thrift.LIST, 11) + l += bthrift.Binary.ListBeginLength(thrift.STRING, len(p.StringList)) + for _, v := range p.StringList { + l += bthrift.Binary.StringLengthNocopy(v) + + } + l += bthrift.Binary.ListEndLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STRequest) field12Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("stringSet", thrift.SET, 12) + l += bthrift.Binary.SetBeginLength(thrift.STRING, len(p.StringSet)) + + for i := 0; i < len(p.StringSet); i++ { + for j := i + 1; j < len(p.StringSet); j++ { + if func(tgt, src string) bool { + if strings.Compare(tgt, src) != 0 { + return false + } + return true + }(p.StringSet[i], p.StringSet[j]) { + panic(fmt.Errorf("%T error writing set field: slice is not unique", p.StringSet[i])) + } + } + } + for _, v := range p.StringSet { + l += bthrift.Binary.StringLengthNocopy(v) + + } + l += bthrift.Binary.SetEndLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STRequest) field13Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("e", thrift.I32, 13) + l += bthrift.Binary.I32Length(int32(p.E)) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STRequest) field14Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("flagMsg", thrift.STRING, 14) + l += bthrift.Binary.StringLengthNocopy(p.FlagMsg) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STRequest) field15Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("framework", thrift.STRING, 15) + l += bthrift.Binary.StringLengthNocopy(p.Framework) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STRequest) field16Length() int { + l := 0 + if p.IsSetMockCost() { + l += bthrift.Binary.FieldBeginLength("mockCost", thrift.STRING, 16) + l += bthrift.Binary.StringLengthNocopy(*p.MockCost) + + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *STRequest) field17Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("subMsgs", thrift.MAP, 17) + l += bthrift.Binary.MapBeginLength(thrift.I32, thrift.STRUCT, len(p.SubMsgs)) + for k, v := range p.SubMsgs { + + l += bthrift.Binary.I32Length(k) + + l += v.BLength() + } + l += bthrift.Binary.MapEndLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STResponse) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + var issetFlagMsg bool = false + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.MAP { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField3(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetFlagMsg = true + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + if !issetFlagMsg { + fieldId = 3 + goto RequiredFieldNotSetError + } + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STResponse[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return offset, thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_STResponse[fieldId])) +} + +func (p *STResponse) FastReadField1(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.Str = v + + } + return offset, nil +} + +func (p *STResponse) FastReadField2(buf []byte) (int, error) { + offset := 0 + + _, _, size, l, err := bthrift.Binary.ReadMapBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.Mp = make(map[string]string, size) + for i := 0; i < size; i++ { + var _key string + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _key = v + + } + + var _val string + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _val = v + + } + + p.Mp[_key] = _val + } + if l, err := bthrift.Binary.ReadMapEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *STResponse) FastReadField3(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.FlagMsg = v + + } + return offset, nil +} + +// for compatibility +func (p *STResponse) FastWrite(buf []byte) int { + return 0 +} + +func (p *STResponse) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "STResponse") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + offset += p.fastWriteField2(buf[offset:], binaryWriter) + offset += p.fastWriteField3(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *STResponse) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("STResponse") + if p != nil { + l += p.field1Length() + l += p.field2Length() + l += p.field3Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *STResponse) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "str", thrift.STRING, 1) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, p.Str) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STResponse) fastWriteField2(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "mp", thrift.MAP, 2) + mapBeginOffset := offset + offset += bthrift.Binary.MapBeginLength(thrift.STRING, thrift.STRING, 0) + var length int + for k, v := range p.Mp { + length++ + + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, k) + + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, v) + + } + bthrift.Binary.WriteMapBegin(buf[mapBeginOffset:], thrift.STRING, thrift.STRING, length) + offset += bthrift.Binary.WriteMapEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STResponse) fastWriteField3(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "flagMsg", thrift.STRING, 3) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, p.FlagMsg) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STResponse) field1Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("str", thrift.STRING, 1) + l += bthrift.Binary.StringLengthNocopy(p.Str) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STResponse) field2Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("mp", thrift.MAP, 2) + l += bthrift.Binary.MapBeginLength(thrift.STRING, thrift.STRING, len(p.Mp)) + for k, v := range p.Mp { + + l += bthrift.Binary.StringLengthNocopy(k) + + l += bthrift.Binary.StringLengthNocopy(v) + + } + l += bthrift.Binary.MapEndLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STResponse) field3Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("flagMsg", thrift.STRING, 3) + l += bthrift.Binary.StringLengthNocopy(p.FlagMsg) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STException) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STException[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *STException) FastReadField1(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.Message = v + + } + return offset, nil +} + +// for compatibility +func (p *STException) FastWrite(buf []byte) int { + return 0 +} + +func (p *STException) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "STException") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *STException) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("STException") + if p != nil { + l += p.field1Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *STException) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "message", thrift.STRING, 1) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, p.Message) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STException) field1Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("message", thrift.STRING, 1) + l += bthrift.Binary.StringLengthNocopy(p.Message) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *OnewayServiceVisitOnewayArgs) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_OnewayServiceVisitOnewayArgs[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *OnewayServiceVisitOnewayArgs) FastReadField1(buf []byte) (int, error) { + offset := 0 + + tmp := NewSTRequest() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Req = tmp + return offset, nil +} + +// for compatibility +func (p *OnewayServiceVisitOnewayArgs) FastWrite(buf []byte) int { + return 0 +} + +func (p *OnewayServiceVisitOnewayArgs) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "VisitOneway_args") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *OnewayServiceVisitOnewayArgs) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("VisitOneway_args") + if p != nil { + l += p.field1Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *OnewayServiceVisitOnewayArgs) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "req", thrift.STRUCT, 1) + offset += p.Req.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *OnewayServiceVisitOnewayArgs) field1Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("req", thrift.STRUCT, 1) + l += p.Req.BLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STServiceTestSTReqArgs) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STServiceTestSTReqArgs[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *STServiceTestSTReqArgs) FastReadField1(buf []byte) (int, error) { + offset := 0 + + tmp := NewSTRequest() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Req = tmp + return offset, nil +} + +// for compatibility +func (p *STServiceTestSTReqArgs) FastWrite(buf []byte) int { + return 0 +} + +func (p *STServiceTestSTReqArgs) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "testSTReq_args") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *STServiceTestSTReqArgs) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("testSTReq_args") + if p != nil { + l += p.field1Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *STServiceTestSTReqArgs) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "req", thrift.STRUCT, 1) + offset += p.Req.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STServiceTestSTReqArgs) field1Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("req", thrift.STRUCT, 1) + l += p.Req.BLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STServiceTestSTReqResult) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField0(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STServiceTestSTReqResult[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *STServiceTestSTReqResult) FastReadField0(buf []byte) (int, error) { + offset := 0 + + tmp := NewSTResponse() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Success = tmp + return offset, nil +} + +// for compatibility +func (p *STServiceTestSTReqResult) FastWrite(buf []byte) int { + return 0 +} + +func (p *STServiceTestSTReqResult) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "testSTReq_result") + if p != nil { + offset += p.fastWriteField0(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *STServiceTestSTReqResult) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("testSTReq_result") + if p != nil { + l += p.field0Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *STServiceTestSTReqResult) fastWriteField0(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetSuccess() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "success", thrift.STRUCT, 0) + offset += p.Success.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *STServiceTestSTReqResult) field0Length() int { + l := 0 + if p.IsSetSuccess() { + l += bthrift.Binary.FieldBeginLength("success", thrift.STRUCT, 0) + l += p.Success.BLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *STServiceTestObjReqArgs) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STServiceTestObjReqArgs[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *STServiceTestObjReqArgs) FastReadField1(buf []byte) (int, error) { + offset := 0 + + tmp := instparam.NewObjReq() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Req = tmp + return offset, nil +} + +// for compatibility +func (p *STServiceTestObjReqArgs) FastWrite(buf []byte) int { + return 0 +} + +func (p *STServiceTestObjReqArgs) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "testObjReq_args") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *STServiceTestObjReqArgs) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("testObjReq_args") + if p != nil { + l += p.field1Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *STServiceTestObjReqArgs) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "req", thrift.STRUCT, 1) + offset += p.Req.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STServiceTestObjReqArgs) field1Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("req", thrift.STRUCT, 1) + l += p.Req.BLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STServiceTestObjReqResult) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField0(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STServiceTestObjReqResult[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *STServiceTestObjReqResult) FastReadField0(buf []byte) (int, error) { + offset := 0 + + tmp := instparam.NewObjResp() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Success = tmp + return offset, nil +} + +// for compatibility +func (p *STServiceTestObjReqResult) FastWrite(buf []byte) int { + return 0 +} + +func (p *STServiceTestObjReqResult) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "testObjReq_result") + if p != nil { + offset += p.fastWriteField0(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *STServiceTestObjReqResult) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("testObjReq_result") + if p != nil { + l += p.field0Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *STServiceTestObjReqResult) fastWriteField0(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetSuccess() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "success", thrift.STRUCT, 0) + offset += p.Success.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *STServiceTestObjReqResult) field0Length() int { + l := 0 + if p.IsSetSuccess() { + l += bthrift.Binary.FieldBeginLength("success", thrift.STRUCT, 0) + l += p.Success.BLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *STServiceTestExceptionArgs) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STServiceTestExceptionArgs[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *STServiceTestExceptionArgs) FastReadField1(buf []byte) (int, error) { + offset := 0 + + tmp := NewSTRequest() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Req = tmp + return offset, nil +} + +// for compatibility +func (p *STServiceTestExceptionArgs) FastWrite(buf []byte) int { + return 0 +} + +func (p *STServiceTestExceptionArgs) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "testException_args") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *STServiceTestExceptionArgs) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("testException_args") + if p != nil { + l += p.field1Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *STServiceTestExceptionArgs) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "req", thrift.STRUCT, 1) + offset += p.Req.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STServiceTestExceptionArgs) field1Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("req", thrift.STRUCT, 1) + l += p.Req.BLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STServiceTestExceptionResult) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField0(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STServiceTestExceptionResult[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *STServiceTestExceptionResult) FastReadField0(buf []byte) (int, error) { + offset := 0 + + tmp := NewSTResponse() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Success = tmp + return offset, nil +} + +func (p *STServiceTestExceptionResult) FastReadField1(buf []byte) (int, error) { + offset := 0 + + tmp := NewSTException() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.StException = tmp + return offset, nil +} + +// for compatibility +func (p *STServiceTestExceptionResult) FastWrite(buf []byte) int { + return 0 +} + +func (p *STServiceTestExceptionResult) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "testException_result") + if p != nil { + offset += p.fastWriteField0(buf[offset:], binaryWriter) + offset += p.fastWriteField1(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *STServiceTestExceptionResult) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("testException_result") + if p != nil { + l += p.field0Length() + l += p.field1Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *STServiceTestExceptionResult) fastWriteField0(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetSuccess() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "success", thrift.STRUCT, 0) + offset += p.Success.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *STServiceTestExceptionResult) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetStException() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "stException", thrift.STRUCT, 1) + offset += p.StException.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *STServiceTestExceptionResult) field0Length() int { + l := 0 + if p.IsSetSuccess() { + l += bthrift.Binary.FieldBeginLength("success", thrift.STRUCT, 0) + l += p.Success.BLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *STServiceTestExceptionResult) field1Length() int { + l := 0 + if p.IsSetStException() { + l += bthrift.Binary.FieldBeginLength("stException", thrift.STRUCT, 1) + l += p.StException.BLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *STServiceCircuitBreakTestArgs) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STServiceCircuitBreakTestArgs[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *STServiceCircuitBreakTestArgs) FastReadField1(buf []byte) (int, error) { + offset := 0 + + tmp := NewSTRequest() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Req = tmp + return offset, nil +} + +// for compatibility +func (p *STServiceCircuitBreakTestArgs) FastWrite(buf []byte) int { + return 0 +} + +func (p *STServiceCircuitBreakTestArgs) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "circuitBreakTest_args") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *STServiceCircuitBreakTestArgs) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("circuitBreakTest_args") + if p != nil { + l += p.field1Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *STServiceCircuitBreakTestArgs) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "req", thrift.STRUCT, 1) + offset += p.Req.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *STServiceCircuitBreakTestArgs) field1Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("req", thrift.STRUCT, 1) + l += p.Req.BLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *STServiceCircuitBreakTestResult) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField0(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STServiceCircuitBreakTestResult[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *STServiceCircuitBreakTestResult) FastReadField0(buf []byte) (int, error) { + offset := 0 + + tmp := NewSTResponse() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Success = tmp + return offset, nil +} + +// for compatibility +func (p *STServiceCircuitBreakTestResult) FastWrite(buf []byte) int { + return 0 +} + +func (p *STServiceCircuitBreakTestResult) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "circuitBreakTest_result") + if p != nil { + offset += p.fastWriteField0(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *STServiceCircuitBreakTestResult) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("circuitBreakTest_result") + if p != nil { + l += p.field0Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *STServiceCircuitBreakTestResult) fastWriteField0(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetSuccess() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "success", thrift.STRUCT, 0) + offset += p.Success.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *STServiceCircuitBreakTestResult) field0Length() int { + l := 0 + if p.IsSetSuccess() { + l += bthrift.Binary.FieldBeginLength("success", thrift.STRUCT, 0) + l += p.Success.BLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *STRequest) DeepCopy(s interface{}) error { + src, ok := s.(*STRequest) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + if src.Name != "" { + p.Name = kutils.StringDeepCopy(src.Name) + } + + if src.On != nil { + tmp := *src.On + p.On = &tmp + } + + p.B = src.B + + p.Int16 = src.Int16 + + p.Int32 = src.Int32 + + p.Int64 = src.Int64 + + p.D = src.D + + if src.Str != "" { + p.Str = kutils.StringDeepCopy(src.Str) + } + + if len(src.Bin) != 0 { + tmp := make([]byte, len(src.Bin)) + copy(tmp, src.Bin) + p.Bin = tmp + } + + if src.StringMap != nil { + p.StringMap = make(map[string]string, len(src.StringMap)) + for key, val := range src.StringMap { + var _key string + if key != "" { + _key = kutils.StringDeepCopy(key) + } + + var _val string + if val != "" { + _val = kutils.StringDeepCopy(val) + } + + p.StringMap[_key] = _val + } + } + + if src.StringList != nil { + p.StringList = make([]string, 0, len(src.StringList)) + for _, elem := range src.StringList { + var _elem string + if elem != "" { + _elem = kutils.StringDeepCopy(elem) + } + + p.StringList = append(p.StringList, _elem) + } + } + + if src.StringSet != nil { + p.StringSet = make([]string, 0, len(src.StringSet)) + for _, elem := range src.StringSet { + var _elem string + if elem != "" { + _elem = kutils.StringDeepCopy(elem) + } + + p.StringSet = append(p.StringSet, _elem) + } + } + + p.E = src.E + + if src.FlagMsg != "" { + p.FlagMsg = kutils.StringDeepCopy(src.FlagMsg) + } + + if src.Framework != "" { + p.Framework = kutils.StringDeepCopy(src.Framework) + } + + if src.MockCost != nil { + if *src.MockCost != "" { + tmp := kutils.StringDeepCopy(*src.MockCost) + p.MockCost = &tmp + } + } + + if src.SubMsgs != nil { + p.SubMsgs = make(map[int32]*instparam.SubMessage, len(src.SubMsgs)) + for key, val := range src.SubMsgs { + var _key int32 + _key = key + + var _val *instparam.SubMessage + if val != nil { + _val = &instparam.SubMessage{} + if err := _val.DeepCopy(val); err != nil { + return err + } + } + + p.SubMsgs[_key] = _val + } + } + + return nil +} + +func (p *STResponse) DeepCopy(s interface{}) error { + src, ok := s.(*STResponse) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + if src.Str != "" { + p.Str = kutils.StringDeepCopy(src.Str) + } + + if src.Mp != nil { + p.Mp = make(map[string]string, len(src.Mp)) + for key, val := range src.Mp { + var _key string + if key != "" { + _key = kutils.StringDeepCopy(key) + } + + var _val string + if val != "" { + _val = kutils.StringDeepCopy(val) + } + + p.Mp[_key] = _val + } + } + + if src.FlagMsg != "" { + p.FlagMsg = kutils.StringDeepCopy(src.FlagMsg) + } + + return nil +} + +func (p *STException) DeepCopy(s interface{}) error { + src, ok := s.(*STException) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + if src.Message != "" { + p.Message = kutils.StringDeepCopy(src.Message) + } + + return nil +} + +func (p *OnewayServiceVisitOnewayArgs) GetFirstArgument() interface{} { + return p.Req +} + +func (p *STServiceTestSTReqArgs) GetFirstArgument() interface{} { + return p.Req +} + +func (p *STServiceTestSTReqResult) GetResult() interface{} { + return p.Success +} + +func (p *STServiceTestObjReqArgs) GetFirstArgument() interface{} { + return p.Req +} + +func (p *STServiceTestObjReqResult) GetResult() interface{} { + return p.Success +} + +func (p *STServiceTestExceptionArgs) GetFirstArgument() interface{} { + return p.Req +} + +func (p *STServiceTestExceptionResult) GetResult() interface{} { + return p.Success +} + +func (p *STServiceCircuitBreakTestArgs) GetFirstArgument() interface{} { + return p.Req +} + +func (p *STServiceCircuitBreakTestResult) GetResult() interface{} { + return p.Success +} diff --git a/kitex_gen/thrift/stability/onewayservice/client.go b/kitex_gen/thrift/stability/onewayservice/client.go new file mode 100644 index 0000000..80b587b --- /dev/null +++ b/kitex_gen/thrift/stability/onewayservice/client.go @@ -0,0 +1,49 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package onewayservice + +import ( + "context" + stability "github.com/cloudwego/kitex-tests/kitex_gen/thrift/stability" + client "github.com/cloudwego/kitex/client" + callopt "github.com/cloudwego/kitex/client/callopt" +) + +// Client is designed to provide IDL-compatible methods with call-option parameter for kitex framework. +type Client interface { + VisitOneway(ctx context.Context, req *stability.STRequest, callOptions ...callopt.Option) (err error) +} + +// NewClient creates a client for the service defined in IDL. +func NewClient(destService string, opts ...client.Option) (Client, error) { + var options []client.Option + options = append(options, client.WithDestService(destService)) + + options = append(options, opts...) + + kc, err := client.NewClient(serviceInfo(), options...) + if err != nil { + return nil, err + } + return &kOnewayServiceClient{ + kClient: newServiceClient(kc), + }, nil +} + +// MustNewClient creates a client for the service defined in IDL. It panics if any error occurs. +func MustNewClient(destService string, opts ...client.Option) Client { + kc, err := NewClient(destService, opts...) + if err != nil { + panic(err) + } + return kc +} + +type kOnewayServiceClient struct { + *kClient +} + +func (p *kOnewayServiceClient) VisitOneway(ctx context.Context, req *stability.STRequest, callOptions ...callopt.Option) (err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.VisitOneway(ctx, req) +} diff --git a/kitex_gen/thrift/stability/onewayservice/invoker.go b/kitex_gen/thrift/stability/onewayservice/invoker.go new file mode 100644 index 0000000..8b696c1 --- /dev/null +++ b/kitex_gen/thrift/stability/onewayservice/invoker.go @@ -0,0 +1,24 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package onewayservice + +import ( + stability "github.com/cloudwego/kitex-tests/kitex_gen/thrift/stability" + server "github.com/cloudwego/kitex/server" +) + +// NewInvoker creates a server.Invoker with the given handler and options. +func NewInvoker(handler stability.OnewayService, opts ...server.Option) server.Invoker { + var options []server.Option + + options = append(options, opts...) + + s := server.NewInvoker(options...) + if err := s.RegisterService(serviceInfo(), handler); err != nil { + panic(err) + } + if err := s.Init(); err != nil { + panic(err) + } + return s +} diff --git a/kitex_gen/thrift/stability/onewayservice/onewayservice.go b/kitex_gen/thrift/stability/onewayservice/onewayservice.go new file mode 100644 index 0000000..6ee47c4 --- /dev/null +++ b/kitex_gen/thrift/stability/onewayservice/onewayservice.go @@ -0,0 +1,69 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package onewayservice + +import ( + "context" + stability "github.com/cloudwego/kitex-tests/kitex_gen/thrift/stability" + client "github.com/cloudwego/kitex/client" + kitex "github.com/cloudwego/kitex/pkg/serviceinfo" +) + +func serviceInfo() *kitex.ServiceInfo { + return onewayServiceServiceInfo +} + +var onewayServiceServiceInfo = NewServiceInfo() + +func NewServiceInfo() *kitex.ServiceInfo { + serviceName := "OnewayService" + handlerType := (*stability.OnewayService)(nil) + methods := map[string]kitex.MethodInfo{ + "VisitOneway": kitex.NewMethodInfo(visitOnewayHandler, newOnewayServiceVisitOnewayArgs, nil, true), + } + extra := map[string]interface{}{ + "PackageName": "stability", + } + svcInfo := &kitex.ServiceInfo{ + ServiceName: serviceName, + HandlerType: handlerType, + Methods: methods, + PayloadCodec: kitex.Thrift, + KiteXGenVersion: "v0.5.2", + Extra: extra, + } + return svcInfo +} + +func visitOnewayHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*stability.OnewayServiceVisitOnewayArgs) + + err := handler.(stability.OnewayService).VisitOneway(ctx, realArg.Req) + if err != nil { + return err + } + + return nil +} +func newOnewayServiceVisitOnewayArgs() interface{} { + return stability.NewOnewayServiceVisitOnewayArgs() +} + +type kClient struct { + c client.Client +} + +func newServiceClient(c client.Client) *kClient { + return &kClient{ + c: c, + } +} + +func (p *kClient) VisitOneway(ctx context.Context, req *stability.STRequest) (err error) { + var _args stability.OnewayServiceVisitOnewayArgs + _args.Req = req + if err = p.c.Call(ctx, "VisitOneway", &_args, nil); err != nil { + return + } + return nil +} diff --git a/kitex_gen/thrift/stability/onewayservice/server.go b/kitex_gen/thrift/stability/onewayservice/server.go new file mode 100644 index 0000000..7f2cf47 --- /dev/null +++ b/kitex_gen/thrift/stability/onewayservice/server.go @@ -0,0 +1,20 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. +package onewayservice + +import ( + stability "github.com/cloudwego/kitex-tests/kitex_gen/thrift/stability" + server "github.com/cloudwego/kitex/server" +) + +// NewServer creates a server.Server with the given handler and options. +func NewServer(handler stability.OnewayService, opts ...server.Option) server.Server { + var options []server.Option + + options = append(options, opts...) + + svr := server.NewServer(options...) + if err := svr.RegisterService(serviceInfo(), handler); err != nil { + panic(err) + } + return svr +} diff --git a/kitex_gen/thrift/stability/stability.go b/kitex_gen/thrift/stability/stability.go new file mode 100644 index 0000000..077bcf1 --- /dev/null +++ b/kitex_gen/thrift/stability/stability.go @@ -0,0 +1,3893 @@ +// Code generated by thriftgo (0.2.9). DO NOT EDIT. + +package stability + +import ( + "bytes" + "context" + "database/sql" + "database/sql/driver" + "fmt" + "github.com/apache/thrift/lib/go/thrift" + "github.com/cloudwego/kitex-tests/kitex_gen/thrift/instparam" + "strings" +) + +type TestEnum int64 + +const ( + TestEnum_FIRST TestEnum = 1 + TestEnum_SECOND TestEnum = 2 + TestEnum_THIRD TestEnum = 3 + TestEnum_FOURTH TestEnum = 4 +) + +func (p TestEnum) String() string { + switch p { + case TestEnum_FIRST: + return "FIRST" + case TestEnum_SECOND: + return "SECOND" + case TestEnum_THIRD: + return "THIRD" + case TestEnum_FOURTH: + return "FOURTH" + } + return "" +} + +func TestEnumFromString(s string) (TestEnum, error) { + switch s { + case "FIRST": + return TestEnum_FIRST, nil + case "SECOND": + return TestEnum_SECOND, nil + case "THIRD": + return TestEnum_THIRD, nil + case "FOURTH": + return TestEnum_FOURTH, nil + } + return TestEnum(0), fmt.Errorf("not a valid TestEnum string") +} + +func TestEnumPtr(v TestEnum) *TestEnum { return &v } +func (p *TestEnum) Scan(value interface{}) (err error) { + var result sql.NullInt64 + err = result.Scan(value) + *p = TestEnum(result.Int64) + return +} + +func (p *TestEnum) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +type STRequest struct { + Name string `thrift:"Name,1,required" frugal:"1,required,string" json:"Name"` + On *bool `thrift:"on,2,optional" frugal:"2,optional,bool" json:"on,omitempty"` + B int8 `thrift:"b,3" frugal:"3,default,byte" json:"b"` + Int16 int16 `thrift:"int16,4,optional" frugal:"4,optional,i16" json:"int16,omitempty"` + Int32 int32 `thrift:"int32,5" frugal:"5,default,i32" json:"int32"` + Int64 int64 `thrift:"int64,6" frugal:"6,default,i64" json:"int64"` + D float64 `thrift:"d,7" frugal:"7,default,double" json:"d"` + Str string `thrift:"str,8" frugal:"8,default,string" json:"str"` + Bin []byte `thrift:"bin,9" frugal:"9,default,binary" json:"bin"` + StringMap map[string]string `thrift:"stringMap,10" frugal:"10,default,map" json:"stringMap"` + StringList []string `thrift:"stringList,11" frugal:"11,default,list" json:"stringList"` + StringSet []string `thrift:"stringSet,12" frugal:"12,default,set" json:"stringSet"` + E TestEnum `thrift:"e,13" frugal:"13,default,TestEnum" json:"e"` + FlagMsg string `thrift:"flagMsg,14,required" frugal:"14,required,string" json:"flagMsg"` + Framework string `thrift:"framework,15,required" frugal:"15,required,string" json:"framework"` + MockCost *string `thrift:"mockCost,16,optional" frugal:"16,optional,string" json:"mockCost,omitempty"` + SubMsgs map[int32]*instparam.SubMessage `thrift:"subMsgs,17" frugal:"17,default,map" json:"subMsgs"` +} + +func NewSTRequest() *STRequest { + return &STRequest{ + + Int16: 42, + Framework: "kitex", + } +} + +func (p *STRequest) InitDefault() { + *p = STRequest{ + + Int16: 42, + Framework: "kitex", + } +} + +func (p *STRequest) GetName() (v string) { + return p.Name +} + +var STRequest_On_DEFAULT bool + +func (p *STRequest) GetOn() (v bool) { + if !p.IsSetOn() { + return STRequest_On_DEFAULT + } + return *p.On +} + +func (p *STRequest) GetB() (v int8) { + return p.B +} + +var STRequest_Int16_DEFAULT int16 = 42 + +func (p *STRequest) GetInt16() (v int16) { + if !p.IsSetInt16() { + return STRequest_Int16_DEFAULT + } + return p.Int16 +} + +func (p *STRequest) GetInt32() (v int32) { + return p.Int32 +} + +func (p *STRequest) GetInt64() (v int64) { + return p.Int64 +} + +func (p *STRequest) GetD() (v float64) { + return p.D +} + +func (p *STRequest) GetStr() (v string) { + return p.Str +} + +func (p *STRequest) GetBin() (v []byte) { + return p.Bin +} + +func (p *STRequest) GetStringMap() (v map[string]string) { + return p.StringMap +} + +func (p *STRequest) GetStringList() (v []string) { + return p.StringList +} + +func (p *STRequest) GetStringSet() (v []string) { + return p.StringSet +} + +func (p *STRequest) GetE() (v TestEnum) { + return p.E +} + +func (p *STRequest) GetFlagMsg() (v string) { + return p.FlagMsg +} + +func (p *STRequest) GetFramework() (v string) { + return p.Framework +} + +var STRequest_MockCost_DEFAULT string + +func (p *STRequest) GetMockCost() (v string) { + if !p.IsSetMockCost() { + return STRequest_MockCost_DEFAULT + } + return *p.MockCost +} + +func (p *STRequest) GetSubMsgs() (v map[int32]*instparam.SubMessage) { + return p.SubMsgs +} +func (p *STRequest) SetName(val string) { + p.Name = val +} +func (p *STRequest) SetOn(val *bool) { + p.On = val +} +func (p *STRequest) SetB(val int8) { + p.B = val +} +func (p *STRequest) SetInt16(val int16) { + p.Int16 = val +} +func (p *STRequest) SetInt32(val int32) { + p.Int32 = val +} +func (p *STRequest) SetInt64(val int64) { + p.Int64 = val +} +func (p *STRequest) SetD(val float64) { + p.D = val +} +func (p *STRequest) SetStr(val string) { + p.Str = val +} +func (p *STRequest) SetBin(val []byte) { + p.Bin = val +} +func (p *STRequest) SetStringMap(val map[string]string) { + p.StringMap = val +} +func (p *STRequest) SetStringList(val []string) { + p.StringList = val +} +func (p *STRequest) SetStringSet(val []string) { + p.StringSet = val +} +func (p *STRequest) SetE(val TestEnum) { + p.E = val +} +func (p *STRequest) SetFlagMsg(val string) { + p.FlagMsg = val +} +func (p *STRequest) SetFramework(val string) { + p.Framework = val +} +func (p *STRequest) SetMockCost(val *string) { + p.MockCost = val +} +func (p *STRequest) SetSubMsgs(val map[int32]*instparam.SubMessage) { + p.SubMsgs = val +} + +var fieldIDToName_STRequest = map[int16]string{ + 1: "Name", + 2: "on", + 3: "b", + 4: "int16", + 5: "int32", + 6: "int64", + 7: "d", + 8: "str", + 9: "bin", + 10: "stringMap", + 11: "stringList", + 12: "stringSet", + 13: "e", + 14: "flagMsg", + 15: "framework", + 16: "mockCost", + 17: "subMsgs", +} + +func (p *STRequest) IsSetOn() bool { + return p.On != nil +} + +func (p *STRequest) IsSetInt16() bool { + return p.Int16 != STRequest_Int16_DEFAULT +} + +func (p *STRequest) IsSetMockCost() bool { + return p.MockCost != nil +} + +func (p *STRequest) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + var issetName bool = false + var issetFlagMsg bool = false + var issetFramework bool = false + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + issetName = true + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.BOOL { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.BYTE { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.I16 { + if err = p.ReadField4(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err = p.ReadField5(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 6: + if fieldTypeId == thrift.I64 { + if err = p.ReadField6(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 7: + if fieldTypeId == thrift.DOUBLE { + if err = p.ReadField7(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 8: + if fieldTypeId == thrift.STRING { + if err = p.ReadField8(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 9: + if fieldTypeId == thrift.STRING { + if err = p.ReadField9(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 10: + if fieldTypeId == thrift.MAP { + if err = p.ReadField10(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 11: + if fieldTypeId == thrift.LIST { + if err = p.ReadField11(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 12: + if fieldTypeId == thrift.SET { + if err = p.ReadField12(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 13: + if fieldTypeId == thrift.I32 { + if err = p.ReadField13(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 14: + if fieldTypeId == thrift.STRING { + if err = p.ReadField14(iprot); err != nil { + goto ReadFieldError + } + issetFlagMsg = true + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 15: + if fieldTypeId == thrift.STRING { + if err = p.ReadField15(iprot); err != nil { + goto ReadFieldError + } + issetFramework = true + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 16: + if fieldTypeId == thrift.STRING { + if err = p.ReadField16(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 17: + if fieldTypeId == thrift.MAP { + if err = p.ReadField17(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + if !issetName { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetFlagMsg { + fieldId = 14 + goto RequiredFieldNotSetError + } + + if !issetFramework { + fieldId = 15 + goto RequiredFieldNotSetError + } + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STRequest[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_STRequest[fieldId])) +} + +func (p *STRequest) ReadField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.Name = v + } + return nil +} + +func (p *STRequest) ReadField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(); err != nil { + return err + } else { + p.On = &v + } + return nil +} + +func (p *STRequest) ReadField3(iprot thrift.TProtocol) error { + if v, err := iprot.ReadByte(); err != nil { + return err + } else { + p.B = v + } + return nil +} + +func (p *STRequest) ReadField4(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI16(); err != nil { + return err + } else { + p.Int16 = v + } + return nil +} + +func (p *STRequest) ReadField5(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + p.Int32 = v + } + return nil +} + +func (p *STRequest) ReadField6(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + p.Int64 = v + } + return nil +} + +func (p *STRequest) ReadField7(iprot thrift.TProtocol) error { + if v, err := iprot.ReadDouble(); err != nil { + return err + } else { + p.D = v + } + return nil +} + +func (p *STRequest) ReadField8(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.Str = v + } + return nil +} + +func (p *STRequest) ReadField9(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBinary(); err != nil { + return err + } else { + p.Bin = []byte(v) + } + return nil +} + +func (p *STRequest) ReadField10(iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin() + if err != nil { + return err + } + p.StringMap = make(map[string]string, size) + for i := 0; i < size; i++ { + var _key string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _key = v + } + + var _val string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _val = v + } + + p.StringMap[_key] = _val + } + if err := iprot.ReadMapEnd(); err != nil { + return err + } + return nil +} + +func (p *STRequest) ReadField11(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + p.StringList = make([]string, 0, size) + for i := 0; i < size; i++ { + var _elem string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _elem = v + } + + p.StringList = append(p.StringList, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + return nil +} + +func (p *STRequest) ReadField12(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadSetBegin() + if err != nil { + return err + } + p.StringSet = make([]string, 0, size) + for i := 0; i < size; i++ { + var _elem string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _elem = v + } + + p.StringSet = append(p.StringSet, _elem) + } + if err := iprot.ReadSetEnd(); err != nil { + return err + } + return nil +} + +func (p *STRequest) ReadField13(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + p.E = TestEnum(v) + } + return nil +} + +func (p *STRequest) ReadField14(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.FlagMsg = v + } + return nil +} + +func (p *STRequest) ReadField15(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.Framework = v + } + return nil +} + +func (p *STRequest) ReadField16(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.MockCost = &v + } + return nil +} + +func (p *STRequest) ReadField17(iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin() + if err != nil { + return err + } + p.SubMsgs = make(map[int32]*instparam.SubMessage, size) + for i := 0; i < size; i++ { + var _key int32 + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + _key = v + } + _val := instparam.NewSubMessage() + if err := _val.Read(iprot); err != nil { + return err + } + + p.SubMsgs[_key] = _val + } + if err := iprot.ReadMapEnd(); err != nil { + return err + } + return nil +} + +func (p *STRequest) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("STRequest"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField4(oprot); err != nil { + fieldId = 4 + goto WriteFieldError + } + if err = p.writeField5(oprot); err != nil { + fieldId = 5 + goto WriteFieldError + } + if err = p.writeField6(oprot); err != nil { + fieldId = 6 + goto WriteFieldError + } + if err = p.writeField7(oprot); err != nil { + fieldId = 7 + goto WriteFieldError + } + if err = p.writeField8(oprot); err != nil { + fieldId = 8 + goto WriteFieldError + } + if err = p.writeField9(oprot); err != nil { + fieldId = 9 + goto WriteFieldError + } + if err = p.writeField10(oprot); err != nil { + fieldId = 10 + goto WriteFieldError + } + if err = p.writeField11(oprot); err != nil { + fieldId = 11 + goto WriteFieldError + } + if err = p.writeField12(oprot); err != nil { + fieldId = 12 + goto WriteFieldError + } + if err = p.writeField13(oprot); err != nil { + fieldId = 13 + goto WriteFieldError + } + if err = p.writeField14(oprot); err != nil { + fieldId = 14 + goto WriteFieldError + } + if err = p.writeField15(oprot); err != nil { + fieldId = 15 + goto WriteFieldError + } + if err = p.writeField16(oprot); err != nil { + fieldId = 16 + goto WriteFieldError + } + if err = p.writeField17(oprot); err != nil { + fieldId = 17 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *STRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("Name", thrift.STRING, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.Name); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *STRequest) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetOn() { + if err = oprot.WriteFieldBegin("on", thrift.BOOL, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteBool(*p.On); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *STRequest) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("b", thrift.BYTE, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteByte(p.B); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *STRequest) writeField4(oprot thrift.TProtocol) (err error) { + if p.IsSetInt16() { + if err = oprot.WriteFieldBegin("int16", thrift.I16, 4); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI16(p.Int16); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) +} + +func (p *STRequest) writeField5(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("int32", thrift.I32, 5); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(p.Int32); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) +} + +func (p *STRequest) writeField6(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("int64", thrift.I64, 6); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.Int64); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) +} + +func (p *STRequest) writeField7(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("d", thrift.DOUBLE, 7); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteDouble(p.D); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 7 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 7 end error: ", p), err) +} + +func (p *STRequest) writeField8(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("str", thrift.STRING, 8); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.Str); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 8 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 8 end error: ", p), err) +} + +func (p *STRequest) writeField9(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("bin", thrift.STRING, 9); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteBinary([]byte(p.Bin)); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 9 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 9 end error: ", p), err) +} + +func (p *STRequest) writeField10(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("stringMap", thrift.MAP, 10); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(p.StringMap)); err != nil { + return err + } + for k, v := range p.StringMap { + + if err := oprot.WriteString(k); err != nil { + return err + } + + if err := oprot.WriteString(v); err != nil { + return err + } + } + if err := oprot.WriteMapEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 10 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 10 end error: ", p), err) +} + +func (p *STRequest) writeField11(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("stringList", thrift.LIST, 11); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRING, len(p.StringList)); err != nil { + return err + } + for _, v := range p.StringList { + if err := oprot.WriteString(v); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 11 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 11 end error: ", p), err) +} + +func (p *STRequest) writeField12(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("stringSet", thrift.SET, 12); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteSetBegin(thrift.STRING, len(p.StringSet)); err != nil { + return err + } + for i := 0; i < len(p.StringSet); i++ { + for j := i + 1; j < len(p.StringSet); j++ { + if func(tgt, src string) bool { + if strings.Compare(tgt, src) != 0 { + return false + } + return true + }(p.StringSet[i], p.StringSet[j]) { + return thrift.PrependError("", fmt.Errorf("%T error writing set field: slice is not unique", p.StringSet[i])) + } + } + } + for _, v := range p.StringSet { + if err := oprot.WriteString(v); err != nil { + return err + } + } + if err := oprot.WriteSetEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 12 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 12 end error: ", p), err) +} + +func (p *STRequest) writeField13(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("e", thrift.I32, 13); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(int32(p.E)); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 13 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 13 end error: ", p), err) +} + +func (p *STRequest) writeField14(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("flagMsg", thrift.STRING, 14); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.FlagMsg); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 14 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 14 end error: ", p), err) +} + +func (p *STRequest) writeField15(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("framework", thrift.STRING, 15); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.Framework); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 15 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 15 end error: ", p), err) +} + +func (p *STRequest) writeField16(oprot thrift.TProtocol) (err error) { + if p.IsSetMockCost() { + if err = oprot.WriteFieldBegin("mockCost", thrift.STRING, 16); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.MockCost); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 16 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 16 end error: ", p), err) +} + +func (p *STRequest) writeField17(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("subMsgs", thrift.MAP, 17); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteMapBegin(thrift.I32, thrift.STRUCT, len(p.SubMsgs)); err != nil { + return err + } + for k, v := range p.SubMsgs { + + if err := oprot.WriteI32(k); err != nil { + return err + } + + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteMapEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 17 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 17 end error: ", p), err) +} + +func (p *STRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("STRequest(%+v)", *p) +} + +func (p *STRequest) DeepEqual(ano *STRequest) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Name) { + return false + } + if !p.Field2DeepEqual(ano.On) { + return false + } + if !p.Field3DeepEqual(ano.B) { + return false + } + if !p.Field4DeepEqual(ano.Int16) { + return false + } + if !p.Field5DeepEqual(ano.Int32) { + return false + } + if !p.Field6DeepEqual(ano.Int64) { + return false + } + if !p.Field7DeepEqual(ano.D) { + return false + } + if !p.Field8DeepEqual(ano.Str) { + return false + } + if !p.Field9DeepEqual(ano.Bin) { + return false + } + if !p.Field10DeepEqual(ano.StringMap) { + return false + } + if !p.Field11DeepEqual(ano.StringList) { + return false + } + if !p.Field12DeepEqual(ano.StringSet) { + return false + } + if !p.Field13DeepEqual(ano.E) { + return false + } + if !p.Field14DeepEqual(ano.FlagMsg) { + return false + } + if !p.Field15DeepEqual(ano.Framework) { + return false + } + if !p.Field16DeepEqual(ano.MockCost) { + return false + } + if !p.Field17DeepEqual(ano.SubMsgs) { + return false + } + return true +} + +func (p *STRequest) Field1DeepEqual(src string) bool { + + if strings.Compare(p.Name, src) != 0 { + return false + } + return true +} +func (p *STRequest) Field2DeepEqual(src *bool) bool { + + if p.On == src { + return true + } else if p.On == nil || src == nil { + return false + } + if *p.On != *src { + return false + } + return true +} +func (p *STRequest) Field3DeepEqual(src int8) bool { + + if p.B != src { + return false + } + return true +} +func (p *STRequest) Field4DeepEqual(src int16) bool { + + if p.Int16 != src { + return false + } + return true +} +func (p *STRequest) Field5DeepEqual(src int32) bool { + + if p.Int32 != src { + return false + } + return true +} +func (p *STRequest) Field6DeepEqual(src int64) bool { + + if p.Int64 != src { + return false + } + return true +} +func (p *STRequest) Field7DeepEqual(src float64) bool { + + if p.D != src { + return false + } + return true +} +func (p *STRequest) Field8DeepEqual(src string) bool { + + if strings.Compare(p.Str, src) != 0 { + return false + } + return true +} +func (p *STRequest) Field9DeepEqual(src []byte) bool { + + if bytes.Compare(p.Bin, src) != 0 { + return false + } + return true +} +func (p *STRequest) Field10DeepEqual(src map[string]string) bool { + + if len(p.StringMap) != len(src) { + return false + } + for k, v := range p.StringMap { + _src := src[k] + if strings.Compare(v, _src) != 0 { + return false + } + } + return true +} +func (p *STRequest) Field11DeepEqual(src []string) bool { + + if len(p.StringList) != len(src) { + return false + } + for i, v := range p.StringList { + _src := src[i] + if strings.Compare(v, _src) != 0 { + return false + } + } + return true +} +func (p *STRequest) Field12DeepEqual(src []string) bool { + + if len(p.StringSet) != len(src) { + return false + } + for i, v := range p.StringSet { + _src := src[i] + if strings.Compare(v, _src) != 0 { + return false + } + } + return true +} +func (p *STRequest) Field13DeepEqual(src TestEnum) bool { + + if p.E != src { + return false + } + return true +} +func (p *STRequest) Field14DeepEqual(src string) bool { + + if strings.Compare(p.FlagMsg, src) != 0 { + return false + } + return true +} +func (p *STRequest) Field15DeepEqual(src string) bool { + + if strings.Compare(p.Framework, src) != 0 { + return false + } + return true +} +func (p *STRequest) Field16DeepEqual(src *string) bool { + + if p.MockCost == src { + return true + } else if p.MockCost == nil || src == nil { + return false + } + if strings.Compare(*p.MockCost, *src) != 0 { + return false + } + return true +} +func (p *STRequest) Field17DeepEqual(src map[int32]*instparam.SubMessage) bool { + + if len(p.SubMsgs) != len(src) { + return false + } + for k, v := range p.SubMsgs { + _src := src[k] + if !v.DeepEqual(_src) { + return false + } + } + return true +} + +type STResponse struct { + Str string `thrift:"str,1" frugal:"1,default,string" json:"str"` + Mp map[string]string `thrift:"mp,2" frugal:"2,default,map" json:"mp"` + FlagMsg string `thrift:"flagMsg,3,required" frugal:"3,required,string" json:"flagMsg"` +} + +func NewSTResponse() *STResponse { + return &STResponse{} +} + +func (p *STResponse) InitDefault() { + *p = STResponse{} +} + +func (p *STResponse) GetStr() (v string) { + return p.Str +} + +func (p *STResponse) GetMp() (v map[string]string) { + return p.Mp +} + +func (p *STResponse) GetFlagMsg() (v string) { + return p.FlagMsg +} +func (p *STResponse) SetStr(val string) { + p.Str = val +} +func (p *STResponse) SetMp(val map[string]string) { + p.Mp = val +} +func (p *STResponse) SetFlagMsg(val string) { + p.FlagMsg = val +} + +var fieldIDToName_STResponse = map[int16]string{ + 1: "str", + 2: "mp", + 3: "flagMsg", +} + +func (p *STResponse) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + var issetFlagMsg bool = false + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + issetFlagMsg = true + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + if !issetFlagMsg { + fieldId = 3 + goto RequiredFieldNotSetError + } + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STResponse[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_STResponse[fieldId])) +} + +func (p *STResponse) ReadField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.Str = v + } + return nil +} + +func (p *STResponse) ReadField2(iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin() + if err != nil { + return err + } + p.Mp = make(map[string]string, size) + for i := 0; i < size; i++ { + var _key string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _key = v + } + + var _val string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _val = v + } + + p.Mp[_key] = _val + } + if err := iprot.ReadMapEnd(); err != nil { + return err + } + return nil +} + +func (p *STResponse) ReadField3(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.FlagMsg = v + } + return nil +} + +func (p *STResponse) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("STResponse"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *STResponse) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("str", thrift.STRING, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.Str); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *STResponse) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("mp", thrift.MAP, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(p.Mp)); err != nil { + return err + } + for k, v := range p.Mp { + + if err := oprot.WriteString(k); err != nil { + return err + } + + if err := oprot.WriteString(v); err != nil { + return err + } + } + if err := oprot.WriteMapEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *STResponse) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("flagMsg", thrift.STRING, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.FlagMsg); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *STResponse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("STResponse(%+v)", *p) +} + +func (p *STResponse) DeepEqual(ano *STResponse) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Str) { + return false + } + if !p.Field2DeepEqual(ano.Mp) { + return false + } + if !p.Field3DeepEqual(ano.FlagMsg) { + return false + } + return true +} + +func (p *STResponse) Field1DeepEqual(src string) bool { + + if strings.Compare(p.Str, src) != 0 { + return false + } + return true +} +func (p *STResponse) Field2DeepEqual(src map[string]string) bool { + + if len(p.Mp) != len(src) { + return false + } + for k, v := range p.Mp { + _src := src[k] + if strings.Compare(v, _src) != 0 { + return false + } + } + return true +} +func (p *STResponse) Field3DeepEqual(src string) bool { + + if strings.Compare(p.FlagMsg, src) != 0 { + return false + } + return true +} + +type STException struct { + Message string `thrift:"message,1" frugal:"1,default,string" json:"message"` +} + +func NewSTException() *STException { + return &STException{} +} + +func (p *STException) InitDefault() { + *p = STException{} +} + +func (p *STException) GetMessage() (v string) { + return p.Message +} +func (p *STException) SetMessage(val string) { + p.Message = val +} + +var fieldIDToName_STException = map[int16]string{ + 1: "message", +} + +func (p *STException) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STException[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *STException) ReadField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.Message = v + } + return nil +} + +func (p *STException) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("STException"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *STException) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("message", thrift.STRING, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.Message); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *STException) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("STException(%+v)", *p) +} +func (p *STException) Error() string { + return p.String() +} + +func (p *STException) DeepEqual(ano *STException) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Message) { + return false + } + return true +} + +func (p *STException) Field1DeepEqual(src string) bool { + + if strings.Compare(p.Message, src) != 0 { + return false + } + return true +} + +type OnewayService interface { + VisitOneway(ctx context.Context, req *STRequest) (err error) +} + +type OnewayServiceClient struct { + c thrift.TClient +} + +func NewOnewayServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *OnewayServiceClient { + return &OnewayServiceClient{ + c: thrift.NewTStandardClient(f.GetProtocol(t), f.GetProtocol(t)), + } +} + +func NewOnewayServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *OnewayServiceClient { + return &OnewayServiceClient{ + c: thrift.NewTStandardClient(iprot, oprot), + } +} + +func NewOnewayServiceClient(c thrift.TClient) *OnewayServiceClient { + return &OnewayServiceClient{ + c: c, + } +} + +func (p *OnewayServiceClient) Client_() thrift.TClient { + return p.c +} + +func (p *OnewayServiceClient) VisitOneway(ctx context.Context, req *STRequest) (err error) { + var _args OnewayServiceVisitOnewayArgs + _args.Req = req + if err = p.Client_().Call(ctx, "VisitOneway", &_args, nil); err != nil { + return + } + return nil +} + +type STService interface { + OnewayService + + TestSTReq(ctx context.Context, req *STRequest) (r *STResponse, err error) + + TestObjReq(ctx context.Context, req *instparam.ObjReq) (r *instparam.ObjResp, err error) + + TestException(ctx context.Context, req *STRequest) (r *STResponse, err error) + + CircuitBreakTest(ctx context.Context, req *STRequest) (r *STResponse, err error) +} + +type STServiceClient struct { + *OnewayServiceClient +} + +func NewSTServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *STServiceClient { + return &STServiceClient{ + OnewayServiceClient: NewOnewayServiceClientFactory(t, f), + } +} + +func NewSTServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *STServiceClient { + return &STServiceClient{ + OnewayServiceClient: NewOnewayServiceClientProtocol(t, iprot, oprot), + } +} + +func NewSTServiceClient(c thrift.TClient) *STServiceClient { + return &STServiceClient{ + OnewayServiceClient: NewOnewayServiceClient(c), + } +} + +func (p *STServiceClient) TestSTReq(ctx context.Context, req *STRequest) (r *STResponse, err error) { + var _args STServiceTestSTReqArgs + _args.Req = req + var _result STServiceTestSTReqResult + if err = p.Client_().Call(ctx, "testSTReq", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *STServiceClient) TestObjReq(ctx context.Context, req *instparam.ObjReq) (r *instparam.ObjResp, err error) { + var _args STServiceTestObjReqArgs + _args.Req = req + var _result STServiceTestObjReqResult + if err = p.Client_().Call(ctx, "testObjReq", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *STServiceClient) TestException(ctx context.Context, req *STRequest) (r *STResponse, err error) { + var _args STServiceTestExceptionArgs + _args.Req = req + var _result STServiceTestExceptionResult + if err = p.Client_().Call(ctx, "testException", &_args, &_result); err != nil { + return + } + switch { + case _result.StException != nil: + return r, _result.StException + } + return _result.GetSuccess(), nil +} +func (p *STServiceClient) CircuitBreakTest(ctx context.Context, req *STRequest) (r *STResponse, err error) { + var _args STServiceCircuitBreakTestArgs + _args.Req = req + var _result STServiceCircuitBreakTestResult + if err = p.Client_().Call(ctx, "circuitBreakTest", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +type OnewayServiceProcessor struct { + processorMap map[string]thrift.TProcessorFunction + handler OnewayService +} + +func (p *OnewayServiceProcessor) AddToProcessorMap(key string, processor thrift.TProcessorFunction) { + p.processorMap[key] = processor +} + +func (p *OnewayServiceProcessor) GetProcessorFunction(key string) (processor thrift.TProcessorFunction, ok bool) { + processor, ok = p.processorMap[key] + return processor, ok +} + +func (p *OnewayServiceProcessor) ProcessorMap() map[string]thrift.TProcessorFunction { + return p.processorMap +} + +func NewOnewayServiceProcessor(handler OnewayService) *OnewayServiceProcessor { + self := &OnewayServiceProcessor{handler: handler, processorMap: make(map[string]thrift.TProcessorFunction)} + self.AddToProcessorMap("VisitOneway", &onewayServiceProcessorVisitOneway{handler: handler}) + return self +} +func (p *OnewayServiceProcessor) Process(ctx context.Context, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + name, _, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return false, err + } + if processor, ok := p.GetProcessorFunction(name); ok { + return processor.Process(ctx, seqId, iprot, oprot) + } + iprot.Skip(thrift.STRUCT) + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name) + oprot.WriteMessageBegin(name, thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, x +} + +type onewayServiceProcessorVisitOneway struct { + handler OnewayService +} + +func (p *onewayServiceProcessorVisitOneway) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := OnewayServiceVisitOnewayArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + if err2 = p.handler.VisitOneway(ctx, args.Req); err2 != nil { + return true, err2 + } + return true, nil +} + +type OnewayServiceVisitOnewayArgs struct { + Req *STRequest `thrift:"req,1" frugal:"1,default,STRequest" json:"req"` +} + +func NewOnewayServiceVisitOnewayArgs() *OnewayServiceVisitOnewayArgs { + return &OnewayServiceVisitOnewayArgs{} +} + +func (p *OnewayServiceVisitOnewayArgs) InitDefault() { + *p = OnewayServiceVisitOnewayArgs{} +} + +var OnewayServiceVisitOnewayArgs_Req_DEFAULT *STRequest + +func (p *OnewayServiceVisitOnewayArgs) GetReq() (v *STRequest) { + if !p.IsSetReq() { + return OnewayServiceVisitOnewayArgs_Req_DEFAULT + } + return p.Req +} +func (p *OnewayServiceVisitOnewayArgs) SetReq(val *STRequest) { + p.Req = val +} + +var fieldIDToName_OnewayServiceVisitOnewayArgs = map[int16]string{ + 1: "req", +} + +func (p *OnewayServiceVisitOnewayArgs) IsSetReq() bool { + return p.Req != nil +} + +func (p *OnewayServiceVisitOnewayArgs) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_OnewayServiceVisitOnewayArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *OnewayServiceVisitOnewayArgs) ReadField1(iprot thrift.TProtocol) error { + p.Req = NewSTRequest() + if err := p.Req.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *OnewayServiceVisitOnewayArgs) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("VisitOneway_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *OnewayServiceVisitOnewayArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Req.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *OnewayServiceVisitOnewayArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("OnewayServiceVisitOnewayArgs(%+v)", *p) +} + +func (p *OnewayServiceVisitOnewayArgs) DeepEqual(ano *OnewayServiceVisitOnewayArgs) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Req) { + return false + } + return true +} + +func (p *OnewayServiceVisitOnewayArgs) Field1DeepEqual(src *STRequest) bool { + + if !p.Req.DeepEqual(src) { + return false + } + return true +} + +type STServiceProcessor struct { + *OnewayServiceProcessor +} + +func NewSTServiceProcessor(handler STService) *STServiceProcessor { + self := &STServiceProcessor{NewOnewayServiceProcessor(handler)} + self.AddToProcessorMap("testSTReq", &sTServiceProcessorTestSTReq{handler: handler}) + self.AddToProcessorMap("testObjReq", &sTServiceProcessorTestObjReq{handler: handler}) + self.AddToProcessorMap("testException", &sTServiceProcessorTestException{handler: handler}) + self.AddToProcessorMap("circuitBreakTest", &sTServiceProcessorCircuitBreakTest{handler: handler}) + return self +} + +type sTServiceProcessorTestSTReq struct { + handler STService +} + +func (p *sTServiceProcessorTestSTReq) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := STServiceTestSTReqArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("testSTReq", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := STServiceTestSTReqResult{} + var retval *STResponse + if retval, err2 = p.handler.TestSTReq(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing testSTReq: "+err2.Error()) + oprot.WriteMessageBegin("testSTReq", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("testSTReq", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type sTServiceProcessorTestObjReq struct { + handler STService +} + +func (p *sTServiceProcessorTestObjReq) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := STServiceTestObjReqArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("testObjReq", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := STServiceTestObjReqResult{} + var retval *instparam.ObjResp + if retval, err2 = p.handler.TestObjReq(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing testObjReq: "+err2.Error()) + oprot.WriteMessageBegin("testObjReq", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("testObjReq", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type sTServiceProcessorTestException struct { + handler STService +} + +func (p *sTServiceProcessorTestException) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := STServiceTestExceptionArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("testException", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := STServiceTestExceptionResult{} + var retval *STResponse + if retval, err2 = p.handler.TestException(ctx, args.Req); err2 != nil { + switch v := err2.(type) { + case *STException: + result.StException = v + default: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing testException: "+err2.Error()) + oprot.WriteMessageBegin("testException", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("testException", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type sTServiceProcessorCircuitBreakTest struct { + handler STService +} + +func (p *sTServiceProcessorCircuitBreakTest) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := STServiceCircuitBreakTestArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("circuitBreakTest", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := STServiceCircuitBreakTestResult{} + var retval *STResponse + if retval, err2 = p.handler.CircuitBreakTest(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing circuitBreakTest: "+err2.Error()) + oprot.WriteMessageBegin("circuitBreakTest", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("circuitBreakTest", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type STServiceTestSTReqArgs struct { + Req *STRequest `thrift:"req,1" frugal:"1,default,STRequest" json:"req"` +} + +func NewSTServiceTestSTReqArgs() *STServiceTestSTReqArgs { + return &STServiceTestSTReqArgs{} +} + +func (p *STServiceTestSTReqArgs) InitDefault() { + *p = STServiceTestSTReqArgs{} +} + +var STServiceTestSTReqArgs_Req_DEFAULT *STRequest + +func (p *STServiceTestSTReqArgs) GetReq() (v *STRequest) { + if !p.IsSetReq() { + return STServiceTestSTReqArgs_Req_DEFAULT + } + return p.Req +} +func (p *STServiceTestSTReqArgs) SetReq(val *STRequest) { + p.Req = val +} + +var fieldIDToName_STServiceTestSTReqArgs = map[int16]string{ + 1: "req", +} + +func (p *STServiceTestSTReqArgs) IsSetReq() bool { + return p.Req != nil +} + +func (p *STServiceTestSTReqArgs) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STServiceTestSTReqArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *STServiceTestSTReqArgs) ReadField1(iprot thrift.TProtocol) error { + p.Req = NewSTRequest() + if err := p.Req.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *STServiceTestSTReqArgs) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("testSTReq_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *STServiceTestSTReqArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Req.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *STServiceTestSTReqArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("STServiceTestSTReqArgs(%+v)", *p) +} + +func (p *STServiceTestSTReqArgs) DeepEqual(ano *STServiceTestSTReqArgs) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Req) { + return false + } + return true +} + +func (p *STServiceTestSTReqArgs) Field1DeepEqual(src *STRequest) bool { + + if !p.Req.DeepEqual(src) { + return false + } + return true +} + +type STServiceTestSTReqResult struct { + Success *STResponse `thrift:"success,0,optional" frugal:"0,optional,STResponse" json:"success,omitempty"` +} + +func NewSTServiceTestSTReqResult() *STServiceTestSTReqResult { + return &STServiceTestSTReqResult{} +} + +func (p *STServiceTestSTReqResult) InitDefault() { + *p = STServiceTestSTReqResult{} +} + +var STServiceTestSTReqResult_Success_DEFAULT *STResponse + +func (p *STServiceTestSTReqResult) GetSuccess() (v *STResponse) { + if !p.IsSetSuccess() { + return STServiceTestSTReqResult_Success_DEFAULT + } + return p.Success +} +func (p *STServiceTestSTReqResult) SetSuccess(x interface{}) { + p.Success = x.(*STResponse) +} + +var fieldIDToName_STServiceTestSTReqResult = map[int16]string{ + 0: "success", +} + +func (p *STServiceTestSTReqResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *STServiceTestSTReqResult) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STServiceTestSTReqResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *STServiceTestSTReqResult) ReadField0(iprot thrift.TProtocol) error { + p.Success = NewSTResponse() + if err := p.Success.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *STServiceTestSTReqResult) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("testSTReq_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *STServiceTestSTReqResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *STServiceTestSTReqResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("STServiceTestSTReqResult(%+v)", *p) +} + +func (p *STServiceTestSTReqResult) DeepEqual(ano *STServiceTestSTReqResult) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field0DeepEqual(ano.Success) { + return false + } + return true +} + +func (p *STServiceTestSTReqResult) Field0DeepEqual(src *STResponse) bool { + + if !p.Success.DeepEqual(src) { + return false + } + return true +} + +type STServiceTestObjReqArgs struct { + Req *instparam.ObjReq `thrift:"req,1" frugal:"1,default,instparam.ObjReq" json:"req"` +} + +func NewSTServiceTestObjReqArgs() *STServiceTestObjReqArgs { + return &STServiceTestObjReqArgs{} +} + +func (p *STServiceTestObjReqArgs) InitDefault() { + *p = STServiceTestObjReqArgs{} +} + +var STServiceTestObjReqArgs_Req_DEFAULT *instparam.ObjReq + +func (p *STServiceTestObjReqArgs) GetReq() (v *instparam.ObjReq) { + if !p.IsSetReq() { + return STServiceTestObjReqArgs_Req_DEFAULT + } + return p.Req +} +func (p *STServiceTestObjReqArgs) SetReq(val *instparam.ObjReq) { + p.Req = val +} + +var fieldIDToName_STServiceTestObjReqArgs = map[int16]string{ + 1: "req", +} + +func (p *STServiceTestObjReqArgs) IsSetReq() bool { + return p.Req != nil +} + +func (p *STServiceTestObjReqArgs) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STServiceTestObjReqArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *STServiceTestObjReqArgs) ReadField1(iprot thrift.TProtocol) error { + p.Req = instparam.NewObjReq() + if err := p.Req.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *STServiceTestObjReqArgs) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("testObjReq_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *STServiceTestObjReqArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Req.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *STServiceTestObjReqArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("STServiceTestObjReqArgs(%+v)", *p) +} + +func (p *STServiceTestObjReqArgs) DeepEqual(ano *STServiceTestObjReqArgs) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Req) { + return false + } + return true +} + +func (p *STServiceTestObjReqArgs) Field1DeepEqual(src *instparam.ObjReq) bool { + + if !p.Req.DeepEqual(src) { + return false + } + return true +} + +type STServiceTestObjReqResult struct { + Success *instparam.ObjResp `thrift:"success,0,optional" frugal:"0,optional,instparam.ObjResp" json:"success,omitempty"` +} + +func NewSTServiceTestObjReqResult() *STServiceTestObjReqResult { + return &STServiceTestObjReqResult{} +} + +func (p *STServiceTestObjReqResult) InitDefault() { + *p = STServiceTestObjReqResult{} +} + +var STServiceTestObjReqResult_Success_DEFAULT *instparam.ObjResp + +func (p *STServiceTestObjReqResult) GetSuccess() (v *instparam.ObjResp) { + if !p.IsSetSuccess() { + return STServiceTestObjReqResult_Success_DEFAULT + } + return p.Success +} +func (p *STServiceTestObjReqResult) SetSuccess(x interface{}) { + p.Success = x.(*instparam.ObjResp) +} + +var fieldIDToName_STServiceTestObjReqResult = map[int16]string{ + 0: "success", +} + +func (p *STServiceTestObjReqResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *STServiceTestObjReqResult) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STServiceTestObjReqResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *STServiceTestObjReqResult) ReadField0(iprot thrift.TProtocol) error { + p.Success = instparam.NewObjResp() + if err := p.Success.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *STServiceTestObjReqResult) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("testObjReq_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *STServiceTestObjReqResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *STServiceTestObjReqResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("STServiceTestObjReqResult(%+v)", *p) +} + +func (p *STServiceTestObjReqResult) DeepEqual(ano *STServiceTestObjReqResult) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field0DeepEqual(ano.Success) { + return false + } + return true +} + +func (p *STServiceTestObjReqResult) Field0DeepEqual(src *instparam.ObjResp) bool { + + if !p.Success.DeepEqual(src) { + return false + } + return true +} + +type STServiceTestExceptionArgs struct { + Req *STRequest `thrift:"req,1" frugal:"1,default,STRequest" json:"req"` +} + +func NewSTServiceTestExceptionArgs() *STServiceTestExceptionArgs { + return &STServiceTestExceptionArgs{} +} + +func (p *STServiceTestExceptionArgs) InitDefault() { + *p = STServiceTestExceptionArgs{} +} + +var STServiceTestExceptionArgs_Req_DEFAULT *STRequest + +func (p *STServiceTestExceptionArgs) GetReq() (v *STRequest) { + if !p.IsSetReq() { + return STServiceTestExceptionArgs_Req_DEFAULT + } + return p.Req +} +func (p *STServiceTestExceptionArgs) SetReq(val *STRequest) { + p.Req = val +} + +var fieldIDToName_STServiceTestExceptionArgs = map[int16]string{ + 1: "req", +} + +func (p *STServiceTestExceptionArgs) IsSetReq() bool { + return p.Req != nil +} + +func (p *STServiceTestExceptionArgs) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STServiceTestExceptionArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *STServiceTestExceptionArgs) ReadField1(iprot thrift.TProtocol) error { + p.Req = NewSTRequest() + if err := p.Req.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *STServiceTestExceptionArgs) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("testException_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *STServiceTestExceptionArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Req.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *STServiceTestExceptionArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("STServiceTestExceptionArgs(%+v)", *p) +} + +func (p *STServiceTestExceptionArgs) DeepEqual(ano *STServiceTestExceptionArgs) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Req) { + return false + } + return true +} + +func (p *STServiceTestExceptionArgs) Field1DeepEqual(src *STRequest) bool { + + if !p.Req.DeepEqual(src) { + return false + } + return true +} + +type STServiceTestExceptionResult struct { + Success *STResponse `thrift:"success,0,optional" frugal:"0,optional,STResponse" json:"success,omitempty"` + StException *STException `thrift:"stException,1,optional" frugal:"1,optional,STException" json:"stException,omitempty"` +} + +func NewSTServiceTestExceptionResult() *STServiceTestExceptionResult { + return &STServiceTestExceptionResult{} +} + +func (p *STServiceTestExceptionResult) InitDefault() { + *p = STServiceTestExceptionResult{} +} + +var STServiceTestExceptionResult_Success_DEFAULT *STResponse + +func (p *STServiceTestExceptionResult) GetSuccess() (v *STResponse) { + if !p.IsSetSuccess() { + return STServiceTestExceptionResult_Success_DEFAULT + } + return p.Success +} + +var STServiceTestExceptionResult_StException_DEFAULT *STException + +func (p *STServiceTestExceptionResult) GetStException() (v *STException) { + if !p.IsSetStException() { + return STServiceTestExceptionResult_StException_DEFAULT + } + return p.StException +} +func (p *STServiceTestExceptionResult) SetSuccess(x interface{}) { + p.Success = x.(*STResponse) +} +func (p *STServiceTestExceptionResult) SetStException(val *STException) { + p.StException = val +} + +var fieldIDToName_STServiceTestExceptionResult = map[int16]string{ + 0: "success", + 1: "stException", +} + +func (p *STServiceTestExceptionResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *STServiceTestExceptionResult) IsSetStException() bool { + return p.StException != nil +} + +func (p *STServiceTestExceptionResult) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STServiceTestExceptionResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *STServiceTestExceptionResult) ReadField0(iprot thrift.TProtocol) error { + p.Success = NewSTResponse() + if err := p.Success.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *STServiceTestExceptionResult) ReadField1(iprot thrift.TProtocol) error { + p.StException = NewSTException() + if err := p.StException.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *STServiceTestExceptionResult) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("testException_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *STServiceTestExceptionResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *STServiceTestExceptionResult) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetStException() { + if err = oprot.WriteFieldBegin("stException", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.StException.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *STServiceTestExceptionResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("STServiceTestExceptionResult(%+v)", *p) +} + +func (p *STServiceTestExceptionResult) DeepEqual(ano *STServiceTestExceptionResult) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field0DeepEqual(ano.Success) { + return false + } + if !p.Field1DeepEqual(ano.StException) { + return false + } + return true +} + +func (p *STServiceTestExceptionResult) Field0DeepEqual(src *STResponse) bool { + + if !p.Success.DeepEqual(src) { + return false + } + return true +} +func (p *STServiceTestExceptionResult) Field1DeepEqual(src *STException) bool { + + if !p.StException.DeepEqual(src) { + return false + } + return true +} + +type STServiceCircuitBreakTestArgs struct { + Req *STRequest `thrift:"req,1" frugal:"1,default,STRequest" json:"req"` +} + +func NewSTServiceCircuitBreakTestArgs() *STServiceCircuitBreakTestArgs { + return &STServiceCircuitBreakTestArgs{} +} + +func (p *STServiceCircuitBreakTestArgs) InitDefault() { + *p = STServiceCircuitBreakTestArgs{} +} + +var STServiceCircuitBreakTestArgs_Req_DEFAULT *STRequest + +func (p *STServiceCircuitBreakTestArgs) GetReq() (v *STRequest) { + if !p.IsSetReq() { + return STServiceCircuitBreakTestArgs_Req_DEFAULT + } + return p.Req +} +func (p *STServiceCircuitBreakTestArgs) SetReq(val *STRequest) { + p.Req = val +} + +var fieldIDToName_STServiceCircuitBreakTestArgs = map[int16]string{ + 1: "req", +} + +func (p *STServiceCircuitBreakTestArgs) IsSetReq() bool { + return p.Req != nil +} + +func (p *STServiceCircuitBreakTestArgs) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STServiceCircuitBreakTestArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *STServiceCircuitBreakTestArgs) ReadField1(iprot thrift.TProtocol) error { + p.Req = NewSTRequest() + if err := p.Req.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *STServiceCircuitBreakTestArgs) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("circuitBreakTest_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *STServiceCircuitBreakTestArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Req.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *STServiceCircuitBreakTestArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("STServiceCircuitBreakTestArgs(%+v)", *p) +} + +func (p *STServiceCircuitBreakTestArgs) DeepEqual(ano *STServiceCircuitBreakTestArgs) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Req) { + return false + } + return true +} + +func (p *STServiceCircuitBreakTestArgs) Field1DeepEqual(src *STRequest) bool { + + if !p.Req.DeepEqual(src) { + return false + } + return true +} + +type STServiceCircuitBreakTestResult struct { + Success *STResponse `thrift:"success,0,optional" frugal:"0,optional,STResponse" json:"success,omitempty"` +} + +func NewSTServiceCircuitBreakTestResult() *STServiceCircuitBreakTestResult { + return &STServiceCircuitBreakTestResult{} +} + +func (p *STServiceCircuitBreakTestResult) InitDefault() { + *p = STServiceCircuitBreakTestResult{} +} + +var STServiceCircuitBreakTestResult_Success_DEFAULT *STResponse + +func (p *STServiceCircuitBreakTestResult) GetSuccess() (v *STResponse) { + if !p.IsSetSuccess() { + return STServiceCircuitBreakTestResult_Success_DEFAULT + } + return p.Success +} +func (p *STServiceCircuitBreakTestResult) SetSuccess(x interface{}) { + p.Success = x.(*STResponse) +} + +var fieldIDToName_STServiceCircuitBreakTestResult = map[int16]string{ + 0: "success", +} + +func (p *STServiceCircuitBreakTestResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *STServiceCircuitBreakTestResult) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_STServiceCircuitBreakTestResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *STServiceCircuitBreakTestResult) ReadField0(iprot thrift.TProtocol) error { + p.Success = NewSTResponse() + if err := p.Success.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *STServiceCircuitBreakTestResult) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("circuitBreakTest_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *STServiceCircuitBreakTestResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *STServiceCircuitBreakTestResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("STServiceCircuitBreakTestResult(%+v)", *p) +} + +func (p *STServiceCircuitBreakTestResult) DeepEqual(ano *STServiceCircuitBreakTestResult) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field0DeepEqual(ano.Success) { + return false + } + return true +} + +func (p *STServiceCircuitBreakTestResult) Field0DeepEqual(src *STResponse) bool { + + if !p.Success.DeepEqual(src) { + return false + } + return true +} diff --git a/kitex_gen/thrift/stability/stservice/client.go b/kitex_gen/thrift/stability/stservice/client.go new file mode 100644 index 0000000..4cf96ba --- /dev/null +++ b/kitex_gen/thrift/stability/stservice/client.go @@ -0,0 +1,74 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package stservice + +import ( + "context" + instparam "github.com/cloudwego/kitex-tests/kitex_gen/thrift/instparam" + stability "github.com/cloudwego/kitex-tests/kitex_gen/thrift/stability" + client "github.com/cloudwego/kitex/client" + callopt "github.com/cloudwego/kitex/client/callopt" +) + +// Client is designed to provide IDL-compatible methods with call-option parameter for kitex framework. +type Client interface { + VisitOneway(ctx context.Context, req *stability.STRequest, callOptions ...callopt.Option) (err error) + TestSTReq(ctx context.Context, req *stability.STRequest, callOptions ...callopt.Option) (r *stability.STResponse, err error) + TestObjReq(ctx context.Context, req *instparam.ObjReq, callOptions ...callopt.Option) (r *instparam.ObjResp, err error) + TestException(ctx context.Context, req *stability.STRequest, callOptions ...callopt.Option) (r *stability.STResponse, err error) + CircuitBreakTest(ctx context.Context, req *stability.STRequest, callOptions ...callopt.Option) (r *stability.STResponse, err error) +} + +// NewClient creates a client for the service defined in IDL. +func NewClient(destService string, opts ...client.Option) (Client, error) { + var options []client.Option + options = append(options, client.WithDestService(destService)) + + options = append(options, opts...) + + kc, err := client.NewClient(serviceInfo(), options...) + if err != nil { + return nil, err + } + return &kSTServiceClient{ + kClient: newServiceClient(kc), + }, nil +} + +// MustNewClient creates a client for the service defined in IDL. It panics if any error occurs. +func MustNewClient(destService string, opts ...client.Option) Client { + kc, err := NewClient(destService, opts...) + if err != nil { + panic(err) + } + return kc +} + +type kSTServiceClient struct { + *kClient +} + +func (p *kSTServiceClient) VisitOneway(ctx context.Context, req *stability.STRequest, callOptions ...callopt.Option) (err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.VisitOneway(ctx, req) +} + +func (p *kSTServiceClient) TestSTReq(ctx context.Context, req *stability.STRequest, callOptions ...callopt.Option) (r *stability.STResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.TestSTReq(ctx, req) +} + +func (p *kSTServiceClient) TestObjReq(ctx context.Context, req *instparam.ObjReq, callOptions ...callopt.Option) (r *instparam.ObjResp, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.TestObjReq(ctx, req) +} + +func (p *kSTServiceClient) TestException(ctx context.Context, req *stability.STRequest, callOptions ...callopt.Option) (r *stability.STResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.TestException(ctx, req) +} + +func (p *kSTServiceClient) CircuitBreakTest(ctx context.Context, req *stability.STRequest, callOptions ...callopt.Option) (r *stability.STResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.CircuitBreakTest(ctx, req) +} diff --git a/kitex_gen/thrift/stability/stservice/invoker.go b/kitex_gen/thrift/stability/stservice/invoker.go new file mode 100644 index 0000000..de1890b --- /dev/null +++ b/kitex_gen/thrift/stability/stservice/invoker.go @@ -0,0 +1,24 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package stservice + +import ( + stability "github.com/cloudwego/kitex-tests/kitex_gen/thrift/stability" + server "github.com/cloudwego/kitex/server" +) + +// NewInvoker creates a server.Invoker with the given handler and options. +func NewInvoker(handler stability.STService, opts ...server.Option) server.Invoker { + var options []server.Option + + options = append(options, opts...) + + s := server.NewInvoker(options...) + if err := s.RegisterService(serviceInfo(), handler); err != nil { + panic(err) + } + if err := s.Init(); err != nil { + panic(err) + } + return s +} diff --git a/kitex_gen/thrift/stability/stservice/server.go b/kitex_gen/thrift/stability/stservice/server.go new file mode 100644 index 0000000..5ad6f84 --- /dev/null +++ b/kitex_gen/thrift/stability/stservice/server.go @@ -0,0 +1,20 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. +package stservice + +import ( + stability "github.com/cloudwego/kitex-tests/kitex_gen/thrift/stability" + server "github.com/cloudwego/kitex/server" +) + +// NewServer creates a server.Server with the given handler and options. +func NewServer(handler stability.STService, opts ...server.Option) server.Server { + var options []server.Option + + options = append(options, opts...) + + svr := server.NewServer(options...) + if err := svr.RegisterService(serviceInfo(), handler); err != nil { + panic(err) + } + return svr +} diff --git a/kitex_gen/thrift/stability/stservice/stservice.go b/kitex_gen/thrift/stability/stservice/stservice.go new file mode 100644 index 0000000..8c76d4e --- /dev/null +++ b/kitex_gen/thrift/stability/stservice/stservice.go @@ -0,0 +1,196 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package stservice + +import ( + "context" + instparam "github.com/cloudwego/kitex-tests/kitex_gen/thrift/instparam" + stability "github.com/cloudwego/kitex-tests/kitex_gen/thrift/stability" + client "github.com/cloudwego/kitex/client" + kitex "github.com/cloudwego/kitex/pkg/serviceinfo" +) + +func serviceInfo() *kitex.ServiceInfo { + return sTServiceServiceInfo +} + +var sTServiceServiceInfo = NewServiceInfo() + +func NewServiceInfo() *kitex.ServiceInfo { + serviceName := "STService" + handlerType := (*stability.STService)(nil) + methods := map[string]kitex.MethodInfo{ + "VisitOneway": kitex.NewMethodInfo(visitOnewayHandler, newOnewayServiceVisitOnewayArgs, nil, true), + "testSTReq": kitex.NewMethodInfo(testSTReqHandler, newSTServiceTestSTReqArgs, newSTServiceTestSTReqResult, false), + "testObjReq": kitex.NewMethodInfo(testObjReqHandler, newSTServiceTestObjReqArgs, newSTServiceTestObjReqResult, false), + "testException": kitex.NewMethodInfo(testExceptionHandler, newSTServiceTestExceptionArgs, newSTServiceTestExceptionResult, false), + "circuitBreakTest": kitex.NewMethodInfo(circuitBreakTestHandler, newSTServiceCircuitBreakTestArgs, newSTServiceCircuitBreakTestResult, false), + } + extra := map[string]interface{}{ + "PackageName": "stability", + } + svcInfo := &kitex.ServiceInfo{ + ServiceName: serviceName, + HandlerType: handlerType, + Methods: methods, + PayloadCodec: kitex.Thrift, + KiteXGenVersion: "v0.5.2", + Extra: extra, + } + return svcInfo +} + +func visitOnewayHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*stability.OnewayServiceVisitOnewayArgs) + + err := handler.(stability.OnewayService).VisitOneway(ctx, realArg.Req) + if err != nil { + return err + } + + return nil +} +func newOnewayServiceVisitOnewayArgs() interface{} { + return stability.NewOnewayServiceVisitOnewayArgs() +} + +func testSTReqHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*stability.STServiceTestSTReqArgs) + realResult := result.(*stability.STServiceTestSTReqResult) + success, err := handler.(stability.STService).TestSTReq(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} +func newSTServiceTestSTReqArgs() interface{} { + return stability.NewSTServiceTestSTReqArgs() +} + +func newSTServiceTestSTReqResult() interface{} { + return stability.NewSTServiceTestSTReqResult() +} + +func testObjReqHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*stability.STServiceTestObjReqArgs) + realResult := result.(*stability.STServiceTestObjReqResult) + success, err := handler.(stability.STService).TestObjReq(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} +func newSTServiceTestObjReqArgs() interface{} { + return stability.NewSTServiceTestObjReqArgs() +} + +func newSTServiceTestObjReqResult() interface{} { + return stability.NewSTServiceTestObjReqResult() +} + +func testExceptionHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*stability.STServiceTestExceptionArgs) + realResult := result.(*stability.STServiceTestExceptionResult) + success, err := handler.(stability.STService).TestException(ctx, realArg.Req) + if err != nil { + switch v := err.(type) { + case *stability.STException: + realResult.StException = v + default: + return err + } + } else { + realResult.Success = success + } + return nil +} +func newSTServiceTestExceptionArgs() interface{} { + return stability.NewSTServiceTestExceptionArgs() +} + +func newSTServiceTestExceptionResult() interface{} { + return stability.NewSTServiceTestExceptionResult() +} + +func circuitBreakTestHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*stability.STServiceCircuitBreakTestArgs) + realResult := result.(*stability.STServiceCircuitBreakTestResult) + success, err := handler.(stability.STService).CircuitBreakTest(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} +func newSTServiceCircuitBreakTestArgs() interface{} { + return stability.NewSTServiceCircuitBreakTestArgs() +} + +func newSTServiceCircuitBreakTestResult() interface{} { + return stability.NewSTServiceCircuitBreakTestResult() +} + +type kClient struct { + c client.Client +} + +func newServiceClient(c client.Client) *kClient { + return &kClient{ + c: c, + } +} + +func (p *kClient) VisitOneway(ctx context.Context, req *stability.STRequest) (err error) { + var _args stability.OnewayServiceVisitOnewayArgs + _args.Req = req + if err = p.c.Call(ctx, "VisitOneway", &_args, nil); err != nil { + return + } + return nil +} + +func (p *kClient) TestSTReq(ctx context.Context, req *stability.STRequest) (r *stability.STResponse, err error) { + var _args stability.STServiceTestSTReqArgs + _args.Req = req + var _result stability.STServiceTestSTReqResult + if err = p.c.Call(ctx, "testSTReq", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) TestObjReq(ctx context.Context, req *instparam.ObjReq) (r *instparam.ObjResp, err error) { + var _args stability.STServiceTestObjReqArgs + _args.Req = req + var _result stability.STServiceTestObjReqResult + if err = p.c.Call(ctx, "testObjReq", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) TestException(ctx context.Context, req *stability.STRequest) (r *stability.STResponse, err error) { + var _args stability.STServiceTestExceptionArgs + _args.Req = req + var _result stability.STServiceTestExceptionResult + if err = p.c.Call(ctx, "testException", &_args, &_result); err != nil { + return + } + switch { + case _result.StException != nil: + return r, _result.StException + } + return _result.GetSuccess(), nil +} + +func (p *kClient) CircuitBreakTest(ctx context.Context, req *stability.STRequest) (r *stability.STResponse, err error) { + var _args stability.STServiceCircuitBreakTestArgs + _args.Req = req + var _result stability.STServiceCircuitBreakTestResult + if err = p.c.Call(ctx, "circuitBreakTest", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} diff --git a/kitex_gen/thrift/tenant/echoservice/client.go b/kitex_gen/thrift/tenant/echoservice/client.go new file mode 100644 index 0000000..31c5aca --- /dev/null +++ b/kitex_gen/thrift/tenant/echoservice/client.go @@ -0,0 +1,55 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package echoservice + +import ( + "context" + tenant "github.com/cloudwego/kitex-tests/kitex_gen/thrift/tenant" + client "github.com/cloudwego/kitex/client" + callopt "github.com/cloudwego/kitex/client/callopt" +) + +// Client is designed to provide IDL-compatible methods with call-option parameter for kitex framework. +type Client interface { + Echo(ctx context.Context, request *tenant.EchoRequest, callOptions ...callopt.Option) (r *tenant.EchoResponse, err error) + EchoOneway(ctx context.Context, request *tenant.EchoRequest, callOptions ...callopt.Option) (err error) +} + +// NewClient creates a client for the service defined in IDL. +func NewClient(destService string, opts ...client.Option) (Client, error) { + var options []client.Option + options = append(options, client.WithDestService(destService)) + + options = append(options, opts...) + + kc, err := client.NewClient(serviceInfo(), options...) + if err != nil { + return nil, err + } + return &kEchoServiceClient{ + kClient: newServiceClient(kc), + }, nil +} + +// MustNewClient creates a client for the service defined in IDL. It panics if any error occurs. +func MustNewClient(destService string, opts ...client.Option) Client { + kc, err := NewClient(destService, opts...) + if err != nil { + panic(err) + } + return kc +} + +type kEchoServiceClient struct { + *kClient +} + +func (p *kEchoServiceClient) Echo(ctx context.Context, request *tenant.EchoRequest, callOptions ...callopt.Option) (r *tenant.EchoResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.Echo(ctx, request) +} + +func (p *kEchoServiceClient) EchoOneway(ctx context.Context, request *tenant.EchoRequest, callOptions ...callopt.Option) (err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.EchoOneway(ctx, request) +} diff --git a/kitex_gen/thrift/tenant/echoservice/echoservice.go b/kitex_gen/thrift/tenant/echoservice/echoservice.go new file mode 100644 index 0000000..ad4c9f6 --- /dev/null +++ b/kitex_gen/thrift/tenant/echoservice/echoservice.go @@ -0,0 +1,98 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package echoservice + +import ( + "context" + tenant "github.com/cloudwego/kitex-tests/kitex_gen/thrift/tenant" + client "github.com/cloudwego/kitex/client" + kitex "github.com/cloudwego/kitex/pkg/serviceinfo" +) + +func serviceInfo() *kitex.ServiceInfo { + return echoServiceServiceInfo +} + +var echoServiceServiceInfo = NewServiceInfo() + +func NewServiceInfo() *kitex.ServiceInfo { + serviceName := "EchoService" + handlerType := (*tenant.EchoService)(nil) + methods := map[string]kitex.MethodInfo{ + "Echo": kitex.NewMethodInfo(echoHandler, newEchoServiceEchoArgs, newEchoServiceEchoResult, false), + "EchoOneway": kitex.NewMethodInfo(echoOnewayHandler, newEchoServiceEchoOnewayArgs, nil, true), + } + extra := map[string]interface{}{ + "PackageName": "tenant", + } + svcInfo := &kitex.ServiceInfo{ + ServiceName: serviceName, + HandlerType: handlerType, + Methods: methods, + PayloadCodec: kitex.Thrift, + KiteXGenVersion: "v0.5.2", + Extra: extra, + } + return svcInfo +} + +func echoHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*tenant.EchoServiceEchoArgs) + realResult := result.(*tenant.EchoServiceEchoResult) + success, err := handler.(tenant.EchoService).Echo(ctx, realArg.Request) + if err != nil { + return err + } + realResult.Success = success + return nil +} +func newEchoServiceEchoArgs() interface{} { + return tenant.NewEchoServiceEchoArgs() +} + +func newEchoServiceEchoResult() interface{} { + return tenant.NewEchoServiceEchoResult() +} + +func echoOnewayHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*tenant.EchoServiceEchoOnewayArgs) + + err := handler.(tenant.EchoService).EchoOneway(ctx, realArg.Request) + if err != nil { + return err + } + + return nil +} +func newEchoServiceEchoOnewayArgs() interface{} { + return tenant.NewEchoServiceEchoOnewayArgs() +} + +type kClient struct { + c client.Client +} + +func newServiceClient(c client.Client) *kClient { + return &kClient{ + c: c, + } +} + +func (p *kClient) Echo(ctx context.Context, request *tenant.EchoRequest) (r *tenant.EchoResponse, err error) { + var _args tenant.EchoServiceEchoArgs + _args.Request = request + var _result tenant.EchoServiceEchoResult + if err = p.c.Call(ctx, "Echo", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) EchoOneway(ctx context.Context, request *tenant.EchoRequest) (err error) { + var _args tenant.EchoServiceEchoOnewayArgs + _args.Request = request + if err = p.c.Call(ctx, "EchoOneway", &_args, nil); err != nil { + return + } + return nil +} diff --git a/kitex_gen/thrift/tenant/echoservice/invoker.go b/kitex_gen/thrift/tenant/echoservice/invoker.go new file mode 100644 index 0000000..b38fe7a --- /dev/null +++ b/kitex_gen/thrift/tenant/echoservice/invoker.go @@ -0,0 +1,24 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package echoservice + +import ( + tenant "github.com/cloudwego/kitex-tests/kitex_gen/thrift/tenant" + server "github.com/cloudwego/kitex/server" +) + +// NewInvoker creates a server.Invoker with the given handler and options. +func NewInvoker(handler tenant.EchoService, opts ...server.Option) server.Invoker { + var options []server.Option + + options = append(options, opts...) + + s := server.NewInvoker(options...) + if err := s.RegisterService(serviceInfo(), handler); err != nil { + panic(err) + } + if err := s.Init(); err != nil { + panic(err) + } + return s +} diff --git a/kitex_gen/thrift/tenant/echoservice/server.go b/kitex_gen/thrift/tenant/echoservice/server.go new file mode 100644 index 0000000..6ccd4bf --- /dev/null +++ b/kitex_gen/thrift/tenant/echoservice/server.go @@ -0,0 +1,20 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. +package echoservice + +import ( + tenant "github.com/cloudwego/kitex-tests/kitex_gen/thrift/tenant" + server "github.com/cloudwego/kitex/server" +) + +// NewServer creates a server.Server with the given handler and options. +func NewServer(handler tenant.EchoService, opts ...server.Option) server.Server { + var options []server.Option + + options = append(options, opts...) + + svr := server.NewServer(options...) + if err := svr.RegisterService(serviceInfo(), handler); err != nil { + panic(err) + } + return svr +} diff --git a/kitex_gen/thrift/tenant/k-consts.go b/kitex_gen/thrift/tenant/k-consts.go new file mode 100644 index 0000000..a6ffd07 --- /dev/null +++ b/kitex_gen/thrift/tenant/k-consts.go @@ -0,0 +1,4 @@ +package tenant + +// KitexUnusedProtection is used to prevent 'imported and not used' error. +var KitexUnusedProtection = struct{}{} diff --git a/kitex_gen/thrift/tenant/k-tenant.go b/kitex_gen/thrift/tenant/k-tenant.go new file mode 100644 index 0000000..1b7380b --- /dev/null +++ b/kitex_gen/thrift/tenant/k-tenant.go @@ -0,0 +1,2295 @@ +// Code generated by Kitex v0.5.2. DO NOT EDIT. + +package tenant + +import ( + "bytes" + "fmt" + "reflect" + "strings" + + "github.com/apache/thrift/lib/go/thrift" + "github.com/cloudwego/kitex/pkg/protocol/bthrift" + kutils "github.com/cloudwego/kitex/pkg/utils" +) + +// unused protection +var ( + _ = fmt.Formatter(nil) + _ = (*bytes.Buffer)(nil) + _ = (*strings.Builder)(nil) + _ = reflect.Type(nil) + _ = thrift.TProtocol(nil) + _ = bthrift.BinaryWriter(nil) +) + +func (p *Info) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.MAP { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_Info[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *Info) FastReadField1(buf []byte) (int, error) { + offset := 0 + + _, _, size, l, err := bthrift.Binary.ReadMapBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.Map = make(map[string]string, size) + for i := 0; i < size; i++ { + var _key string + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _key = v + + } + + var _val string + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _val = v + + } + + p.Map[_key] = _val + } + if l, err := bthrift.Binary.ReadMapEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *Info) FastReadField2(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.ID = v + + } + return offset, nil +} + +// for compatibility +func (p *Info) FastWrite(buf []byte) int { + return 0 +} + +func (p *Info) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "Info") + if p != nil { + offset += p.fastWriteField2(buf[offset:], binaryWriter) + offset += p.fastWriteField1(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *Info) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("Info") + if p != nil { + l += p.field1Length() + l += p.field2Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *Info) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "Map", thrift.MAP, 1) + mapBeginOffset := offset + offset += bthrift.Binary.MapBeginLength(thrift.STRING, thrift.STRING, 0) + var length int + for k, v := range p.Map { + length++ + + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, k) + + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, v) + + } + bthrift.Binary.WriteMapBegin(buf[mapBeginOffset:], thrift.STRING, thrift.STRING, length) + offset += bthrift.Binary.WriteMapEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *Info) fastWriteField2(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "ID", thrift.I64, 2) + offset += bthrift.Binary.WriteI64(buf[offset:], p.ID) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *Info) field1Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("Map", thrift.MAP, 1) + l += bthrift.Binary.MapBeginLength(thrift.STRING, thrift.STRING, len(p.Map)) + for k, v := range p.Map { + + l += bthrift.Binary.StringLengthNocopy(k) + + l += bthrift.Binary.StringLengthNocopy(v) + + } + l += bthrift.Binary.MapEndLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *Info) field2Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("ID", thrift.I64, 2) + l += bthrift.Binary.I64Length(p.ID) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoRequest) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.BYTE { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.I16 { + l, err = p.FastReadField3(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.I32 { + l, err = p.FastReadField4(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField5(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 6: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField6(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 7: + if fieldTypeId == thrift.MAP { + l, err = p.FastReadField7(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 8: + if fieldTypeId == thrift.SET { + l, err = p.FastReadField8(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 9: + if fieldTypeId == thrift.LIST { + l, err = p.FastReadField9(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 10: + if fieldTypeId == thrift.I32 { + l, err = p.FastReadField10(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 11: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField11(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EchoRequest[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *EchoRequest) FastReadField1(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.Msg = v + + } + return offset, nil +} + +func (p *EchoRequest) FastReadField2(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadByte(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.I8 = v + + } + return offset, nil +} + +func (p *EchoRequest) FastReadField3(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI16(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.I16 = v + + } + return offset, nil +} + +func (p *EchoRequest) FastReadField4(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI32(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.I32 = v + + } + return offset, nil +} + +func (p *EchoRequest) FastReadField5(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.I64 = v + + } + return offset, nil +} + +func (p *EchoRequest) FastReadField6(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadBinary(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.Binary = []byte(v) + + } + return offset, nil +} + +func (p *EchoRequest) FastReadField7(buf []byte) (int, error) { + offset := 0 + + _, _, size, l, err := bthrift.Binary.ReadMapBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.Map = make(map[string]string, size) + for i := 0; i < size; i++ { + var _key string + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _key = v + + } + + var _val string + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _val = v + + } + + p.Map[_key] = _val + } + if l, err := bthrift.Binary.ReadMapEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *EchoRequest) FastReadField8(buf []byte) (int, error) { + offset := 0 + + _, size, l, err := bthrift.Binary.ReadSetBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.Set = make([]string, 0, size) + for i := 0; i < size; i++ { + var _elem string + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _elem = v + + } + + p.Set = append(p.Set, _elem) + } + if l, err := bthrift.Binary.ReadSetEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *EchoRequest) FastReadField9(buf []byte) (int, error) { + offset := 0 + + _, size, l, err := bthrift.Binary.ReadListBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.List = make([]string, 0, size) + for i := 0; i < size; i++ { + var _elem string + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _elem = v + + } + + p.List = append(p.List, _elem) + } + if l, err := bthrift.Binary.ReadListEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *EchoRequest) FastReadField10(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI32(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.ErrorCode = ErrorCode(v) + + } + return offset, nil +} + +func (p *EchoRequest) FastReadField11(buf []byte) (int, error) { + offset := 0 + + tmp := NewInfo() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Info = tmp + return offset, nil +} + +// for compatibility +func (p *EchoRequest) FastWrite(buf []byte) int { + return 0 +} + +func (p *EchoRequest) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "EchoRequest") + if p != nil { + offset += p.fastWriteField2(buf[offset:], binaryWriter) + offset += p.fastWriteField3(buf[offset:], binaryWriter) + offset += p.fastWriteField4(buf[offset:], binaryWriter) + offset += p.fastWriteField5(buf[offset:], binaryWriter) + offset += p.fastWriteField1(buf[offset:], binaryWriter) + offset += p.fastWriteField6(buf[offset:], binaryWriter) + offset += p.fastWriteField7(buf[offset:], binaryWriter) + offset += p.fastWriteField8(buf[offset:], binaryWriter) + offset += p.fastWriteField9(buf[offset:], binaryWriter) + offset += p.fastWriteField10(buf[offset:], binaryWriter) + offset += p.fastWriteField11(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *EchoRequest) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("EchoRequest") + if p != nil { + l += p.field1Length() + l += p.field2Length() + l += p.field3Length() + l += p.field4Length() + l += p.field5Length() + l += p.field6Length() + l += p.field7Length() + l += p.field8Length() + l += p.field9Length() + l += p.field10Length() + l += p.field11Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *EchoRequest) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "Msg", thrift.STRING, 1) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, p.Msg) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoRequest) fastWriteField2(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "I8", thrift.BYTE, 2) + offset += bthrift.Binary.WriteByte(buf[offset:], p.I8) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoRequest) fastWriteField3(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "I16", thrift.I16, 3) + offset += bthrift.Binary.WriteI16(buf[offset:], p.I16) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoRequest) fastWriteField4(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "I32", thrift.I32, 4) + offset += bthrift.Binary.WriteI32(buf[offset:], p.I32) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoRequest) fastWriteField5(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "I64", thrift.I64, 5) + offset += bthrift.Binary.WriteI64(buf[offset:], p.I64) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoRequest) fastWriteField6(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "Binary", thrift.STRING, 6) + offset += bthrift.Binary.WriteBinaryNocopy(buf[offset:], binaryWriter, []byte(p.Binary)) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoRequest) fastWriteField7(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "Map", thrift.MAP, 7) + mapBeginOffset := offset + offset += bthrift.Binary.MapBeginLength(thrift.STRING, thrift.STRING, 0) + var length int + for k, v := range p.Map { + length++ + + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, k) + + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, v) + + } + bthrift.Binary.WriteMapBegin(buf[mapBeginOffset:], thrift.STRING, thrift.STRING, length) + offset += bthrift.Binary.WriteMapEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoRequest) fastWriteField8(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "Set", thrift.SET, 8) + setBeginOffset := offset + offset += bthrift.Binary.SetBeginLength(thrift.STRING, 0) + + for i := 0; i < len(p.Set); i++ { + for j := i + 1; j < len(p.Set); j++ { + if func(tgt, src string) bool { + if strings.Compare(tgt, src) != 0 { + return false + } + return true + }(p.Set[i], p.Set[j]) { + panic(fmt.Errorf("%T error writing set field: slice is not unique", p.Set[i])) + } + } + } + var length int + for _, v := range p.Set { + length++ + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, v) + + } + bthrift.Binary.WriteSetBegin(buf[setBeginOffset:], thrift.STRING, length) + offset += bthrift.Binary.WriteSetEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoRequest) fastWriteField9(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "List", thrift.LIST, 9) + listBeginOffset := offset + offset += bthrift.Binary.ListBeginLength(thrift.STRING, 0) + var length int + for _, v := range p.List { + length++ + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, v) + + } + bthrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRING, length) + offset += bthrift.Binary.WriteListEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoRequest) fastWriteField10(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "ErrorCode", thrift.I32, 10) + offset += bthrift.Binary.WriteI32(buf[offset:], int32(p.ErrorCode)) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoRequest) fastWriteField11(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "Info", thrift.STRUCT, 11) + offset += p.Info.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoRequest) field1Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("Msg", thrift.STRING, 1) + l += bthrift.Binary.StringLengthNocopy(p.Msg) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoRequest) field2Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("I8", thrift.BYTE, 2) + l += bthrift.Binary.ByteLength(p.I8) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoRequest) field3Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("I16", thrift.I16, 3) + l += bthrift.Binary.I16Length(p.I16) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoRequest) field4Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("I32", thrift.I32, 4) + l += bthrift.Binary.I32Length(p.I32) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoRequest) field5Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("I64", thrift.I64, 5) + l += bthrift.Binary.I64Length(p.I64) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoRequest) field6Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("Binary", thrift.STRING, 6) + l += bthrift.Binary.BinaryLengthNocopy([]byte(p.Binary)) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoRequest) field7Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("Map", thrift.MAP, 7) + l += bthrift.Binary.MapBeginLength(thrift.STRING, thrift.STRING, len(p.Map)) + for k, v := range p.Map { + + l += bthrift.Binary.StringLengthNocopy(k) + + l += bthrift.Binary.StringLengthNocopy(v) + + } + l += bthrift.Binary.MapEndLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoRequest) field8Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("Set", thrift.SET, 8) + l += bthrift.Binary.SetBeginLength(thrift.STRING, len(p.Set)) + + for i := 0; i < len(p.Set); i++ { + for j := i + 1; j < len(p.Set); j++ { + if func(tgt, src string) bool { + if strings.Compare(tgt, src) != 0 { + return false + } + return true + }(p.Set[i], p.Set[j]) { + panic(fmt.Errorf("%T error writing set field: slice is not unique", p.Set[i])) + } + } + } + for _, v := range p.Set { + l += bthrift.Binary.StringLengthNocopy(v) + + } + l += bthrift.Binary.SetEndLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoRequest) field9Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("List", thrift.LIST, 9) + l += bthrift.Binary.ListBeginLength(thrift.STRING, len(p.List)) + for _, v := range p.List { + l += bthrift.Binary.StringLengthNocopy(v) + + } + l += bthrift.Binary.ListEndLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoRequest) field10Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("ErrorCode", thrift.I32, 10) + l += bthrift.Binary.I32Length(int32(p.ErrorCode)) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoRequest) field11Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("Info", thrift.STRUCT, 11) + l += p.Info.BLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoResponse) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.BYTE { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.I16 { + l, err = p.FastReadField3(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.I32 { + l, err = p.FastReadField4(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField5(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 6: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField6(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 7: + if fieldTypeId == thrift.MAP { + l, err = p.FastReadField7(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 8: + if fieldTypeId == thrift.SET { + l, err = p.FastReadField8(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 9: + if fieldTypeId == thrift.LIST { + l, err = p.FastReadField9(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 10: + if fieldTypeId == thrift.I32 { + l, err = p.FastReadField10(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 11: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField11(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EchoResponse[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *EchoResponse) FastReadField1(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.Msg = v + + } + return offset, nil +} + +func (p *EchoResponse) FastReadField2(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadByte(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.I8 = v + + } + return offset, nil +} + +func (p *EchoResponse) FastReadField3(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI16(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.I16 = v + + } + return offset, nil +} + +func (p *EchoResponse) FastReadField4(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI32(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.I32 = v + + } + return offset, nil +} + +func (p *EchoResponse) FastReadField5(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.I64 = v + + } + return offset, nil +} + +func (p *EchoResponse) FastReadField6(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadBinary(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.Binary = []byte(v) + + } + return offset, nil +} + +func (p *EchoResponse) FastReadField7(buf []byte) (int, error) { + offset := 0 + + _, _, size, l, err := bthrift.Binary.ReadMapBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.Map = make(map[string]string, size) + for i := 0; i < size; i++ { + var _key string + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _key = v + + } + + var _val string + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _val = v + + } + + p.Map[_key] = _val + } + if l, err := bthrift.Binary.ReadMapEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *EchoResponse) FastReadField8(buf []byte) (int, error) { + offset := 0 + + _, size, l, err := bthrift.Binary.ReadSetBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.Set = make([]string, 0, size) + for i := 0; i < size; i++ { + var _elem string + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _elem = v + + } + + p.Set = append(p.Set, _elem) + } + if l, err := bthrift.Binary.ReadSetEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *EchoResponse) FastReadField9(buf []byte) (int, error) { + offset := 0 + + _, size, l, err := bthrift.Binary.ReadListBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + p.List = make([]string, 0, size) + for i := 0; i < size; i++ { + var _elem string + if v, l, err := bthrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + _elem = v + + } + + p.List = append(p.List, _elem) + } + if l, err := bthrift.Binary.ReadListEnd(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + return offset, nil +} + +func (p *EchoResponse) FastReadField10(buf []byte) (int, error) { + offset := 0 + + if v, l, err := bthrift.Binary.ReadI32(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + + p.ErrorCode = ErrorCode(v) + + } + return offset, nil +} + +func (p *EchoResponse) FastReadField11(buf []byte) (int, error) { + offset := 0 + + tmp := NewInfo() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Info = tmp + return offset, nil +} + +// for compatibility +func (p *EchoResponse) FastWrite(buf []byte) int { + return 0 +} + +func (p *EchoResponse) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "EchoResponse") + if p != nil { + offset += p.fastWriteField2(buf[offset:], binaryWriter) + offset += p.fastWriteField3(buf[offset:], binaryWriter) + offset += p.fastWriteField4(buf[offset:], binaryWriter) + offset += p.fastWriteField5(buf[offset:], binaryWriter) + offset += p.fastWriteField1(buf[offset:], binaryWriter) + offset += p.fastWriteField6(buf[offset:], binaryWriter) + offset += p.fastWriteField7(buf[offset:], binaryWriter) + offset += p.fastWriteField8(buf[offset:], binaryWriter) + offset += p.fastWriteField9(buf[offset:], binaryWriter) + offset += p.fastWriteField10(buf[offset:], binaryWriter) + offset += p.fastWriteField11(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *EchoResponse) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("EchoResponse") + if p != nil { + l += p.field1Length() + l += p.field2Length() + l += p.field3Length() + l += p.field4Length() + l += p.field5Length() + l += p.field6Length() + l += p.field7Length() + l += p.field8Length() + l += p.field9Length() + l += p.field10Length() + l += p.field11Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *EchoResponse) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "Msg", thrift.STRING, 1) + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, p.Msg) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoResponse) fastWriteField2(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "I8", thrift.BYTE, 2) + offset += bthrift.Binary.WriteByte(buf[offset:], p.I8) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoResponse) fastWriteField3(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "I16", thrift.I16, 3) + offset += bthrift.Binary.WriteI16(buf[offset:], p.I16) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoResponse) fastWriteField4(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "I32", thrift.I32, 4) + offset += bthrift.Binary.WriteI32(buf[offset:], p.I32) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoResponse) fastWriteField5(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "I64", thrift.I64, 5) + offset += bthrift.Binary.WriteI64(buf[offset:], p.I64) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoResponse) fastWriteField6(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "Binary", thrift.STRING, 6) + offset += bthrift.Binary.WriteBinaryNocopy(buf[offset:], binaryWriter, []byte(p.Binary)) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoResponse) fastWriteField7(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "Map", thrift.MAP, 7) + mapBeginOffset := offset + offset += bthrift.Binary.MapBeginLength(thrift.STRING, thrift.STRING, 0) + var length int + for k, v := range p.Map { + length++ + + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, k) + + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, v) + + } + bthrift.Binary.WriteMapBegin(buf[mapBeginOffset:], thrift.STRING, thrift.STRING, length) + offset += bthrift.Binary.WriteMapEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoResponse) fastWriteField8(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "Set", thrift.SET, 8) + setBeginOffset := offset + offset += bthrift.Binary.SetBeginLength(thrift.STRING, 0) + + for i := 0; i < len(p.Set); i++ { + for j := i + 1; j < len(p.Set); j++ { + if func(tgt, src string) bool { + if strings.Compare(tgt, src) != 0 { + return false + } + return true + }(p.Set[i], p.Set[j]) { + panic(fmt.Errorf("%T error writing set field: slice is not unique", p.Set[i])) + } + } + } + var length int + for _, v := range p.Set { + length++ + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, v) + + } + bthrift.Binary.WriteSetBegin(buf[setBeginOffset:], thrift.STRING, length) + offset += bthrift.Binary.WriteSetEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoResponse) fastWriteField9(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "List", thrift.LIST, 9) + listBeginOffset := offset + offset += bthrift.Binary.ListBeginLength(thrift.STRING, 0) + var length int + for _, v := range p.List { + length++ + offset += bthrift.Binary.WriteStringNocopy(buf[offset:], binaryWriter, v) + + } + bthrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRING, length) + offset += bthrift.Binary.WriteListEnd(buf[offset:]) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoResponse) fastWriteField10(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "ErrorCode", thrift.I32, 10) + offset += bthrift.Binary.WriteI32(buf[offset:], int32(p.ErrorCode)) + + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoResponse) fastWriteField11(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "Info", thrift.STRUCT, 11) + offset += p.Info.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoResponse) field1Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("Msg", thrift.STRING, 1) + l += bthrift.Binary.StringLengthNocopy(p.Msg) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoResponse) field2Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("I8", thrift.BYTE, 2) + l += bthrift.Binary.ByteLength(p.I8) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoResponse) field3Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("I16", thrift.I16, 3) + l += bthrift.Binary.I16Length(p.I16) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoResponse) field4Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("I32", thrift.I32, 4) + l += bthrift.Binary.I32Length(p.I32) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoResponse) field5Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("I64", thrift.I64, 5) + l += bthrift.Binary.I64Length(p.I64) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoResponse) field6Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("Binary", thrift.STRING, 6) + l += bthrift.Binary.BinaryLengthNocopy([]byte(p.Binary)) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoResponse) field7Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("Map", thrift.MAP, 7) + l += bthrift.Binary.MapBeginLength(thrift.STRING, thrift.STRING, len(p.Map)) + for k, v := range p.Map { + + l += bthrift.Binary.StringLengthNocopy(k) + + l += bthrift.Binary.StringLengthNocopy(v) + + } + l += bthrift.Binary.MapEndLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoResponse) field8Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("Set", thrift.SET, 8) + l += bthrift.Binary.SetBeginLength(thrift.STRING, len(p.Set)) + + for i := 0; i < len(p.Set); i++ { + for j := i + 1; j < len(p.Set); j++ { + if func(tgt, src string) bool { + if strings.Compare(tgt, src) != 0 { + return false + } + return true + }(p.Set[i], p.Set[j]) { + panic(fmt.Errorf("%T error writing set field: slice is not unique", p.Set[i])) + } + } + } + for _, v := range p.Set { + l += bthrift.Binary.StringLengthNocopy(v) + + } + l += bthrift.Binary.SetEndLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoResponse) field9Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("List", thrift.LIST, 9) + l += bthrift.Binary.ListBeginLength(thrift.STRING, len(p.List)) + for _, v := range p.List { + l += bthrift.Binary.StringLengthNocopy(v) + + } + l += bthrift.Binary.ListEndLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoResponse) field10Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("ErrorCode", thrift.I32, 10) + l += bthrift.Binary.I32Length(int32(p.ErrorCode)) + + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoResponse) field11Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("Info", thrift.STRUCT, 11) + l += p.Info.BLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoServiceEchoArgs) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EchoServiceEchoArgs[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *EchoServiceEchoArgs) FastReadField1(buf []byte) (int, error) { + offset := 0 + + tmp := NewEchoRequest() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Request = tmp + return offset, nil +} + +// for compatibility +func (p *EchoServiceEchoArgs) FastWrite(buf []byte) int { + return 0 +} + +func (p *EchoServiceEchoArgs) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "Echo_args") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *EchoServiceEchoArgs) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("Echo_args") + if p != nil { + l += p.field1Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *EchoServiceEchoArgs) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "request", thrift.STRUCT, 1) + offset += p.Request.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoServiceEchoArgs) field1Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("request", thrift.STRUCT, 1) + l += p.Request.BLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *EchoServiceEchoResult) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField0(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EchoServiceEchoResult[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *EchoServiceEchoResult) FastReadField0(buf []byte) (int, error) { + offset := 0 + + tmp := NewEchoResponse() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Success = tmp + return offset, nil +} + +// for compatibility +func (p *EchoServiceEchoResult) FastWrite(buf []byte) int { + return 0 +} + +func (p *EchoServiceEchoResult) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "Echo_result") + if p != nil { + offset += p.fastWriteField0(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *EchoServiceEchoResult) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("Echo_result") + if p != nil { + l += p.field0Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *EchoServiceEchoResult) fastWriteField0(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + if p.IsSetSuccess() { + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "success", thrift.STRUCT, 0) + offset += p.Success.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + } + return offset +} + +func (p *EchoServiceEchoResult) field0Length() int { + l := 0 + if p.IsSetSuccess() { + l += bthrift.Binary.FieldBeginLength("success", thrift.STRUCT, 0) + l += p.Success.BLength() + l += bthrift.Binary.FieldEndLength() + } + return l +} + +func (p *EchoServiceEchoOnewayArgs) FastRead(buf []byte) (int, error) { + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + _, l, err = bthrift.Binary.ReadStructBegin(buf) + offset += l + if err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, l, err = bthrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = bthrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + + l, err = bthrift.Binary.ReadFieldEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldEndError + } + } + l, err = bthrift.Binary.ReadStructEnd(buf[offset:]) + offset += l + if err != nil { + goto ReadStructEndError + } + + return offset, nil +ReadStructBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EchoServiceEchoOnewayArgs[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +ReadFieldEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return offset, thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *EchoServiceEchoOnewayArgs) FastReadField1(buf []byte) (int, error) { + offset := 0 + + tmp := NewEchoRequest() + if l, err := tmp.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Request = tmp + return offset, nil +} + +// for compatibility +func (p *EchoServiceEchoOnewayArgs) FastWrite(buf []byte) int { + return 0 +} + +func (p *EchoServiceEchoOnewayArgs) FastWriteNocopy(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteStructBegin(buf[offset:], "EchoOneway_args") + if p != nil { + offset += p.fastWriteField1(buf[offset:], binaryWriter) + } + offset += bthrift.Binary.WriteFieldStop(buf[offset:]) + offset += bthrift.Binary.WriteStructEnd(buf[offset:]) + return offset +} + +func (p *EchoServiceEchoOnewayArgs) BLength() int { + l := 0 + l += bthrift.Binary.StructBeginLength("EchoOneway_args") + if p != nil { + l += p.field1Length() + } + l += bthrift.Binary.FieldStopLength() + l += bthrift.Binary.StructEndLength() + return l +} + +func (p *EchoServiceEchoOnewayArgs) fastWriteField1(buf []byte, binaryWriter bthrift.BinaryWriter) int { + offset := 0 + offset += bthrift.Binary.WriteFieldBegin(buf[offset:], "request", thrift.STRUCT, 1) + offset += p.Request.FastWriteNocopy(buf[offset:], binaryWriter) + offset += bthrift.Binary.WriteFieldEnd(buf[offset:]) + return offset +} + +func (p *EchoServiceEchoOnewayArgs) field1Length() int { + l := 0 + l += bthrift.Binary.FieldBeginLength("request", thrift.STRUCT, 1) + l += p.Request.BLength() + l += bthrift.Binary.FieldEndLength() + return l +} + +func (p *Info) DeepCopy(s interface{}) error { + src, ok := s.(*Info) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + if src.Map != nil { + p.Map = make(map[string]string, len(src.Map)) + for key, val := range src.Map { + var _key string + if key != "" { + _key = kutils.StringDeepCopy(key) + } + + var _val string + if val != "" { + _val = kutils.StringDeepCopy(val) + } + + p.Map[_key] = _val + } + } + + p.ID = src.ID + + return nil +} + +func (p *EchoRequest) DeepCopy(s interface{}) error { + src, ok := s.(*EchoRequest) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + if src.Msg != "" { + p.Msg = kutils.StringDeepCopy(src.Msg) + } + + p.I8 = src.I8 + + p.I16 = src.I16 + + p.I32 = src.I32 + + p.I64 = src.I64 + + if len(src.Binary) != 0 { + tmp := make([]byte, len(src.Binary)) + copy(tmp, src.Binary) + p.Binary = tmp + } + + if src.Map != nil { + p.Map = make(map[string]string, len(src.Map)) + for key, val := range src.Map { + var _key string + if key != "" { + _key = kutils.StringDeepCopy(key) + } + + var _val string + if val != "" { + _val = kutils.StringDeepCopy(val) + } + + p.Map[_key] = _val + } + } + + if src.Set != nil { + p.Set = make([]string, 0, len(src.Set)) + for _, elem := range src.Set { + var _elem string + if elem != "" { + _elem = kutils.StringDeepCopy(elem) + } + + p.Set = append(p.Set, _elem) + } + } + + if src.List != nil { + p.List = make([]string, 0, len(src.List)) + for _, elem := range src.List { + var _elem string + if elem != "" { + _elem = kutils.StringDeepCopy(elem) + } + + p.List = append(p.List, _elem) + } + } + + p.ErrorCode = src.ErrorCode + + var _info *Info + if src.Info != nil { + _info = &Info{} + if err := _info.DeepCopy(src.Info); err != nil { + return err + } + } + p.Info = _info + + return nil +} + +func (p *EchoResponse) DeepCopy(s interface{}) error { + src, ok := s.(*EchoResponse) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + if src.Msg != "" { + p.Msg = kutils.StringDeepCopy(src.Msg) + } + + p.I8 = src.I8 + + p.I16 = src.I16 + + p.I32 = src.I32 + + p.I64 = src.I64 + + if len(src.Binary) != 0 { + tmp := make([]byte, len(src.Binary)) + copy(tmp, src.Binary) + p.Binary = tmp + } + + if src.Map != nil { + p.Map = make(map[string]string, len(src.Map)) + for key, val := range src.Map { + var _key string + if key != "" { + _key = kutils.StringDeepCopy(key) + } + + var _val string + if val != "" { + _val = kutils.StringDeepCopy(val) + } + + p.Map[_key] = _val + } + } + + if src.Set != nil { + p.Set = make([]string, 0, len(src.Set)) + for _, elem := range src.Set { + var _elem string + if elem != "" { + _elem = kutils.StringDeepCopy(elem) + } + + p.Set = append(p.Set, _elem) + } + } + + if src.List != nil { + p.List = make([]string, 0, len(src.List)) + for _, elem := range src.List { + var _elem string + if elem != "" { + _elem = kutils.StringDeepCopy(elem) + } + + p.List = append(p.List, _elem) + } + } + + p.ErrorCode = src.ErrorCode + + var _info *Info + if src.Info != nil { + _info = &Info{} + if err := _info.DeepCopy(src.Info); err != nil { + return err + } + } + p.Info = _info + + return nil +} + +func (p *EchoServiceEchoArgs) GetFirstArgument() interface{} { + return p.Request +} + +func (p *EchoServiceEchoResult) GetResult() interface{} { + return p.Success +} + +func (p *EchoServiceEchoOnewayArgs) GetFirstArgument() interface{} { + return p.Request +} diff --git a/kitex_gen/thrift/tenant/tenant.go b/kitex_gen/thrift/tenant/tenant.go new file mode 100644 index 0000000..2869ac8 --- /dev/null +++ b/kitex_gen/thrift/tenant/tenant.go @@ -0,0 +1,2728 @@ +// Code generated by thriftgo (0.2.9). DO NOT EDIT. + +package tenant + +import ( + "bytes" + "context" + "database/sql" + "database/sql/driver" + "fmt" + "github.com/apache/thrift/lib/go/thrift" + "strings" +) + +type ErrorCode int64 + +const ( + ErrorCode_SUCCESS ErrorCode = 0 + ErrorCode_FAILURE ErrorCode = 1 +) + +func (p ErrorCode) String() string { + switch p { + case ErrorCode_SUCCESS: + return "SUCCESS" + case ErrorCode_FAILURE: + return "FAILURE" + } + return "" +} + +func ErrorCodeFromString(s string) (ErrorCode, error) { + switch s { + case "SUCCESS": + return ErrorCode_SUCCESS, nil + case "FAILURE": + return ErrorCode_FAILURE, nil + } + return ErrorCode(0), fmt.Errorf("not a valid ErrorCode string") +} + +func ErrorCodePtr(v ErrorCode) *ErrorCode { return &v } +func (p *ErrorCode) Scan(value interface{}) (err error) { + var result sql.NullInt64 + err = result.Scan(value) + *p = ErrorCode(result.Int64) + return +} + +func (p *ErrorCode) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +type Info struct { + Map map[string]string `thrift:"Map,1" frugal:"1,default,map" json:"Map"` + ID int64 `thrift:"ID,2" frugal:"2,default,i64" json:"ID"` +} + +func NewInfo() *Info { + return &Info{} +} + +func (p *Info) InitDefault() { + *p = Info{} +} + +func (p *Info) GetMap() (v map[string]string) { + return p.Map +} + +func (p *Info) GetID() (v int64) { + return p.ID +} +func (p *Info) SetMap(val map[string]string) { + p.Map = val +} +func (p *Info) SetID(val int64) { + p.ID = val +} + +var fieldIDToName_Info = map[int16]string{ + 1: "Map", + 2: "ID", +} + +func (p *Info) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.MAP { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_Info[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *Info) ReadField1(iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin() + if err != nil { + return err + } + p.Map = make(map[string]string, size) + for i := 0; i < size; i++ { + var _key string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _key = v + } + + var _val string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _val = v + } + + p.Map[_key] = _val + } + if err := iprot.ReadMapEnd(); err != nil { + return err + } + return nil +} + +func (p *Info) ReadField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + p.ID = v + } + return nil +} + +func (p *Info) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("Info"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *Info) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("Map", thrift.MAP, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(p.Map)); err != nil { + return err + } + for k, v := range p.Map { + + if err := oprot.WriteString(k); err != nil { + return err + } + + if err := oprot.WriteString(v); err != nil { + return err + } + } + if err := oprot.WriteMapEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *Info) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("ID", thrift.I64, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.ID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *Info) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("Info(%+v)", *p) +} + +func (p *Info) DeepEqual(ano *Info) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Map) { + return false + } + if !p.Field2DeepEqual(ano.ID) { + return false + } + return true +} + +func (p *Info) Field1DeepEqual(src map[string]string) bool { + + if len(p.Map) != len(src) { + return false + } + for k, v := range p.Map { + _src := src[k] + if strings.Compare(v, _src) != 0 { + return false + } + } + return true +} +func (p *Info) Field2DeepEqual(src int64) bool { + + if p.ID != src { + return false + } + return true +} + +type EchoRequest struct { + Msg string `thrift:"Msg,1" frugal:"1,default,string" json:"Msg"` + I8 int8 `thrift:"I8,2" frugal:"2,default,i8" json:"I8"` + I16 int16 `thrift:"I16,3" frugal:"3,default,i16" json:"I16"` + I32 int32 `thrift:"I32,4" frugal:"4,default,i32" json:"I32"` + I64 int64 `thrift:"I64,5" frugal:"5,default,i64" json:"I64"` + Binary []byte `thrift:"Binary,6" frugal:"6,default,binary" json:"Binary"` + Map map[string]string `thrift:"Map,7" frugal:"7,default,map" json:"Map"` + Set []string `thrift:"Set,8" frugal:"8,default,set" json:"Set"` + List []string `thrift:"List,9" frugal:"9,default,list" json:"List"` + ErrorCode ErrorCode `thrift:"ErrorCode,10" frugal:"10,default,ErrorCode" json:"ErrorCode"` + Info *Info `thrift:"Info,11" frugal:"11,default,Info" json:"Info"` +} + +func NewEchoRequest() *EchoRequest { + return &EchoRequest{} +} + +func (p *EchoRequest) InitDefault() { + *p = EchoRequest{} +} + +func (p *EchoRequest) GetMsg() (v string) { + return p.Msg +} + +func (p *EchoRequest) GetI8() (v int8) { + return p.I8 +} + +func (p *EchoRequest) GetI16() (v int16) { + return p.I16 +} + +func (p *EchoRequest) GetI32() (v int32) { + return p.I32 +} + +func (p *EchoRequest) GetI64() (v int64) { + return p.I64 +} + +func (p *EchoRequest) GetBinary() (v []byte) { + return p.Binary +} + +func (p *EchoRequest) GetMap() (v map[string]string) { + return p.Map +} + +func (p *EchoRequest) GetSet() (v []string) { + return p.Set +} + +func (p *EchoRequest) GetList() (v []string) { + return p.List +} + +func (p *EchoRequest) GetErrorCode() (v ErrorCode) { + return p.ErrorCode +} + +var EchoRequest_Info_DEFAULT *Info + +func (p *EchoRequest) GetInfo() (v *Info) { + if !p.IsSetInfo() { + return EchoRequest_Info_DEFAULT + } + return p.Info +} +func (p *EchoRequest) SetMsg(val string) { + p.Msg = val +} +func (p *EchoRequest) SetI8(val int8) { + p.I8 = val +} +func (p *EchoRequest) SetI16(val int16) { + p.I16 = val +} +func (p *EchoRequest) SetI32(val int32) { + p.I32 = val +} +func (p *EchoRequest) SetI64(val int64) { + p.I64 = val +} +func (p *EchoRequest) SetBinary(val []byte) { + p.Binary = val +} +func (p *EchoRequest) SetMap(val map[string]string) { + p.Map = val +} +func (p *EchoRequest) SetSet(val []string) { + p.Set = val +} +func (p *EchoRequest) SetList(val []string) { + p.List = val +} +func (p *EchoRequest) SetErrorCode(val ErrorCode) { + p.ErrorCode = val +} +func (p *EchoRequest) SetInfo(val *Info) { + p.Info = val +} + +var fieldIDToName_EchoRequest = map[int16]string{ + 1: "Msg", + 2: "I8", + 3: "I16", + 4: "I32", + 5: "I64", + 6: "Binary", + 7: "Map", + 8: "Set", + 9: "List", + 10: "ErrorCode", + 11: "Info", +} + +func (p *EchoRequest) IsSetInfo() bool { + return p.Info != nil +} + +func (p *EchoRequest) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.BYTE { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.I16 { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err = p.ReadField4(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.I64 { + if err = p.ReadField5(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 6: + if fieldTypeId == thrift.STRING { + if err = p.ReadField6(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 7: + if fieldTypeId == thrift.MAP { + if err = p.ReadField7(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 8: + if fieldTypeId == thrift.SET { + if err = p.ReadField8(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 9: + if fieldTypeId == thrift.LIST { + if err = p.ReadField9(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 10: + if fieldTypeId == thrift.I32 { + if err = p.ReadField10(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 11: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField11(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EchoRequest[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *EchoRequest) ReadField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.Msg = v + } + return nil +} + +func (p *EchoRequest) ReadField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadByte(); err != nil { + return err + } else { + p.I8 = v + } + return nil +} + +func (p *EchoRequest) ReadField3(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI16(); err != nil { + return err + } else { + p.I16 = v + } + return nil +} + +func (p *EchoRequest) ReadField4(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + p.I32 = v + } + return nil +} + +func (p *EchoRequest) ReadField5(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + p.I64 = v + } + return nil +} + +func (p *EchoRequest) ReadField6(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBinary(); err != nil { + return err + } else { + p.Binary = []byte(v) + } + return nil +} + +func (p *EchoRequest) ReadField7(iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin() + if err != nil { + return err + } + p.Map = make(map[string]string, size) + for i := 0; i < size; i++ { + var _key string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _key = v + } + + var _val string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _val = v + } + + p.Map[_key] = _val + } + if err := iprot.ReadMapEnd(); err != nil { + return err + } + return nil +} + +func (p *EchoRequest) ReadField8(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadSetBegin() + if err != nil { + return err + } + p.Set = make([]string, 0, size) + for i := 0; i < size; i++ { + var _elem string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _elem = v + } + + p.Set = append(p.Set, _elem) + } + if err := iprot.ReadSetEnd(); err != nil { + return err + } + return nil +} + +func (p *EchoRequest) ReadField9(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + p.List = make([]string, 0, size) + for i := 0; i < size; i++ { + var _elem string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _elem = v + } + + p.List = append(p.List, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + return nil +} + +func (p *EchoRequest) ReadField10(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + p.ErrorCode = ErrorCode(v) + } + return nil +} + +func (p *EchoRequest) ReadField11(iprot thrift.TProtocol) error { + p.Info = NewInfo() + if err := p.Info.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *EchoRequest) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("EchoRequest"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField4(oprot); err != nil { + fieldId = 4 + goto WriteFieldError + } + if err = p.writeField5(oprot); err != nil { + fieldId = 5 + goto WriteFieldError + } + if err = p.writeField6(oprot); err != nil { + fieldId = 6 + goto WriteFieldError + } + if err = p.writeField7(oprot); err != nil { + fieldId = 7 + goto WriteFieldError + } + if err = p.writeField8(oprot); err != nil { + fieldId = 8 + goto WriteFieldError + } + if err = p.writeField9(oprot); err != nil { + fieldId = 9 + goto WriteFieldError + } + if err = p.writeField10(oprot); err != nil { + fieldId = 10 + goto WriteFieldError + } + if err = p.writeField11(oprot); err != nil { + fieldId = 11 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *EchoRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("Msg", thrift.STRING, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.Msg); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *EchoRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("I8", thrift.BYTE, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteByte(p.I8); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *EchoRequest) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("I16", thrift.I16, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI16(p.I16); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *EchoRequest) writeField4(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("I32", thrift.I32, 4); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(p.I32); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) +} + +func (p *EchoRequest) writeField5(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("I64", thrift.I64, 5); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.I64); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) +} + +func (p *EchoRequest) writeField6(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("Binary", thrift.STRING, 6); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteBinary([]byte(p.Binary)); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) +} + +func (p *EchoRequest) writeField7(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("Map", thrift.MAP, 7); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(p.Map)); err != nil { + return err + } + for k, v := range p.Map { + + if err := oprot.WriteString(k); err != nil { + return err + } + + if err := oprot.WriteString(v); err != nil { + return err + } + } + if err := oprot.WriteMapEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 7 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 7 end error: ", p), err) +} + +func (p *EchoRequest) writeField8(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("Set", thrift.SET, 8); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteSetBegin(thrift.STRING, len(p.Set)); err != nil { + return err + } + for i := 0; i < len(p.Set); i++ { + for j := i + 1; j < len(p.Set); j++ { + if func(tgt, src string) bool { + if strings.Compare(tgt, src) != 0 { + return false + } + return true + }(p.Set[i], p.Set[j]) { + return thrift.PrependError("", fmt.Errorf("%T error writing set field: slice is not unique", p.Set[i])) + } + } + } + for _, v := range p.Set { + if err := oprot.WriteString(v); err != nil { + return err + } + } + if err := oprot.WriteSetEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 8 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 8 end error: ", p), err) +} + +func (p *EchoRequest) writeField9(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("List", thrift.LIST, 9); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRING, len(p.List)); err != nil { + return err + } + for _, v := range p.List { + if err := oprot.WriteString(v); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 9 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 9 end error: ", p), err) +} + +func (p *EchoRequest) writeField10(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("ErrorCode", thrift.I32, 10); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(int32(p.ErrorCode)); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 10 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 10 end error: ", p), err) +} + +func (p *EchoRequest) writeField11(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("Info", thrift.STRUCT, 11); err != nil { + goto WriteFieldBeginError + } + if err := p.Info.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 11 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 11 end error: ", p), err) +} + +func (p *EchoRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("EchoRequest(%+v)", *p) +} + +func (p *EchoRequest) DeepEqual(ano *EchoRequest) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Msg) { + return false + } + if !p.Field2DeepEqual(ano.I8) { + return false + } + if !p.Field3DeepEqual(ano.I16) { + return false + } + if !p.Field4DeepEqual(ano.I32) { + return false + } + if !p.Field5DeepEqual(ano.I64) { + return false + } + if !p.Field6DeepEqual(ano.Binary) { + return false + } + if !p.Field7DeepEqual(ano.Map) { + return false + } + if !p.Field8DeepEqual(ano.Set) { + return false + } + if !p.Field9DeepEqual(ano.List) { + return false + } + if !p.Field10DeepEqual(ano.ErrorCode) { + return false + } + if !p.Field11DeepEqual(ano.Info) { + return false + } + return true +} + +func (p *EchoRequest) Field1DeepEqual(src string) bool { + + if strings.Compare(p.Msg, src) != 0 { + return false + } + return true +} +func (p *EchoRequest) Field2DeepEqual(src int8) bool { + + if p.I8 != src { + return false + } + return true +} +func (p *EchoRequest) Field3DeepEqual(src int16) bool { + + if p.I16 != src { + return false + } + return true +} +func (p *EchoRequest) Field4DeepEqual(src int32) bool { + + if p.I32 != src { + return false + } + return true +} +func (p *EchoRequest) Field5DeepEqual(src int64) bool { + + if p.I64 != src { + return false + } + return true +} +func (p *EchoRequest) Field6DeepEqual(src []byte) bool { + + if bytes.Compare(p.Binary, src) != 0 { + return false + } + return true +} +func (p *EchoRequest) Field7DeepEqual(src map[string]string) bool { + + if len(p.Map) != len(src) { + return false + } + for k, v := range p.Map { + _src := src[k] + if strings.Compare(v, _src) != 0 { + return false + } + } + return true +} +func (p *EchoRequest) Field8DeepEqual(src []string) bool { + + if len(p.Set) != len(src) { + return false + } + for i, v := range p.Set { + _src := src[i] + if strings.Compare(v, _src) != 0 { + return false + } + } + return true +} +func (p *EchoRequest) Field9DeepEqual(src []string) bool { + + if len(p.List) != len(src) { + return false + } + for i, v := range p.List { + _src := src[i] + if strings.Compare(v, _src) != 0 { + return false + } + } + return true +} +func (p *EchoRequest) Field10DeepEqual(src ErrorCode) bool { + + if p.ErrorCode != src { + return false + } + return true +} +func (p *EchoRequest) Field11DeepEqual(src *Info) bool { + + if !p.Info.DeepEqual(src) { + return false + } + return true +} + +type EchoResponse struct { + Msg string `thrift:"Msg,1" frugal:"1,default,string" json:"Msg"` + I8 int8 `thrift:"I8,2" frugal:"2,default,i8" json:"I8"` + I16 int16 `thrift:"I16,3" frugal:"3,default,i16" json:"I16"` + I32 int32 `thrift:"I32,4" frugal:"4,default,i32" json:"I32"` + I64 int64 `thrift:"I64,5" frugal:"5,default,i64" json:"I64"` + Binary []byte `thrift:"Binary,6" frugal:"6,default,binary" json:"Binary"` + Map map[string]string `thrift:"Map,7" frugal:"7,default,map" json:"Map"` + Set []string `thrift:"Set,8" frugal:"8,default,set" json:"Set"` + List []string `thrift:"List,9" frugal:"9,default,list" json:"List"` + ErrorCode ErrorCode `thrift:"ErrorCode,10" frugal:"10,default,ErrorCode" json:"ErrorCode"` + Info *Info `thrift:"Info,11" frugal:"11,default,Info" json:"Info"` +} + +func NewEchoResponse() *EchoResponse { + return &EchoResponse{} +} + +func (p *EchoResponse) InitDefault() { + *p = EchoResponse{} +} + +func (p *EchoResponse) GetMsg() (v string) { + return p.Msg +} + +func (p *EchoResponse) GetI8() (v int8) { + return p.I8 +} + +func (p *EchoResponse) GetI16() (v int16) { + return p.I16 +} + +func (p *EchoResponse) GetI32() (v int32) { + return p.I32 +} + +func (p *EchoResponse) GetI64() (v int64) { + return p.I64 +} + +func (p *EchoResponse) GetBinary() (v []byte) { + return p.Binary +} + +func (p *EchoResponse) GetMap() (v map[string]string) { + return p.Map +} + +func (p *EchoResponse) GetSet() (v []string) { + return p.Set +} + +func (p *EchoResponse) GetList() (v []string) { + return p.List +} + +func (p *EchoResponse) GetErrorCode() (v ErrorCode) { + return p.ErrorCode +} + +var EchoResponse_Info_DEFAULT *Info + +func (p *EchoResponse) GetInfo() (v *Info) { + if !p.IsSetInfo() { + return EchoResponse_Info_DEFAULT + } + return p.Info +} +func (p *EchoResponse) SetMsg(val string) { + p.Msg = val +} +func (p *EchoResponse) SetI8(val int8) { + p.I8 = val +} +func (p *EchoResponse) SetI16(val int16) { + p.I16 = val +} +func (p *EchoResponse) SetI32(val int32) { + p.I32 = val +} +func (p *EchoResponse) SetI64(val int64) { + p.I64 = val +} +func (p *EchoResponse) SetBinary(val []byte) { + p.Binary = val +} +func (p *EchoResponse) SetMap(val map[string]string) { + p.Map = val +} +func (p *EchoResponse) SetSet(val []string) { + p.Set = val +} +func (p *EchoResponse) SetList(val []string) { + p.List = val +} +func (p *EchoResponse) SetErrorCode(val ErrorCode) { + p.ErrorCode = val +} +func (p *EchoResponse) SetInfo(val *Info) { + p.Info = val +} + +var fieldIDToName_EchoResponse = map[int16]string{ + 1: "Msg", + 2: "I8", + 3: "I16", + 4: "I32", + 5: "I64", + 6: "Binary", + 7: "Map", + 8: "Set", + 9: "List", + 10: "ErrorCode", + 11: "Info", +} + +func (p *EchoResponse) IsSetInfo() bool { + return p.Info != nil +} + +func (p *EchoResponse) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.BYTE { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.I16 { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err = p.ReadField4(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.I64 { + if err = p.ReadField5(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 6: + if fieldTypeId == thrift.STRING { + if err = p.ReadField6(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 7: + if fieldTypeId == thrift.MAP { + if err = p.ReadField7(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 8: + if fieldTypeId == thrift.SET { + if err = p.ReadField8(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 9: + if fieldTypeId == thrift.LIST { + if err = p.ReadField9(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 10: + if fieldTypeId == thrift.I32 { + if err = p.ReadField10(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 11: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField11(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EchoResponse[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *EchoResponse) ReadField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return err + } else { + p.Msg = v + } + return nil +} + +func (p *EchoResponse) ReadField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadByte(); err != nil { + return err + } else { + p.I8 = v + } + return nil +} + +func (p *EchoResponse) ReadField3(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI16(); err != nil { + return err + } else { + p.I16 = v + } + return nil +} + +func (p *EchoResponse) ReadField4(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + p.I32 = v + } + return nil +} + +func (p *EchoResponse) ReadField5(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + p.I64 = v + } + return nil +} + +func (p *EchoResponse) ReadField6(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBinary(); err != nil { + return err + } else { + p.Binary = []byte(v) + } + return nil +} + +func (p *EchoResponse) ReadField7(iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin() + if err != nil { + return err + } + p.Map = make(map[string]string, size) + for i := 0; i < size; i++ { + var _key string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _key = v + } + + var _val string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _val = v + } + + p.Map[_key] = _val + } + if err := iprot.ReadMapEnd(); err != nil { + return err + } + return nil +} + +func (p *EchoResponse) ReadField8(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadSetBegin() + if err != nil { + return err + } + p.Set = make([]string, 0, size) + for i := 0; i < size; i++ { + var _elem string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _elem = v + } + + p.Set = append(p.Set, _elem) + } + if err := iprot.ReadSetEnd(); err != nil { + return err + } + return nil +} + +func (p *EchoResponse) ReadField9(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + p.List = make([]string, 0, size) + for i := 0; i < size; i++ { + var _elem string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _elem = v + } + + p.List = append(p.List, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + return nil +} + +func (p *EchoResponse) ReadField10(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + p.ErrorCode = ErrorCode(v) + } + return nil +} + +func (p *EchoResponse) ReadField11(iprot thrift.TProtocol) error { + p.Info = NewInfo() + if err := p.Info.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *EchoResponse) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("EchoResponse"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField4(oprot); err != nil { + fieldId = 4 + goto WriteFieldError + } + if err = p.writeField5(oprot); err != nil { + fieldId = 5 + goto WriteFieldError + } + if err = p.writeField6(oprot); err != nil { + fieldId = 6 + goto WriteFieldError + } + if err = p.writeField7(oprot); err != nil { + fieldId = 7 + goto WriteFieldError + } + if err = p.writeField8(oprot); err != nil { + fieldId = 8 + goto WriteFieldError + } + if err = p.writeField9(oprot); err != nil { + fieldId = 9 + goto WriteFieldError + } + if err = p.writeField10(oprot); err != nil { + fieldId = 10 + goto WriteFieldError + } + if err = p.writeField11(oprot); err != nil { + fieldId = 11 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *EchoResponse) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("Msg", thrift.STRING, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.Msg); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *EchoResponse) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("I8", thrift.BYTE, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteByte(p.I8); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *EchoResponse) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("I16", thrift.I16, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI16(p.I16); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *EchoResponse) writeField4(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("I32", thrift.I32, 4); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(p.I32); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) +} + +func (p *EchoResponse) writeField5(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("I64", thrift.I64, 5); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.I64); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) +} + +func (p *EchoResponse) writeField6(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("Binary", thrift.STRING, 6); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteBinary([]byte(p.Binary)); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) +} + +func (p *EchoResponse) writeField7(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("Map", thrift.MAP, 7); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(p.Map)); err != nil { + return err + } + for k, v := range p.Map { + + if err := oprot.WriteString(k); err != nil { + return err + } + + if err := oprot.WriteString(v); err != nil { + return err + } + } + if err := oprot.WriteMapEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 7 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 7 end error: ", p), err) +} + +func (p *EchoResponse) writeField8(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("Set", thrift.SET, 8); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteSetBegin(thrift.STRING, len(p.Set)); err != nil { + return err + } + for i := 0; i < len(p.Set); i++ { + for j := i + 1; j < len(p.Set); j++ { + if func(tgt, src string) bool { + if strings.Compare(tgt, src) != 0 { + return false + } + return true + }(p.Set[i], p.Set[j]) { + return thrift.PrependError("", fmt.Errorf("%T error writing set field: slice is not unique", p.Set[i])) + } + } + } + for _, v := range p.Set { + if err := oprot.WriteString(v); err != nil { + return err + } + } + if err := oprot.WriteSetEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 8 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 8 end error: ", p), err) +} + +func (p *EchoResponse) writeField9(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("List", thrift.LIST, 9); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRING, len(p.List)); err != nil { + return err + } + for _, v := range p.List { + if err := oprot.WriteString(v); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 9 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 9 end error: ", p), err) +} + +func (p *EchoResponse) writeField10(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("ErrorCode", thrift.I32, 10); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(int32(p.ErrorCode)); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 10 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 10 end error: ", p), err) +} + +func (p *EchoResponse) writeField11(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("Info", thrift.STRUCT, 11); err != nil { + goto WriteFieldBeginError + } + if err := p.Info.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 11 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 11 end error: ", p), err) +} + +func (p *EchoResponse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("EchoResponse(%+v)", *p) +} + +func (p *EchoResponse) DeepEqual(ano *EchoResponse) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Msg) { + return false + } + if !p.Field2DeepEqual(ano.I8) { + return false + } + if !p.Field3DeepEqual(ano.I16) { + return false + } + if !p.Field4DeepEqual(ano.I32) { + return false + } + if !p.Field5DeepEqual(ano.I64) { + return false + } + if !p.Field6DeepEqual(ano.Binary) { + return false + } + if !p.Field7DeepEqual(ano.Map) { + return false + } + if !p.Field8DeepEqual(ano.Set) { + return false + } + if !p.Field9DeepEqual(ano.List) { + return false + } + if !p.Field10DeepEqual(ano.ErrorCode) { + return false + } + if !p.Field11DeepEqual(ano.Info) { + return false + } + return true +} + +func (p *EchoResponse) Field1DeepEqual(src string) bool { + + if strings.Compare(p.Msg, src) != 0 { + return false + } + return true +} +func (p *EchoResponse) Field2DeepEqual(src int8) bool { + + if p.I8 != src { + return false + } + return true +} +func (p *EchoResponse) Field3DeepEqual(src int16) bool { + + if p.I16 != src { + return false + } + return true +} +func (p *EchoResponse) Field4DeepEqual(src int32) bool { + + if p.I32 != src { + return false + } + return true +} +func (p *EchoResponse) Field5DeepEqual(src int64) bool { + + if p.I64 != src { + return false + } + return true +} +func (p *EchoResponse) Field6DeepEqual(src []byte) bool { + + if bytes.Compare(p.Binary, src) != 0 { + return false + } + return true +} +func (p *EchoResponse) Field7DeepEqual(src map[string]string) bool { + + if len(p.Map) != len(src) { + return false + } + for k, v := range p.Map { + _src := src[k] + if strings.Compare(v, _src) != 0 { + return false + } + } + return true +} +func (p *EchoResponse) Field8DeepEqual(src []string) bool { + + if len(p.Set) != len(src) { + return false + } + for i, v := range p.Set { + _src := src[i] + if strings.Compare(v, _src) != 0 { + return false + } + } + return true +} +func (p *EchoResponse) Field9DeepEqual(src []string) bool { + + if len(p.List) != len(src) { + return false + } + for i, v := range p.List { + _src := src[i] + if strings.Compare(v, _src) != 0 { + return false + } + } + return true +} +func (p *EchoResponse) Field10DeepEqual(src ErrorCode) bool { + + if p.ErrorCode != src { + return false + } + return true +} +func (p *EchoResponse) Field11DeepEqual(src *Info) bool { + + if !p.Info.DeepEqual(src) { + return false + } + return true +} + +type EchoService interface { + Echo(ctx context.Context, request *EchoRequest) (r *EchoResponse, err error) + + EchoOneway(ctx context.Context, request *EchoRequest) (err error) +} + +type EchoServiceClient struct { + c thrift.TClient +} + +func NewEchoServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *EchoServiceClient { + return &EchoServiceClient{ + c: thrift.NewTStandardClient(f.GetProtocol(t), f.GetProtocol(t)), + } +} + +func NewEchoServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *EchoServiceClient { + return &EchoServiceClient{ + c: thrift.NewTStandardClient(iprot, oprot), + } +} + +func NewEchoServiceClient(c thrift.TClient) *EchoServiceClient { + return &EchoServiceClient{ + c: c, + } +} + +func (p *EchoServiceClient) Client_() thrift.TClient { + return p.c +} + +func (p *EchoServiceClient) Echo(ctx context.Context, request *EchoRequest) (r *EchoResponse, err error) { + var _args EchoServiceEchoArgs + _args.Request = request + var _result EchoServiceEchoResult + if err = p.Client_().Call(ctx, "Echo", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *EchoServiceClient) EchoOneway(ctx context.Context, request *EchoRequest) (err error) { + var _args EchoServiceEchoOnewayArgs + _args.Request = request + if err = p.Client_().Call(ctx, "EchoOneway", &_args, nil); err != nil { + return + } + return nil +} + +type EchoServiceProcessor struct { + processorMap map[string]thrift.TProcessorFunction + handler EchoService +} + +func (p *EchoServiceProcessor) AddToProcessorMap(key string, processor thrift.TProcessorFunction) { + p.processorMap[key] = processor +} + +func (p *EchoServiceProcessor) GetProcessorFunction(key string) (processor thrift.TProcessorFunction, ok bool) { + processor, ok = p.processorMap[key] + return processor, ok +} + +func (p *EchoServiceProcessor) ProcessorMap() map[string]thrift.TProcessorFunction { + return p.processorMap +} + +func NewEchoServiceProcessor(handler EchoService) *EchoServiceProcessor { + self := &EchoServiceProcessor{handler: handler, processorMap: make(map[string]thrift.TProcessorFunction)} + self.AddToProcessorMap("Echo", &echoServiceProcessorEcho{handler: handler}) + self.AddToProcessorMap("EchoOneway", &echoServiceProcessorEchoOneway{handler: handler}) + return self +} +func (p *EchoServiceProcessor) Process(ctx context.Context, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + name, _, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return false, err + } + if processor, ok := p.GetProcessorFunction(name); ok { + return processor.Process(ctx, seqId, iprot, oprot) + } + iprot.Skip(thrift.STRUCT) + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name) + oprot.WriteMessageBegin(name, thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, x +} + +type echoServiceProcessorEcho struct { + handler EchoService +} + +func (p *echoServiceProcessorEcho) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := EchoServiceEchoArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("Echo", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := EchoServiceEchoResult{} + var retval *EchoResponse + if retval, err2 = p.handler.Echo(ctx, args.Request); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing Echo: "+err2.Error()) + oprot.WriteMessageBegin("Echo", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("Echo", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type echoServiceProcessorEchoOneway struct { + handler EchoService +} + +func (p *echoServiceProcessorEchoOneway) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := EchoServiceEchoOnewayArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + if err2 = p.handler.EchoOneway(ctx, args.Request); err2 != nil { + return true, err2 + } + return true, nil +} + +type EchoServiceEchoArgs struct { + Request *EchoRequest `thrift:"request,1" frugal:"1,default,EchoRequest" json:"request"` +} + +func NewEchoServiceEchoArgs() *EchoServiceEchoArgs { + return &EchoServiceEchoArgs{} +} + +func (p *EchoServiceEchoArgs) InitDefault() { + *p = EchoServiceEchoArgs{} +} + +var EchoServiceEchoArgs_Request_DEFAULT *EchoRequest + +func (p *EchoServiceEchoArgs) GetRequest() (v *EchoRequest) { + if !p.IsSetRequest() { + return EchoServiceEchoArgs_Request_DEFAULT + } + return p.Request +} +func (p *EchoServiceEchoArgs) SetRequest(val *EchoRequest) { + p.Request = val +} + +var fieldIDToName_EchoServiceEchoArgs = map[int16]string{ + 1: "request", +} + +func (p *EchoServiceEchoArgs) IsSetRequest() bool { + return p.Request != nil +} + +func (p *EchoServiceEchoArgs) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EchoServiceEchoArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *EchoServiceEchoArgs) ReadField1(iprot thrift.TProtocol) error { + p.Request = NewEchoRequest() + if err := p.Request.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *EchoServiceEchoArgs) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("Echo_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *EchoServiceEchoArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("request", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Request.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *EchoServiceEchoArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("EchoServiceEchoArgs(%+v)", *p) +} + +func (p *EchoServiceEchoArgs) DeepEqual(ano *EchoServiceEchoArgs) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Request) { + return false + } + return true +} + +func (p *EchoServiceEchoArgs) Field1DeepEqual(src *EchoRequest) bool { + + if !p.Request.DeepEqual(src) { + return false + } + return true +} + +type EchoServiceEchoResult struct { + Success *EchoResponse `thrift:"success,0,optional" frugal:"0,optional,EchoResponse" json:"success,omitempty"` +} + +func NewEchoServiceEchoResult() *EchoServiceEchoResult { + return &EchoServiceEchoResult{} +} + +func (p *EchoServiceEchoResult) InitDefault() { + *p = EchoServiceEchoResult{} +} + +var EchoServiceEchoResult_Success_DEFAULT *EchoResponse + +func (p *EchoServiceEchoResult) GetSuccess() (v *EchoResponse) { + if !p.IsSetSuccess() { + return EchoServiceEchoResult_Success_DEFAULT + } + return p.Success +} +func (p *EchoServiceEchoResult) SetSuccess(x interface{}) { + p.Success = x.(*EchoResponse) +} + +var fieldIDToName_EchoServiceEchoResult = map[int16]string{ + 0: "success", +} + +func (p *EchoServiceEchoResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *EchoServiceEchoResult) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EchoServiceEchoResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *EchoServiceEchoResult) ReadField0(iprot thrift.TProtocol) error { + p.Success = NewEchoResponse() + if err := p.Success.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *EchoServiceEchoResult) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("Echo_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *EchoServiceEchoResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *EchoServiceEchoResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("EchoServiceEchoResult(%+v)", *p) +} + +func (p *EchoServiceEchoResult) DeepEqual(ano *EchoServiceEchoResult) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field0DeepEqual(ano.Success) { + return false + } + return true +} + +func (p *EchoServiceEchoResult) Field0DeepEqual(src *EchoResponse) bool { + + if !p.Success.DeepEqual(src) { + return false + } + return true +} + +type EchoServiceEchoOnewayArgs struct { + Request *EchoRequest `thrift:"request,1" frugal:"1,default,EchoRequest" json:"request"` +} + +func NewEchoServiceEchoOnewayArgs() *EchoServiceEchoOnewayArgs { + return &EchoServiceEchoOnewayArgs{} +} + +func (p *EchoServiceEchoOnewayArgs) InitDefault() { + *p = EchoServiceEchoOnewayArgs{} +} + +var EchoServiceEchoOnewayArgs_Request_DEFAULT *EchoRequest + +func (p *EchoServiceEchoOnewayArgs) GetRequest() (v *EchoRequest) { + if !p.IsSetRequest() { + return EchoServiceEchoOnewayArgs_Request_DEFAULT + } + return p.Request +} +func (p *EchoServiceEchoOnewayArgs) SetRequest(val *EchoRequest) { + p.Request = val +} + +var fieldIDToName_EchoServiceEchoOnewayArgs = map[int16]string{ + 1: "request", +} + +func (p *EchoServiceEchoOnewayArgs) IsSetRequest() bool { + return p.Request != nil +} + +func (p *EchoServiceEchoOnewayArgs) Read(iprot thrift.TProtocol) (err error) { + + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EchoServiceEchoOnewayArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *EchoServiceEchoOnewayArgs) ReadField1(iprot thrift.TProtocol) error { + p.Request = NewEchoRequest() + if err := p.Request.Read(iprot); err != nil { + return err + } + return nil +} + +func (p *EchoServiceEchoOnewayArgs) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("EchoOneway_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *EchoServiceEchoOnewayArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("request", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Request.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *EchoServiceEchoOnewayArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("EchoServiceEchoOnewayArgs(%+v)", *p) +} + +func (p *EchoServiceEchoOnewayArgs) DeepEqual(ano *EchoServiceEchoOnewayArgs) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Request) { + return false + } + return true +} + +func (p *EchoServiceEchoOnewayArgs) Field1DeepEqual(src *EchoRequest) bool { + + if !p.Request.DeepEqual(src) { + return false + } + return true +} diff --git a/thriftrpc/client.go b/thriftrpc/client.go index 898a972..fd747e7 100644 --- a/thriftrpc/client.go +++ b/thriftrpc/client.go @@ -112,6 +112,11 @@ func CreateSTRequest(ctx context.Context) (context.Context, *stability.STRequest utils.RandomString(100), } req.E = stability.TestEnum_FIRST + req.SubMsgs = map[int32]*instparam.SubMessage{ + 32: { + Id: thrift.Int64Ptr(32), + }, + } ctx = metainfo.WithValue(ctx, "TK", "TV") ctx = metainfo.WithPersistentValue(ctx, "PK", "PV") diff --git a/thriftrpc/server.go b/thriftrpc/server.go index d2e4733..9b1d03c 100644 --- a/thriftrpc/server.go +++ b/thriftrpc/server.go @@ -78,13 +78,18 @@ type STServiceHandler struct{} // TestSTReq . func (*STServiceHandler) TestSTReq(ctx context.Context, req *stability.STRequest) (r *stability.STResponse, err error) { + nreq := &stability.STRequest{} + err = nreq.DeepCopy(req) + if err != nil { + return nil, err + } resp := &stability.STResponse{ - Str: req.Str, - Mp: req.StringMap, - FlagMsg: req.FlagMsg, + Str: nreq.Str, + Mp: nreq.StringMap, + FlagMsg: nreq.FlagMsg, } - if req.MockCost != nil { - if mockSleep, err := time.ParseDuration(*req.MockCost); err != nil { + if nreq.MockCost != nil { + if mockSleep, err := time.ParseDuration(*nreq.MockCost); err != nil { return nil, err } else { time.Sleep(mockSleep)