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