1/* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 20package thrift 21 22// Autogenerated by Thrift Compiler (FIXME) 23// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING 24 25/* THE FOLLOWING THRIFT FILE WAS USED TO CREATE THIS 26 27enum MyTestEnum { 28 FIRST = 1, 29 SECOND = 2, 30 THIRD = 3, 31 FOURTH = 4, 32} 33 34struct MyTestStruct { 35 1: bool on, 36 2: byte b, 37 3: i16 int16, 38 4: i32 int32, 39 5: i64 int64, 40 6: double d, 41 7: string st, 42 8: binary bin, 43 9: map<string, string> stringMap, 44 10: list<string> stringList, 45 11: set<string> stringSet, 46 12: MyTestEnum e, 47} 48*/ 49 50import ( 51 "context" 52 "fmt" 53) 54 55// (needed to ensure safety because of naive import list construction.) 56var _ = ZERO 57var _ = fmt.Printf 58 59var GoUnusedProtection__ int 60 61type MyTestEnum int64 62 63const ( 64 MyTestEnum_FIRST MyTestEnum = 1 65 MyTestEnum_SECOND MyTestEnum = 2 66 MyTestEnum_THIRD MyTestEnum = 3 67 MyTestEnum_FOURTH MyTestEnum = 4 68) 69 70func (p MyTestEnum) String() string { 71 switch p { 72 case MyTestEnum_FIRST: 73 return "FIRST" 74 case MyTestEnum_SECOND: 75 return "SECOND" 76 case MyTestEnum_THIRD: 77 return "THIRD" 78 case MyTestEnum_FOURTH: 79 return "FOURTH" 80 } 81 return "<UNSET>" 82} 83 84func MyTestEnumFromString(s string) (MyTestEnum, error) { 85 switch s { 86 case "FIRST": 87 return MyTestEnum_FIRST, nil 88 case "SECOND": 89 return MyTestEnum_SECOND, nil 90 case "THIRD": 91 return MyTestEnum_THIRD, nil 92 case "FOURTH": 93 return MyTestEnum_FOURTH, nil 94 } 95 return MyTestEnum(0), fmt.Errorf("not a valid MyTestEnum string") 96} 97 98func MyTestEnumPtr(v MyTestEnum) *MyTestEnum { return &v } 99 100type MyTestStruct struct { 101 On bool `thrift:"on,1" json:"on"` 102 B int8 `thrift:"b,2" json:"b"` 103 Int16 int16 `thrift:"int16,3" json:"int16"` 104 Int32 int32 `thrift:"int32,4" json:"int32"` 105 Int64 int64 `thrift:"int64,5" json:"int64"` 106 D float64 `thrift:"d,6" json:"d"` 107 St string `thrift:"st,7" json:"st"` 108 Bin []byte `thrift:"bin,8" json:"bin"` 109 StringMap map[string]string `thrift:"stringMap,9" json:"stringMap"` 110 StringList []string `thrift:"stringList,10" json:"stringList"` 111 StringSet map[string]struct{} `thrift:"stringSet,11" json:"stringSet"` 112 E MyTestEnum `thrift:"e,12" json:"e"` 113} 114 115func NewMyTestStruct() *MyTestStruct { 116 return &MyTestStruct{} 117} 118 119func (p *MyTestStruct) GetOn() bool { 120 return p.On 121} 122 123func (p *MyTestStruct) GetB() int8 { 124 return p.B 125} 126 127func (p *MyTestStruct) GetInt16() int16 { 128 return p.Int16 129} 130 131func (p *MyTestStruct) GetInt32() int32 { 132 return p.Int32 133} 134 135func (p *MyTestStruct) GetInt64() int64 { 136 return p.Int64 137} 138 139func (p *MyTestStruct) GetD() float64 { 140 return p.D 141} 142 143func (p *MyTestStruct) GetSt() string { 144 return p.St 145} 146 147func (p *MyTestStruct) GetBin() []byte { 148 return p.Bin 149} 150 151func (p *MyTestStruct) GetStringMap() map[string]string { 152 return p.StringMap 153} 154 155func (p *MyTestStruct) GetStringList() []string { 156 return p.StringList 157} 158 159func (p *MyTestStruct) GetStringSet() map[string]struct{} { 160 return p.StringSet 161} 162 163func (p *MyTestStruct) GetE() MyTestEnum { 164 return p.E 165} 166func (p *MyTestStruct) Read(ctx context.Context, iprot TProtocol) error { 167 if _, err := iprot.ReadStructBegin(ctx); err != nil { 168 return PrependError(fmt.Sprintf("%T read error: ", p), err) 169 } 170 for { 171 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) 172 if err != nil { 173 return PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 174 } 175 if fieldTypeId == STOP { 176 break 177 } 178 switch fieldId { 179 case 1: 180 if err := p.readField1(ctx, iprot); err != nil { 181 return err 182 } 183 case 2: 184 if err := p.readField2(ctx, iprot); err != nil { 185 return err 186 } 187 case 3: 188 if err := p.readField3(ctx, iprot); err != nil { 189 return err 190 } 191 case 4: 192 if err := p.readField4(ctx, iprot); err != nil { 193 return err 194 } 195 case 5: 196 if err := p.readField5(ctx, iprot); err != nil { 197 return err 198 } 199 case 6: 200 if err := p.readField6(ctx, iprot); err != nil { 201 return err 202 } 203 case 7: 204 if err := p.readField7(ctx, iprot); err != nil { 205 return err 206 } 207 case 8: 208 if err := p.readField8(ctx, iprot); err != nil { 209 return err 210 } 211 case 9: 212 if err := p.readField9(ctx, iprot); err != nil { 213 return err 214 } 215 case 10: 216 if err := p.readField10(ctx, iprot); err != nil { 217 return err 218 } 219 case 11: 220 if err := p.readField11(ctx, iprot); err != nil { 221 return err 222 } 223 case 12: 224 if err := p.readField12(ctx, iprot); err != nil { 225 return err 226 } 227 default: 228 if err := iprot.Skip(ctx, fieldTypeId); err != nil { 229 return err 230 } 231 } 232 if err := iprot.ReadFieldEnd(ctx); err != nil { 233 return err 234 } 235 } 236 if err := iprot.ReadStructEnd(ctx); err != nil { 237 return PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 238 } 239 return nil 240} 241 242func (p *MyTestStruct) readField1(ctx context.Context, iprot TProtocol) error { 243 if v, err := iprot.ReadBool(ctx); err != nil { 244 return PrependError("error reading field 1: ", err) 245 } else { 246 p.On = v 247 } 248 return nil 249} 250 251func (p *MyTestStruct) readField2(ctx context.Context, iprot TProtocol) error { 252 if v, err := iprot.ReadByte(ctx); err != nil { 253 return PrependError("error reading field 2: ", err) 254 } else { 255 temp := int8(v) 256 p.B = temp 257 } 258 return nil 259} 260 261func (p *MyTestStruct) readField3(ctx context.Context, iprot TProtocol) error { 262 if v, err := iprot.ReadI16(ctx); err != nil { 263 return PrependError("error reading field 3: ", err) 264 } else { 265 p.Int16 = v 266 } 267 return nil 268} 269 270func (p *MyTestStruct) readField4(ctx context.Context, iprot TProtocol) error { 271 if v, err := iprot.ReadI32(ctx); err != nil { 272 return PrependError("error reading field 4: ", err) 273 } else { 274 p.Int32 = v 275 } 276 return nil 277} 278 279func (p *MyTestStruct) readField5(ctx context.Context, iprot TProtocol) error { 280 if v, err := iprot.ReadI64(ctx); err != nil { 281 return PrependError("error reading field 5: ", err) 282 } else { 283 p.Int64 = v 284 } 285 return nil 286} 287 288func (p *MyTestStruct) readField6(ctx context.Context, iprot TProtocol) error { 289 if v, err := iprot.ReadDouble(ctx); err != nil { 290 return PrependError("error reading field 6: ", err) 291 } else { 292 p.D = v 293 } 294 return nil 295} 296 297func (p *MyTestStruct) readField7(ctx context.Context, iprot TProtocol) error { 298 if v, err := iprot.ReadString(ctx); err != nil { 299 return PrependError("error reading field 7: ", err) 300 } else { 301 p.St = v 302 } 303 return nil 304} 305 306func (p *MyTestStruct) readField8(ctx context.Context, iprot TProtocol) error { 307 if v, err := iprot.ReadBinary(ctx); err != nil { 308 return PrependError("error reading field 8: ", err) 309 } else { 310 p.Bin = v 311 } 312 return nil 313} 314 315func (p *MyTestStruct) readField9(ctx context.Context, iprot TProtocol) error { 316 _, _, size, err := iprot.ReadMapBegin(ctx) 317 if err != nil { 318 return PrependError("error reading map begin: ", err) 319 } 320 tMap := make(map[string]string, size) 321 p.StringMap = tMap 322 for i := 0; i < size; i++ { 323 var _key0 string 324 if v, err := iprot.ReadString(ctx); err != nil { 325 return PrependError("error reading field 0: ", err) 326 } else { 327 _key0 = v 328 } 329 var _val1 string 330 if v, err := iprot.ReadString(ctx); err != nil { 331 return PrependError("error reading field 0: ", err) 332 } else { 333 _val1 = v 334 } 335 p.StringMap[_key0] = _val1 336 } 337 if err := iprot.ReadMapEnd(ctx); err != nil { 338 return PrependError("error reading map end: ", err) 339 } 340 return nil 341} 342 343func (p *MyTestStruct) readField10(ctx context.Context, iprot TProtocol) error { 344 _, size, err := iprot.ReadListBegin(ctx) 345 if err != nil { 346 return PrependError("error reading list begin: ", err) 347 } 348 tSlice := make([]string, 0, size) 349 p.StringList = tSlice 350 for i := 0; i < size; i++ { 351 var _elem2 string 352 if v, err := iprot.ReadString(ctx); err != nil { 353 return PrependError("error reading field 0: ", err) 354 } else { 355 _elem2 = v 356 } 357 p.StringList = append(p.StringList, _elem2) 358 } 359 if err := iprot.ReadListEnd(ctx); err != nil { 360 return PrependError("error reading list end: ", err) 361 } 362 return nil 363} 364 365func (p *MyTestStruct) readField11(ctx context.Context, iprot TProtocol) error { 366 _, size, err := iprot.ReadSetBegin(ctx) 367 if err != nil { 368 return PrependError("error reading set begin: ", err) 369 } 370 tSet := make(map[string]struct{}, size) 371 p.StringSet = tSet 372 for i := 0; i < size; i++ { 373 var _elem3 string 374 if v, err := iprot.ReadString(ctx); err != nil { 375 return PrependError("error reading field 0: ", err) 376 } else { 377 _elem3 = v 378 } 379 p.StringSet[_elem3] = struct{}{} 380 } 381 if err := iprot.ReadSetEnd(ctx); err != nil { 382 return PrependError("error reading set end: ", err) 383 } 384 return nil 385} 386 387func (p *MyTestStruct) readField12(ctx context.Context, iprot TProtocol) error { 388 if v, err := iprot.ReadI32(ctx); err != nil { 389 return PrependError("error reading field 12: ", err) 390 } else { 391 temp := MyTestEnum(v) 392 p.E = temp 393 } 394 return nil 395} 396 397func (p *MyTestStruct) Write(ctx context.Context, oprot TProtocol) error { 398 if err := oprot.WriteStructBegin(ctx, "MyTestStruct"); err != nil { 399 return PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 400 } 401 if err := p.writeField1(ctx, oprot); err != nil { 402 return err 403 } 404 if err := p.writeField2(ctx, oprot); err != nil { 405 return err 406 } 407 if err := p.writeField3(ctx, oprot); err != nil { 408 return err 409 } 410 if err := p.writeField4(ctx, oprot); err != nil { 411 return err 412 } 413 if err := p.writeField5(ctx, oprot); err != nil { 414 return err 415 } 416 if err := p.writeField6(ctx, oprot); err != nil { 417 return err 418 } 419 if err := p.writeField7(ctx, oprot); err != nil { 420 return err 421 } 422 if err := p.writeField8(ctx, oprot); err != nil { 423 return err 424 } 425 if err := p.writeField9(ctx, oprot); err != nil { 426 return err 427 } 428 if err := p.writeField10(ctx, oprot); err != nil { 429 return err 430 } 431 if err := p.writeField11(ctx, oprot); err != nil { 432 return err 433 } 434 if err := p.writeField12(ctx, oprot); err != nil { 435 return err 436 } 437 if err := oprot.WriteFieldStop(ctx); err != nil { 438 return PrependError("write field stop error: ", err) 439 } 440 if err := oprot.WriteStructEnd(ctx); err != nil { 441 return PrependError("write struct stop error: ", err) 442 } 443 return nil 444} 445 446func (p *MyTestStruct) writeField1(ctx context.Context, oprot TProtocol) (err error) { 447 if err := oprot.WriteFieldBegin(ctx, "on", BOOL, 1); err != nil { 448 return PrependError(fmt.Sprintf("%T write field begin error 1:on: ", p), err) 449 } 450 if err := oprot.WriteBool(ctx, bool(p.On)); err != nil { 451 return PrependError(fmt.Sprintf("%T.on (1) field write error: ", p), err) 452 } 453 if err := oprot.WriteFieldEnd(ctx); err != nil { 454 return PrependError(fmt.Sprintf("%T write field end error 1:on: ", p), err) 455 } 456 return err 457} 458 459func (p *MyTestStruct) writeField2(ctx context.Context, oprot TProtocol) (err error) { 460 if err := oprot.WriteFieldBegin(ctx, "b", BYTE, 2); err != nil { 461 return PrependError(fmt.Sprintf("%T write field begin error 2:b: ", p), err) 462 } 463 if err := oprot.WriteByte(ctx, int8(p.B)); err != nil { 464 return PrependError(fmt.Sprintf("%T.b (2) field write error: ", p), err) 465 } 466 if err := oprot.WriteFieldEnd(ctx); err != nil { 467 return PrependError(fmt.Sprintf("%T write field end error 2:b: ", p), err) 468 } 469 return err 470} 471 472func (p *MyTestStruct) writeField3(ctx context.Context, oprot TProtocol) (err error) { 473 if err := oprot.WriteFieldBegin(ctx, "int16", I16, 3); err != nil { 474 return PrependError(fmt.Sprintf("%T write field begin error 3:int16: ", p), err) 475 } 476 if err := oprot.WriteI16(ctx, int16(p.Int16)); err != nil { 477 return PrependError(fmt.Sprintf("%T.int16 (3) field write error: ", p), err) 478 } 479 if err := oprot.WriteFieldEnd(ctx); err != nil { 480 return PrependError(fmt.Sprintf("%T write field end error 3:int16: ", p), err) 481 } 482 return err 483} 484 485func (p *MyTestStruct) writeField4(ctx context.Context, oprot TProtocol) (err error) { 486 if err := oprot.WriteFieldBegin(ctx, "int32", I32, 4); err != nil { 487 return PrependError(fmt.Sprintf("%T write field begin error 4:int32: ", p), err) 488 } 489 if err := oprot.WriteI32(ctx, int32(p.Int32)); err != nil { 490 return PrependError(fmt.Sprintf("%T.int32 (4) field write error: ", p), err) 491 } 492 if err := oprot.WriteFieldEnd(ctx); err != nil { 493 return PrependError(fmt.Sprintf("%T write field end error 4:int32: ", p), err) 494 } 495 return err 496} 497 498func (p *MyTestStruct) writeField5(ctx context.Context, oprot TProtocol) (err error) { 499 if err := oprot.WriteFieldBegin(ctx, "int64", I64, 5); err != nil { 500 return PrependError(fmt.Sprintf("%T write field begin error 5:int64: ", p), err) 501 } 502 if err := oprot.WriteI64(ctx, int64(p.Int64)); err != nil { 503 return PrependError(fmt.Sprintf("%T.int64 (5) field write error: ", p), err) 504 } 505 if err := oprot.WriteFieldEnd(ctx); err != nil { 506 return PrependError(fmt.Sprintf("%T write field end error 5:int64: ", p), err) 507 } 508 return err 509} 510 511func (p *MyTestStruct) writeField6(ctx context.Context, oprot TProtocol) (err error) { 512 if err := oprot.WriteFieldBegin(ctx, "d", DOUBLE, 6); err != nil { 513 return PrependError(fmt.Sprintf("%T write field begin error 6:d: ", p), err) 514 } 515 if err := oprot.WriteDouble(ctx, float64(p.D)); err != nil { 516 return PrependError(fmt.Sprintf("%T.d (6) field write error: ", p), err) 517 } 518 if err := oprot.WriteFieldEnd(ctx); err != nil { 519 return PrependError(fmt.Sprintf("%T write field end error 6:d: ", p), err) 520 } 521 return err 522} 523 524func (p *MyTestStruct) writeField7(ctx context.Context, oprot TProtocol) (err error) { 525 if err := oprot.WriteFieldBegin(ctx, "st", STRING, 7); err != nil { 526 return PrependError(fmt.Sprintf("%T write field begin error 7:st: ", p), err) 527 } 528 if err := oprot.WriteString(ctx, string(p.St)); err != nil { 529 return PrependError(fmt.Sprintf("%T.st (7) field write error: ", p), err) 530 } 531 if err := oprot.WriteFieldEnd(ctx); err != nil { 532 return PrependError(fmt.Sprintf("%T write field end error 7:st: ", p), err) 533 } 534 return err 535} 536 537func (p *MyTestStruct) writeField8(ctx context.Context, oprot TProtocol) (err error) { 538 if err := oprot.WriteFieldBegin(ctx, "bin", STRING, 8); err != nil { 539 return PrependError(fmt.Sprintf("%T write field begin error 8:bin: ", p), err) 540 } 541 if err := oprot.WriteBinary(ctx, p.Bin); err != nil { 542 return PrependError(fmt.Sprintf("%T.bin (8) field write error: ", p), err) 543 } 544 if err := oprot.WriteFieldEnd(ctx); err != nil { 545 return PrependError(fmt.Sprintf("%T write field end error 8:bin: ", p), err) 546 } 547 return err 548} 549 550func (p *MyTestStruct) writeField9(ctx context.Context, oprot TProtocol) (err error) { 551 if err := oprot.WriteFieldBegin(ctx, "stringMap", MAP, 9); err != nil { 552 return PrependError(fmt.Sprintf("%T write field begin error 9:stringMap: ", p), err) 553 } 554 if err := oprot.WriteMapBegin(ctx, STRING, STRING, len(p.StringMap)); err != nil { 555 return PrependError("error writing map begin: ", err) 556 } 557 for k, v := range p.StringMap { 558 if err := oprot.WriteString(ctx, string(k)); err != nil { 559 return PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) 560 } 561 if err := oprot.WriteString(ctx, string(v)); err != nil { 562 return PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) 563 } 564 } 565 if err := oprot.WriteMapEnd(ctx); err != nil { 566 return PrependError("error writing map end: ", err) 567 } 568 if err := oprot.WriteFieldEnd(ctx); err != nil { 569 return PrependError(fmt.Sprintf("%T write field end error 9:stringMap: ", p), err) 570 } 571 return err 572} 573 574func (p *MyTestStruct) writeField10(ctx context.Context, oprot TProtocol) (err error) { 575 if err := oprot.WriteFieldBegin(ctx, "stringList", LIST, 10); err != nil { 576 return PrependError(fmt.Sprintf("%T write field begin error 10:stringList: ", p), err) 577 } 578 if err := oprot.WriteListBegin(ctx, STRING, len(p.StringList)); err != nil { 579 return PrependError("error writing list begin: ", err) 580 } 581 for _, v := range p.StringList { 582 if err := oprot.WriteString(ctx, string(v)); err != nil { 583 return PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) 584 } 585 } 586 if err := oprot.WriteListEnd(ctx); err != nil { 587 return PrependError("error writing list end: ", err) 588 } 589 if err := oprot.WriteFieldEnd(ctx); err != nil { 590 return PrependError(fmt.Sprintf("%T write field end error 10:stringList: ", p), err) 591 } 592 return err 593} 594 595func (p *MyTestStruct) writeField11(ctx context.Context, oprot TProtocol) (err error) { 596 if err := oprot.WriteFieldBegin(ctx, "stringSet", SET, 11); err != nil { 597 return PrependError(fmt.Sprintf("%T write field begin error 11:stringSet: ", p), err) 598 } 599 if err := oprot.WriteSetBegin(ctx, STRING, len(p.StringSet)); err != nil { 600 return PrependError("error writing set begin: ", err) 601 } 602 for v := range p.StringSet { 603 if err := oprot.WriteString(ctx, string(v)); err != nil { 604 return PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) 605 } 606 } 607 if err := oprot.WriteSetEnd(ctx); err != nil { 608 return PrependError("error writing set end: ", err) 609 } 610 if err := oprot.WriteFieldEnd(ctx); err != nil { 611 return PrependError(fmt.Sprintf("%T write field end error 11:stringSet: ", p), err) 612 } 613 return err 614} 615 616func (p *MyTestStruct) writeField12(ctx context.Context, oprot TProtocol) (err error) { 617 if err := oprot.WriteFieldBegin(ctx, "e", I32, 12); err != nil { 618 return PrependError(fmt.Sprintf("%T write field begin error 12:e: ", p), err) 619 } 620 if err := oprot.WriteI32(ctx, int32(p.E)); err != nil { 621 return PrependError(fmt.Sprintf("%T.e (12) field write error: ", p), err) 622 } 623 if err := oprot.WriteFieldEnd(ctx); err != nil { 624 return PrependError(fmt.Sprintf("%T write field end error 12:e: ", p), err) 625 } 626 return err 627} 628 629func (p *MyTestStruct) String() string { 630 if p == nil { 631 return "<nil>" 632 } 633 return fmt.Sprintf("MyTestStruct(%+v)", *p) 634} 635