github.com/Uptycs/basequery-go@v0.8.0/gen/osquery/osquery.go (about)

     1  // Code generated by Thrift Compiler (0.14.2). DO NOT EDIT.
     2  
     3  package osquery
     4  
     5  import (
     6  	"bytes"
     7  	"context"
     8  	"database/sql/driver"
     9  	"errors"
    10  	"fmt"
    11  	"github.com/apache/thrift/lib/go/thrift"
    12  	"time"
    13  )
    14  
    15  // (needed to ensure safety because of naive import list construction.)
    16  var _ = thrift.ZERO
    17  var _ = fmt.Printf
    18  var _ = context.Background
    19  var _ = time.Now
    20  var _ = bytes.Equal
    21  
    22  type ExtensionCode int64
    23  
    24  const (
    25  	ExtensionCode_EXT_SUCCESS ExtensionCode = 0
    26  	ExtensionCode_EXT_FAILED  ExtensionCode = 1
    27  	ExtensionCode_EXT_FATAL   ExtensionCode = 2
    28  )
    29  
    30  func (p ExtensionCode) String() string {
    31  	switch p {
    32  	case ExtensionCode_EXT_SUCCESS:
    33  		return "EXT_SUCCESS"
    34  	case ExtensionCode_EXT_FAILED:
    35  		return "EXT_FAILED"
    36  	case ExtensionCode_EXT_FATAL:
    37  		return "EXT_FATAL"
    38  	}
    39  	return "<UNSET>"
    40  }
    41  
    42  func ExtensionCodeFromString(s string) (ExtensionCode, error) {
    43  	switch s {
    44  	case "EXT_SUCCESS":
    45  		return ExtensionCode_EXT_SUCCESS, nil
    46  	case "EXT_FAILED":
    47  		return ExtensionCode_EXT_FAILED, nil
    48  	case "EXT_FATAL":
    49  		return ExtensionCode_EXT_FATAL, nil
    50  	}
    51  	return ExtensionCode(0), fmt.Errorf("not a valid ExtensionCode string")
    52  }
    53  
    54  func ExtensionCodePtr(v ExtensionCode) *ExtensionCode { return &v }
    55  
    56  func (p ExtensionCode) MarshalText() ([]byte, error) {
    57  	return []byte(p.String()), nil
    58  }
    59  
    60  func (p *ExtensionCode) UnmarshalText(text []byte) error {
    61  	q, err := ExtensionCodeFromString(string(text))
    62  	if err != nil {
    63  		return err
    64  	}
    65  	*p = q
    66  	return nil
    67  }
    68  
    69  func (p *ExtensionCode) Scan(value interface{}) error {
    70  	v, ok := value.(int64)
    71  	if !ok {
    72  		return errors.New("Scan value is not int64")
    73  	}
    74  	*p = ExtensionCode(v)
    75  	return nil
    76  }
    77  
    78  func (p *ExtensionCode) Value() (driver.Value, error) {
    79  	if p == nil {
    80  		return nil, nil
    81  	}
    82  	return int64(*p), nil
    83  }
    84  
    85  type ExtensionPluginRequest map[string]string
    86  
    87  func ExtensionPluginRequestPtr(v ExtensionPluginRequest) *ExtensionPluginRequest { return &v }
    88  
    89  type ExtensionPluginResponse []map[string]string
    90  
    91  func ExtensionPluginResponsePtr(v ExtensionPluginResponse) *ExtensionPluginResponse { return &v }
    92  
    93  type InternalOptionList map[string]*InternalOptionInfo
    94  
    95  func InternalOptionListPtr(v InternalOptionList) *InternalOptionList { return &v }
    96  
    97  type ExtensionRouteUUID int64
    98  
    99  func ExtensionRouteUUIDPtr(v ExtensionRouteUUID) *ExtensionRouteUUID { return &v }
   100  
   101  type ExtensionRouteTable map[string]ExtensionPluginResponse
   102  
   103  func ExtensionRouteTablePtr(v ExtensionRouteTable) *ExtensionRouteTable { return &v }
   104  
   105  type ExtensionRegistry map[string]ExtensionRouteTable
   106  
   107  func ExtensionRegistryPtr(v ExtensionRegistry) *ExtensionRegistry { return &v }
   108  
   109  type InternalExtensionList map[ExtensionRouteUUID]*InternalExtensionInfo
   110  
   111  func InternalExtensionListPtr(v InternalExtensionList) *InternalExtensionList { return &v }
   112  
   113  // Attributes:
   114  //  - Value
   115  //  - DefaultValue
   116  //  - Type
   117  type InternalOptionInfo struct {
   118  	Value        string `thrift:"value,1" db:"value" json:"value"`
   119  	DefaultValue string `thrift:"default_value,2" db:"default_value" json:"default_value"`
   120  	Type         string `thrift:"type,3" db:"type" json:"type"`
   121  }
   122  
   123  func NewInternalOptionInfo() *InternalOptionInfo {
   124  	return &InternalOptionInfo{}
   125  }
   126  
   127  func (p *InternalOptionInfo) GetValue() string {
   128  	return p.Value
   129  }
   130  
   131  func (p *InternalOptionInfo) GetDefaultValue() string {
   132  	return p.DefaultValue
   133  }
   134  
   135  func (p *InternalOptionInfo) GetType() string {
   136  	return p.Type
   137  }
   138  func (p *InternalOptionInfo) Read(ctx context.Context, iprot thrift.TProtocol) error {
   139  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
   140  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
   141  	}
   142  
   143  	for {
   144  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
   145  		if err != nil {
   146  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
   147  		}
   148  		if fieldTypeId == thrift.STOP {
   149  			break
   150  		}
   151  		switch fieldId {
   152  		case 1:
   153  			if fieldTypeId == thrift.STRING {
   154  				if err := p.ReadField1(ctx, iprot); err != nil {
   155  					return err
   156  				}
   157  			} else {
   158  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
   159  					return err
   160  				}
   161  			}
   162  		case 2:
   163  			if fieldTypeId == thrift.STRING {
   164  				if err := p.ReadField2(ctx, iprot); err != nil {
   165  					return err
   166  				}
   167  			} else {
   168  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
   169  					return err
   170  				}
   171  			}
   172  		case 3:
   173  			if fieldTypeId == thrift.STRING {
   174  				if err := p.ReadField3(ctx, iprot); err != nil {
   175  					return err
   176  				}
   177  			} else {
   178  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
   179  					return err
   180  				}
   181  			}
   182  		default:
   183  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
   184  				return err
   185  			}
   186  		}
   187  		if err := iprot.ReadFieldEnd(ctx); err != nil {
   188  			return err
   189  		}
   190  	}
   191  	if err := iprot.ReadStructEnd(ctx); err != nil {
   192  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
   193  	}
   194  	return nil
   195  }
   196  
   197  func (p *InternalOptionInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
   198  	if v, err := iprot.ReadString(ctx); err != nil {
   199  		return thrift.PrependError("error reading field 1: ", err)
   200  	} else {
   201  		p.Value = v
   202  	}
   203  	return nil
   204  }
   205  
   206  func (p *InternalOptionInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
   207  	if v, err := iprot.ReadString(ctx); err != nil {
   208  		return thrift.PrependError("error reading field 2: ", err)
   209  	} else {
   210  		p.DefaultValue = v
   211  	}
   212  	return nil
   213  }
   214  
   215  func (p *InternalOptionInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
   216  	if v, err := iprot.ReadString(ctx); err != nil {
   217  		return thrift.PrependError("error reading field 3: ", err)
   218  	} else {
   219  		p.Type = v
   220  	}
   221  	return nil
   222  }
   223  
   224  func (p *InternalOptionInfo) Write(ctx context.Context, oprot thrift.TProtocol) error {
   225  	if err := oprot.WriteStructBegin(ctx, "InternalOptionInfo"); err != nil {
   226  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
   227  	}
   228  	if p != nil {
   229  		if err := p.writeField1(ctx, oprot); err != nil {
   230  			return err
   231  		}
   232  		if err := p.writeField2(ctx, oprot); err != nil {
   233  			return err
   234  		}
   235  		if err := p.writeField3(ctx, oprot); err != nil {
   236  			return err
   237  		}
   238  	}
   239  	if err := oprot.WriteFieldStop(ctx); err != nil {
   240  		return thrift.PrependError("write field stop error: ", err)
   241  	}
   242  	if err := oprot.WriteStructEnd(ctx); err != nil {
   243  		return thrift.PrependError("write struct stop error: ", err)
   244  	}
   245  	return nil
   246  }
   247  
   248  func (p *InternalOptionInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
   249  	if err := oprot.WriteFieldBegin(ctx, "value", thrift.STRING, 1); err != nil {
   250  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:value: ", p), err)
   251  	}
   252  	if err := oprot.WriteString(ctx, string(p.Value)); err != nil {
   253  		return thrift.PrependError(fmt.Sprintf("%T.value (1) field write error: ", p), err)
   254  	}
   255  	if err := oprot.WriteFieldEnd(ctx); err != nil {
   256  		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:value: ", p), err)
   257  	}
   258  	return err
   259  }
   260  
   261  func (p *InternalOptionInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
   262  	if err := oprot.WriteFieldBegin(ctx, "default_value", thrift.STRING, 2); err != nil {
   263  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:default_value: ", p), err)
   264  	}
   265  	if err := oprot.WriteString(ctx, string(p.DefaultValue)); err != nil {
   266  		return thrift.PrependError(fmt.Sprintf("%T.default_value (2) field write error: ", p), err)
   267  	}
   268  	if err := oprot.WriteFieldEnd(ctx); err != nil {
   269  		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:default_value: ", p), err)
   270  	}
   271  	return err
   272  }
   273  
   274  func (p *InternalOptionInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
   275  	if err := oprot.WriteFieldBegin(ctx, "type", thrift.STRING, 3); err != nil {
   276  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:type: ", p), err)
   277  	}
   278  	if err := oprot.WriteString(ctx, string(p.Type)); err != nil {
   279  		return thrift.PrependError(fmt.Sprintf("%T.type (3) field write error: ", p), err)
   280  	}
   281  	if err := oprot.WriteFieldEnd(ctx); err != nil {
   282  		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:type: ", p), err)
   283  	}
   284  	return err
   285  }
   286  
   287  func (p *InternalOptionInfo) Equals(other *InternalOptionInfo) bool {
   288  	if p == other {
   289  		return true
   290  	} else if p == nil || other == nil {
   291  		return false
   292  	}
   293  	if p.Value != other.Value {
   294  		return false
   295  	}
   296  	if p.DefaultValue != other.DefaultValue {
   297  		return false
   298  	}
   299  	if p.Type != other.Type {
   300  		return false
   301  	}
   302  	return true
   303  }
   304  
   305  func (p *InternalOptionInfo) String() string {
   306  	if p == nil {
   307  		return "<nil>"
   308  	}
   309  	return fmt.Sprintf("InternalOptionInfo(%+v)", *p)
   310  }
   311  
   312  // Attributes:
   313  //  - Name
   314  //  - Version
   315  //  - SdkVersion
   316  //  - MinSdkVersion
   317  type InternalExtensionInfo struct {
   318  	Name          string `thrift:"name,1" db:"name" json:"name"`
   319  	Version       string `thrift:"version,2" db:"version" json:"version"`
   320  	SdkVersion    string `thrift:"sdk_version,3" db:"sdk_version" json:"sdk_version"`
   321  	MinSdkVersion string `thrift:"min_sdk_version,4" db:"min_sdk_version" json:"min_sdk_version"`
   322  }
   323  
   324  func NewInternalExtensionInfo() *InternalExtensionInfo {
   325  	return &InternalExtensionInfo{}
   326  }
   327  
   328  func (p *InternalExtensionInfo) GetName() string {
   329  	return p.Name
   330  }
   331  
   332  func (p *InternalExtensionInfo) GetVersion() string {
   333  	return p.Version
   334  }
   335  
   336  func (p *InternalExtensionInfo) GetSdkVersion() string {
   337  	return p.SdkVersion
   338  }
   339  
   340  func (p *InternalExtensionInfo) GetMinSdkVersion() string {
   341  	return p.MinSdkVersion
   342  }
   343  func (p *InternalExtensionInfo) Read(ctx context.Context, iprot thrift.TProtocol) error {
   344  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
   345  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
   346  	}
   347  
   348  	for {
   349  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
   350  		if err != nil {
   351  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
   352  		}
   353  		if fieldTypeId == thrift.STOP {
   354  			break
   355  		}
   356  		switch fieldId {
   357  		case 1:
   358  			if fieldTypeId == thrift.STRING {
   359  				if err := p.ReadField1(ctx, iprot); err != nil {
   360  					return err
   361  				}
   362  			} else {
   363  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
   364  					return err
   365  				}
   366  			}
   367  		case 2:
   368  			if fieldTypeId == thrift.STRING {
   369  				if err := p.ReadField2(ctx, iprot); err != nil {
   370  					return err
   371  				}
   372  			} else {
   373  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
   374  					return err
   375  				}
   376  			}
   377  		case 3:
   378  			if fieldTypeId == thrift.STRING {
   379  				if err := p.ReadField3(ctx, iprot); err != nil {
   380  					return err
   381  				}
   382  			} else {
   383  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
   384  					return err
   385  				}
   386  			}
   387  		case 4:
   388  			if fieldTypeId == thrift.STRING {
   389  				if err := p.ReadField4(ctx, iprot); err != nil {
   390  					return err
   391  				}
   392  			} else {
   393  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
   394  					return err
   395  				}
   396  			}
   397  		default:
   398  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
   399  				return err
   400  			}
   401  		}
   402  		if err := iprot.ReadFieldEnd(ctx); err != nil {
   403  			return err
   404  		}
   405  	}
   406  	if err := iprot.ReadStructEnd(ctx); err != nil {
   407  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
   408  	}
   409  	return nil
   410  }
   411  
   412  func (p *InternalExtensionInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
   413  	if v, err := iprot.ReadString(ctx); err != nil {
   414  		return thrift.PrependError("error reading field 1: ", err)
   415  	} else {
   416  		p.Name = v
   417  	}
   418  	return nil
   419  }
   420  
   421  func (p *InternalExtensionInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
   422  	if v, err := iprot.ReadString(ctx); err != nil {
   423  		return thrift.PrependError("error reading field 2: ", err)
   424  	} else {
   425  		p.Version = v
   426  	}
   427  	return nil
   428  }
   429  
   430  func (p *InternalExtensionInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
   431  	if v, err := iprot.ReadString(ctx); err != nil {
   432  		return thrift.PrependError("error reading field 3: ", err)
   433  	} else {
   434  		p.SdkVersion = v
   435  	}
   436  	return nil
   437  }
   438  
   439  func (p *InternalExtensionInfo) ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
   440  	if v, err := iprot.ReadString(ctx); err != nil {
   441  		return thrift.PrependError("error reading field 4: ", err)
   442  	} else {
   443  		p.MinSdkVersion = v
   444  	}
   445  	return nil
   446  }
   447  
   448  func (p *InternalExtensionInfo) Write(ctx context.Context, oprot thrift.TProtocol) error {
   449  	if err := oprot.WriteStructBegin(ctx, "InternalExtensionInfo"); err != nil {
   450  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
   451  	}
   452  	if p != nil {
   453  		if err := p.writeField1(ctx, oprot); err != nil {
   454  			return err
   455  		}
   456  		if err := p.writeField2(ctx, oprot); err != nil {
   457  			return err
   458  		}
   459  		if err := p.writeField3(ctx, oprot); err != nil {
   460  			return err
   461  		}
   462  		if err := p.writeField4(ctx, oprot); err != nil {
   463  			return err
   464  		}
   465  	}
   466  	if err := oprot.WriteFieldStop(ctx); err != nil {
   467  		return thrift.PrependError("write field stop error: ", err)
   468  	}
   469  	if err := oprot.WriteStructEnd(ctx); err != nil {
   470  		return thrift.PrependError("write struct stop error: ", err)
   471  	}
   472  	return nil
   473  }
   474  
   475  func (p *InternalExtensionInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
   476  	if err := oprot.WriteFieldBegin(ctx, "name", thrift.STRING, 1); err != nil {
   477  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:name: ", p), err)
   478  	}
   479  	if err := oprot.WriteString(ctx, string(p.Name)); err != nil {
   480  		return thrift.PrependError(fmt.Sprintf("%T.name (1) field write error: ", p), err)
   481  	}
   482  	if err := oprot.WriteFieldEnd(ctx); err != nil {
   483  		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:name: ", p), err)
   484  	}
   485  	return err
   486  }
   487  
   488  func (p *InternalExtensionInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
   489  	if err := oprot.WriteFieldBegin(ctx, "version", thrift.STRING, 2); err != nil {
   490  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:version: ", p), err)
   491  	}
   492  	if err := oprot.WriteString(ctx, string(p.Version)); err != nil {
   493  		return thrift.PrependError(fmt.Sprintf("%T.version (2) field write error: ", p), err)
   494  	}
   495  	if err := oprot.WriteFieldEnd(ctx); err != nil {
   496  		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:version: ", p), err)
   497  	}
   498  	return err
   499  }
   500  
   501  func (p *InternalExtensionInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
   502  	if err := oprot.WriteFieldBegin(ctx, "sdk_version", thrift.STRING, 3); err != nil {
   503  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:sdk_version: ", p), err)
   504  	}
   505  	if err := oprot.WriteString(ctx, string(p.SdkVersion)); err != nil {
   506  		return thrift.PrependError(fmt.Sprintf("%T.sdk_version (3) field write error: ", p), err)
   507  	}
   508  	if err := oprot.WriteFieldEnd(ctx); err != nil {
   509  		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:sdk_version: ", p), err)
   510  	}
   511  	return err
   512  }
   513  
   514  func (p *InternalExtensionInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
   515  	if err := oprot.WriteFieldBegin(ctx, "min_sdk_version", thrift.STRING, 4); err != nil {
   516  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:min_sdk_version: ", p), err)
   517  	}
   518  	if err := oprot.WriteString(ctx, string(p.MinSdkVersion)); err != nil {
   519  		return thrift.PrependError(fmt.Sprintf("%T.min_sdk_version (4) field write error: ", p), err)
   520  	}
   521  	if err := oprot.WriteFieldEnd(ctx); err != nil {
   522  		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:min_sdk_version: ", p), err)
   523  	}
   524  	return err
   525  }
   526  
   527  func (p *InternalExtensionInfo) Equals(other *InternalExtensionInfo) bool {
   528  	if p == other {
   529  		return true
   530  	} else if p == nil || other == nil {
   531  		return false
   532  	}
   533  	if p.Name != other.Name {
   534  		return false
   535  	}
   536  	if p.Version != other.Version {
   537  		return false
   538  	}
   539  	if p.SdkVersion != other.SdkVersion {
   540  		return false
   541  	}
   542  	if p.MinSdkVersion != other.MinSdkVersion {
   543  		return false
   544  	}
   545  	return true
   546  }
   547  
   548  func (p *InternalExtensionInfo) String() string {
   549  	if p == nil {
   550  		return "<nil>"
   551  	}
   552  	return fmt.Sprintf("InternalExtensionInfo(%+v)", *p)
   553  }
   554  
   555  // Attributes:
   556  //  - Code
   557  //  - Message
   558  //  - UUID
   559  type ExtensionStatus struct {
   560  	Code    int32              `thrift:"code,1" db:"code" json:"code"`
   561  	Message string             `thrift:"message,2" db:"message" json:"message"`
   562  	UUID    ExtensionRouteUUID `thrift:"uuid,3" db:"uuid" json:"uuid"`
   563  }
   564  
   565  func NewExtensionStatus() *ExtensionStatus {
   566  	return &ExtensionStatus{}
   567  }
   568  
   569  func (p *ExtensionStatus) GetCode() int32 {
   570  	return p.Code
   571  }
   572  
   573  func (p *ExtensionStatus) GetMessage() string {
   574  	return p.Message
   575  }
   576  
   577  func (p *ExtensionStatus) GetUUID() ExtensionRouteUUID {
   578  	return p.UUID
   579  }
   580  func (p *ExtensionStatus) Read(ctx context.Context, iprot thrift.TProtocol) error {
   581  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
   582  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
   583  	}
   584  
   585  	for {
   586  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
   587  		if err != nil {
   588  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
   589  		}
   590  		if fieldTypeId == thrift.STOP {
   591  			break
   592  		}
   593  		switch fieldId {
   594  		case 1:
   595  			if fieldTypeId == thrift.I32 {
   596  				if err := p.ReadField1(ctx, iprot); err != nil {
   597  					return err
   598  				}
   599  			} else {
   600  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
   601  					return err
   602  				}
   603  			}
   604  		case 2:
   605  			if fieldTypeId == thrift.STRING {
   606  				if err := p.ReadField2(ctx, iprot); err != nil {
   607  					return err
   608  				}
   609  			} else {
   610  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
   611  					return err
   612  				}
   613  			}
   614  		case 3:
   615  			if fieldTypeId == thrift.I64 {
   616  				if err := p.ReadField3(ctx, iprot); err != nil {
   617  					return err
   618  				}
   619  			} else {
   620  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
   621  					return err
   622  				}
   623  			}
   624  		default:
   625  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
   626  				return err
   627  			}
   628  		}
   629  		if err := iprot.ReadFieldEnd(ctx); err != nil {
   630  			return err
   631  		}
   632  	}
   633  	if err := iprot.ReadStructEnd(ctx); err != nil {
   634  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
   635  	}
   636  	return nil
   637  }
   638  
   639  func (p *ExtensionStatus) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
   640  	if v, err := iprot.ReadI32(ctx); err != nil {
   641  		return thrift.PrependError("error reading field 1: ", err)
   642  	} else {
   643  		p.Code = v
   644  	}
   645  	return nil
   646  }
   647  
   648  func (p *ExtensionStatus) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
   649  	if v, err := iprot.ReadString(ctx); err != nil {
   650  		return thrift.PrependError("error reading field 2: ", err)
   651  	} else {
   652  		p.Message = v
   653  	}
   654  	return nil
   655  }
   656  
   657  func (p *ExtensionStatus) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
   658  	if v, err := iprot.ReadI64(ctx); err != nil {
   659  		return thrift.PrependError("error reading field 3: ", err)
   660  	} else {
   661  		temp := ExtensionRouteUUID(v)
   662  		p.UUID = temp
   663  	}
   664  	return nil
   665  }
   666  
   667  func (p *ExtensionStatus) Write(ctx context.Context, oprot thrift.TProtocol) error {
   668  	if err := oprot.WriteStructBegin(ctx, "ExtensionStatus"); err != nil {
   669  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
   670  	}
   671  	if p != nil {
   672  		if err := p.writeField1(ctx, oprot); err != nil {
   673  			return err
   674  		}
   675  		if err := p.writeField2(ctx, oprot); err != nil {
   676  			return err
   677  		}
   678  		if err := p.writeField3(ctx, oprot); err != nil {
   679  			return err
   680  		}
   681  	}
   682  	if err := oprot.WriteFieldStop(ctx); err != nil {
   683  		return thrift.PrependError("write field stop error: ", err)
   684  	}
   685  	if err := oprot.WriteStructEnd(ctx); err != nil {
   686  		return thrift.PrependError("write struct stop error: ", err)
   687  	}
   688  	return nil
   689  }
   690  
   691  func (p *ExtensionStatus) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
   692  	if err := oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil {
   693  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:code: ", p), err)
   694  	}
   695  	if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil {
   696  		return thrift.PrependError(fmt.Sprintf("%T.code (1) field write error: ", p), err)
   697  	}
   698  	if err := oprot.WriteFieldEnd(ctx); err != nil {
   699  		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:code: ", p), err)
   700  	}
   701  	return err
   702  }
   703  
   704  func (p *ExtensionStatus) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
   705  	if err := oprot.WriteFieldBegin(ctx, "message", thrift.STRING, 2); err != nil {
   706  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:message: ", p), err)
   707  	}
   708  	if err := oprot.WriteString(ctx, string(p.Message)); err != nil {
   709  		return thrift.PrependError(fmt.Sprintf("%T.message (2) field write error: ", p), err)
   710  	}
   711  	if err := oprot.WriteFieldEnd(ctx); err != nil {
   712  		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:message: ", p), err)
   713  	}
   714  	return err
   715  }
   716  
   717  func (p *ExtensionStatus) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
   718  	if err := oprot.WriteFieldBegin(ctx, "uuid", thrift.I64, 3); err != nil {
   719  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:uuid: ", p), err)
   720  	}
   721  	if err := oprot.WriteI64(ctx, int64(p.UUID)); err != nil {
   722  		return thrift.PrependError(fmt.Sprintf("%T.uuid (3) field write error: ", p), err)
   723  	}
   724  	if err := oprot.WriteFieldEnd(ctx); err != nil {
   725  		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:uuid: ", p), err)
   726  	}
   727  	return err
   728  }
   729  
   730  func (p *ExtensionStatus) Equals(other *ExtensionStatus) bool {
   731  	if p == other {
   732  		return true
   733  	} else if p == nil || other == nil {
   734  		return false
   735  	}
   736  	if p.Code != other.Code {
   737  		return false
   738  	}
   739  	if p.Message != other.Message {
   740  		return false
   741  	}
   742  	if p.UUID != other.UUID {
   743  		return false
   744  	}
   745  	return true
   746  }
   747  
   748  func (p *ExtensionStatus) String() string {
   749  	if p == nil {
   750  		return "<nil>"
   751  	}
   752  	return fmt.Sprintf("ExtensionStatus(%+v)", *p)
   753  }
   754  
   755  // Attributes:
   756  //  - Status
   757  //  - Response
   758  type ExtensionResponse struct {
   759  	Status   *ExtensionStatus        `thrift:"status,1" db:"status" json:"status"`
   760  	Response ExtensionPluginResponse `thrift:"response,2" db:"response" json:"response"`
   761  }
   762  
   763  func NewExtensionResponse() *ExtensionResponse {
   764  	return &ExtensionResponse{}
   765  }
   766  
   767  var ExtensionResponse_Status_DEFAULT *ExtensionStatus
   768  
   769  func (p *ExtensionResponse) GetStatus() *ExtensionStatus {
   770  	if !p.IsSetStatus() {
   771  		return ExtensionResponse_Status_DEFAULT
   772  	}
   773  	return p.Status
   774  }
   775  
   776  func (p *ExtensionResponse) GetResponse() ExtensionPluginResponse {
   777  	return p.Response
   778  }
   779  func (p *ExtensionResponse) IsSetStatus() bool {
   780  	return p.Status != nil
   781  }
   782  
   783  func (p *ExtensionResponse) Read(ctx context.Context, iprot thrift.TProtocol) error {
   784  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
   785  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
   786  	}
   787  
   788  	for {
   789  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
   790  		if err != nil {
   791  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
   792  		}
   793  		if fieldTypeId == thrift.STOP {
   794  			break
   795  		}
   796  		switch fieldId {
   797  		case 1:
   798  			if fieldTypeId == thrift.STRUCT {
   799  				if err := p.ReadField1(ctx, iprot); err != nil {
   800  					return err
   801  				}
   802  			} else {
   803  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
   804  					return err
   805  				}
   806  			}
   807  		case 2:
   808  			if fieldTypeId == thrift.LIST {
   809  				if err := p.ReadField2(ctx, iprot); err != nil {
   810  					return err
   811  				}
   812  			} else {
   813  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
   814  					return err
   815  				}
   816  			}
   817  		default:
   818  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
   819  				return err
   820  			}
   821  		}
   822  		if err := iprot.ReadFieldEnd(ctx); err != nil {
   823  			return err
   824  		}
   825  	}
   826  	if err := iprot.ReadStructEnd(ctx); err != nil {
   827  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
   828  	}
   829  	return nil
   830  }
   831  
   832  func (p *ExtensionResponse) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
   833  	p.Status = &ExtensionStatus{}
   834  	if err := p.Status.Read(ctx, iprot); err != nil {
   835  		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Status), err)
   836  	}
   837  	return nil
   838  }
   839  
   840  func (p *ExtensionResponse) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
   841  	_, size, err := iprot.ReadListBegin(ctx)
   842  	if err != nil {
   843  		return thrift.PrependError("error reading list begin: ", err)
   844  	}
   845  	tSlice := make(ExtensionPluginResponse, 0, size)
   846  	p.Response = tSlice
   847  	for i := 0; i < size; i++ {
   848  		_, _, size, err := iprot.ReadMapBegin(ctx)
   849  		if err != nil {
   850  			return thrift.PrependError("error reading map begin: ", err)
   851  		}
   852  		tMap := make(map[string]string, size)
   853  		_elem0 := tMap
   854  		for i := 0; i < size; i++ {
   855  			var _key1 string
   856  			if v, err := iprot.ReadString(ctx); err != nil {
   857  				return thrift.PrependError("error reading field 0: ", err)
   858  			} else {
   859  				_key1 = v
   860  			}
   861  			var _val2 string
   862  			if v, err := iprot.ReadString(ctx); err != nil {
   863  				return thrift.PrependError("error reading field 0: ", err)
   864  			} else {
   865  				_val2 = v
   866  			}
   867  			_elem0[_key1] = _val2
   868  		}
   869  		if err := iprot.ReadMapEnd(ctx); err != nil {
   870  			return thrift.PrependError("error reading map end: ", err)
   871  		}
   872  		p.Response = append(p.Response, _elem0)
   873  	}
   874  	if err := iprot.ReadListEnd(ctx); err != nil {
   875  		return thrift.PrependError("error reading list end: ", err)
   876  	}
   877  	return nil
   878  }
   879  
   880  func (p *ExtensionResponse) Write(ctx context.Context, oprot thrift.TProtocol) error {
   881  	if err := oprot.WriteStructBegin(ctx, "ExtensionResponse"); err != nil {
   882  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
   883  	}
   884  	if p != nil {
   885  		if err := p.writeField1(ctx, oprot); err != nil {
   886  			return err
   887  		}
   888  		if err := p.writeField2(ctx, oprot); err != nil {
   889  			return err
   890  		}
   891  	}
   892  	if err := oprot.WriteFieldStop(ctx); err != nil {
   893  		return thrift.PrependError("write field stop error: ", err)
   894  	}
   895  	if err := oprot.WriteStructEnd(ctx); err != nil {
   896  		return thrift.PrependError("write struct stop error: ", err)
   897  	}
   898  	return nil
   899  }
   900  
   901  func (p *ExtensionResponse) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
   902  	if err := oprot.WriteFieldBegin(ctx, "status", thrift.STRUCT, 1); err != nil {
   903  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:status: ", p), err)
   904  	}
   905  	if err := p.Status.Write(ctx, oprot); err != nil {
   906  		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Status), err)
   907  	}
   908  	if err := oprot.WriteFieldEnd(ctx); err != nil {
   909  		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:status: ", p), err)
   910  	}
   911  	return err
   912  }
   913  
   914  func (p *ExtensionResponse) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
   915  	if err := oprot.WriteFieldBegin(ctx, "response", thrift.LIST, 2); err != nil {
   916  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:response: ", p), err)
   917  	}
   918  	if err := oprot.WriteListBegin(ctx, thrift.MAP, len(p.Response)); err != nil {
   919  		return thrift.PrependError("error writing list begin: ", err)
   920  	}
   921  	for _, v := range p.Response {
   922  		if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRING, len(v)); err != nil {
   923  			return thrift.PrependError("error writing map begin: ", err)
   924  		}
   925  		for k, v := range v {
   926  			if err := oprot.WriteString(ctx, string(k)); err != nil {
   927  				return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
   928  			}
   929  			if err := oprot.WriteString(ctx, string(v)); err != nil {
   930  				return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
   931  			}
   932  		}
   933  		if err := oprot.WriteMapEnd(ctx); err != nil {
   934  			return thrift.PrependError("error writing map end: ", err)
   935  		}
   936  	}
   937  	if err := oprot.WriteListEnd(ctx); err != nil {
   938  		return thrift.PrependError("error writing list end: ", err)
   939  	}
   940  	if err := oprot.WriteFieldEnd(ctx); err != nil {
   941  		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:response: ", p), err)
   942  	}
   943  	return err
   944  }
   945  
   946  func (p *ExtensionResponse) Equals(other *ExtensionResponse) bool {
   947  	if p == other {
   948  		return true
   949  	} else if p == nil || other == nil {
   950  		return false
   951  	}
   952  	if !p.Status.Equals(other.Status) {
   953  		return false
   954  	}
   955  	if len(p.Response) != len(other.Response) {
   956  		return false
   957  	}
   958  	for i, _tgt := range p.Response {
   959  		_src3 := other.Response[i]
   960  		if len(_tgt) != len(_src3) {
   961  			return false
   962  		}
   963  		for k, _tgt := range _tgt {
   964  			_src4 := _src3[k]
   965  			if _tgt != _src4 {
   966  				return false
   967  			}
   968  		}
   969  	}
   970  	return true
   971  }
   972  
   973  func (p *ExtensionResponse) String() string {
   974  	if p == nil {
   975  		return "<nil>"
   976  	}
   977  	return fmt.Sprintf("ExtensionResponse(%+v)", *p)
   978  }
   979  
   980  // Attributes:
   981  //  - Code
   982  //  - Message
   983  //  - UUID
   984  type ExtensionException struct {
   985  	Code    int32              `thrift:"code,1" db:"code" json:"code"`
   986  	Message string             `thrift:"message,2" db:"message" json:"message"`
   987  	UUID    ExtensionRouteUUID `thrift:"uuid,3" db:"uuid" json:"uuid"`
   988  }
   989  
   990  func NewExtensionException() *ExtensionException {
   991  	return &ExtensionException{}
   992  }
   993  
   994  func (p *ExtensionException) GetCode() int32 {
   995  	return p.Code
   996  }
   997  
   998  func (p *ExtensionException) GetMessage() string {
   999  	return p.Message
  1000  }
  1001  
  1002  func (p *ExtensionException) GetUUID() ExtensionRouteUUID {
  1003  	return p.UUID
  1004  }
  1005  func (p *ExtensionException) Read(ctx context.Context, iprot thrift.TProtocol) error {
  1006  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  1007  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  1008  	}
  1009  
  1010  	for {
  1011  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  1012  		if err != nil {
  1013  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  1014  		}
  1015  		if fieldTypeId == thrift.STOP {
  1016  			break
  1017  		}
  1018  		switch fieldId {
  1019  		case 1:
  1020  			if fieldTypeId == thrift.I32 {
  1021  				if err := p.ReadField1(ctx, iprot); err != nil {
  1022  					return err
  1023  				}
  1024  			} else {
  1025  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  1026  					return err
  1027  				}
  1028  			}
  1029  		case 2:
  1030  			if fieldTypeId == thrift.STRING {
  1031  				if err := p.ReadField2(ctx, iprot); err != nil {
  1032  					return err
  1033  				}
  1034  			} else {
  1035  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  1036  					return err
  1037  				}
  1038  			}
  1039  		case 3:
  1040  			if fieldTypeId == thrift.I64 {
  1041  				if err := p.ReadField3(ctx, iprot); err != nil {
  1042  					return err
  1043  				}
  1044  			} else {
  1045  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  1046  					return err
  1047  				}
  1048  			}
  1049  		default:
  1050  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  1051  				return err
  1052  			}
  1053  		}
  1054  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  1055  			return err
  1056  		}
  1057  	}
  1058  	if err := iprot.ReadStructEnd(ctx); err != nil {
  1059  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  1060  	}
  1061  	return nil
  1062  }
  1063  
  1064  func (p *ExtensionException) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
  1065  	if v, err := iprot.ReadI32(ctx); err != nil {
  1066  		return thrift.PrependError("error reading field 1: ", err)
  1067  	} else {
  1068  		p.Code = v
  1069  	}
  1070  	return nil
  1071  }
  1072  
  1073  func (p *ExtensionException) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
  1074  	if v, err := iprot.ReadString(ctx); err != nil {
  1075  		return thrift.PrependError("error reading field 2: ", err)
  1076  	} else {
  1077  		p.Message = v
  1078  	}
  1079  	return nil
  1080  }
  1081  
  1082  func (p *ExtensionException) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
  1083  	if v, err := iprot.ReadI64(ctx); err != nil {
  1084  		return thrift.PrependError("error reading field 3: ", err)
  1085  	} else {
  1086  		temp := ExtensionRouteUUID(v)
  1087  		p.UUID = temp
  1088  	}
  1089  	return nil
  1090  }
  1091  
  1092  func (p *ExtensionException) Write(ctx context.Context, oprot thrift.TProtocol) error {
  1093  	if err := oprot.WriteStructBegin(ctx, "ExtensionException"); err != nil {
  1094  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  1095  	}
  1096  	if p != nil {
  1097  		if err := p.writeField1(ctx, oprot); err != nil {
  1098  			return err
  1099  		}
  1100  		if err := p.writeField2(ctx, oprot); err != nil {
  1101  			return err
  1102  		}
  1103  		if err := p.writeField3(ctx, oprot); err != nil {
  1104  			return err
  1105  		}
  1106  	}
  1107  	if err := oprot.WriteFieldStop(ctx); err != nil {
  1108  		return thrift.PrependError("write field stop error: ", err)
  1109  	}
  1110  	if err := oprot.WriteStructEnd(ctx); err != nil {
  1111  		return thrift.PrependError("write struct stop error: ", err)
  1112  	}
  1113  	return nil
  1114  }
  1115  
  1116  func (p *ExtensionException) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
  1117  	if err := oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil {
  1118  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:code: ", p), err)
  1119  	}
  1120  	if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil {
  1121  		return thrift.PrependError(fmt.Sprintf("%T.code (1) field write error: ", p), err)
  1122  	}
  1123  	if err := oprot.WriteFieldEnd(ctx); err != nil {
  1124  		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:code: ", p), err)
  1125  	}
  1126  	return err
  1127  }
  1128  
  1129  func (p *ExtensionException) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
  1130  	if err := oprot.WriteFieldBegin(ctx, "message", thrift.STRING, 2); err != nil {
  1131  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:message: ", p), err)
  1132  	}
  1133  	if err := oprot.WriteString(ctx, string(p.Message)); err != nil {
  1134  		return thrift.PrependError(fmt.Sprintf("%T.message (2) field write error: ", p), err)
  1135  	}
  1136  	if err := oprot.WriteFieldEnd(ctx); err != nil {
  1137  		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:message: ", p), err)
  1138  	}
  1139  	return err
  1140  }
  1141  
  1142  func (p *ExtensionException) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
  1143  	if err := oprot.WriteFieldBegin(ctx, "uuid", thrift.I64, 3); err != nil {
  1144  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:uuid: ", p), err)
  1145  	}
  1146  	if err := oprot.WriteI64(ctx, int64(p.UUID)); err != nil {
  1147  		return thrift.PrependError(fmt.Sprintf("%T.uuid (3) field write error: ", p), err)
  1148  	}
  1149  	if err := oprot.WriteFieldEnd(ctx); err != nil {
  1150  		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:uuid: ", p), err)
  1151  	}
  1152  	return err
  1153  }
  1154  
  1155  func (p *ExtensionException) Equals(other *ExtensionException) bool {
  1156  	if p == other {
  1157  		return true
  1158  	} else if p == nil || other == nil {
  1159  		return false
  1160  	}
  1161  	if p.Code != other.Code {
  1162  		return false
  1163  	}
  1164  	if p.Message != other.Message {
  1165  		return false
  1166  	}
  1167  	if p.UUID != other.UUID {
  1168  		return false
  1169  	}
  1170  	return true
  1171  }
  1172  
  1173  func (p *ExtensionException) String() string {
  1174  	if p == nil {
  1175  		return "<nil>"
  1176  	}
  1177  	return fmt.Sprintf("ExtensionException(%+v)", *p)
  1178  }
  1179  
  1180  func (p *ExtensionException) Error() string {
  1181  	return p.String()
  1182  }
  1183  
  1184  func (ExtensionException) TExceptionType() thrift.TExceptionType {
  1185  	return thrift.TExceptionTypeCompiled
  1186  }
  1187  
  1188  var _ thrift.TException = (*ExtensionException)(nil)
  1189  
  1190  type Extension interface {
  1191  	Ping(ctx context.Context) (_r *ExtensionStatus, _err error)
  1192  	// Parameters:
  1193  	//  - Registry
  1194  	//  - Item
  1195  	//  - Request
  1196  	Call(ctx context.Context, registry string, item string, request ExtensionPluginRequest) (_r *ExtensionResponse, _err error)
  1197  	Shutdown(ctx context.Context) (_err error)
  1198  }
  1199  
  1200  type ExtensionClient struct {
  1201  	c    thrift.TClient
  1202  	meta thrift.ResponseMeta
  1203  }
  1204  
  1205  func NewExtensionClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *ExtensionClient {
  1206  	return &ExtensionClient{
  1207  		c: thrift.NewTStandardClient(f.GetProtocol(t), f.GetProtocol(t)),
  1208  	}
  1209  }
  1210  
  1211  func NewExtensionClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *ExtensionClient {
  1212  	return &ExtensionClient{
  1213  		c: thrift.NewTStandardClient(iprot, oprot),
  1214  	}
  1215  }
  1216  
  1217  func NewExtensionClient(c thrift.TClient) *ExtensionClient {
  1218  	return &ExtensionClient{
  1219  		c: c,
  1220  	}
  1221  }
  1222  
  1223  func (p *ExtensionClient) Client_() thrift.TClient {
  1224  	return p.c
  1225  }
  1226  
  1227  func (p *ExtensionClient) LastResponseMeta_() thrift.ResponseMeta {
  1228  	return p.meta
  1229  }
  1230  
  1231  func (p *ExtensionClient) SetLastResponseMeta_(meta thrift.ResponseMeta) {
  1232  	p.meta = meta
  1233  }
  1234  
  1235  func (p *ExtensionClient) Ping(ctx context.Context) (_r *ExtensionStatus, _err error) {
  1236  	var _args5 ExtensionPingArgs
  1237  	var _result7 ExtensionPingResult
  1238  	var _meta6 thrift.ResponseMeta
  1239  	_meta6, _err = p.Client_().Call(ctx, "ping", &_args5, &_result7)
  1240  	p.SetLastResponseMeta_(_meta6)
  1241  	if _err != nil {
  1242  		return
  1243  	}
  1244  	return _result7.GetSuccess(), nil
  1245  }
  1246  
  1247  // Parameters:
  1248  //  - Registry
  1249  //  - Item
  1250  //  - Request
  1251  func (p *ExtensionClient) Call(ctx context.Context, registry string, item string, request ExtensionPluginRequest) (_r *ExtensionResponse, _err error) {
  1252  	var _args8 ExtensionCallArgs
  1253  	_args8.Registry = registry
  1254  	_args8.Item = item
  1255  	_args8.Request = request
  1256  	var _result10 ExtensionCallResult
  1257  	var _meta9 thrift.ResponseMeta
  1258  	_meta9, _err = p.Client_().Call(ctx, "call", &_args8, &_result10)
  1259  	p.SetLastResponseMeta_(_meta9)
  1260  	if _err != nil {
  1261  		return
  1262  	}
  1263  	return _result10.GetSuccess(), nil
  1264  }
  1265  
  1266  func (p *ExtensionClient) Shutdown(ctx context.Context) (_err error) {
  1267  	var _args11 ExtensionShutdownArgs
  1268  	var _result13 ExtensionShutdownResult
  1269  	var _meta12 thrift.ResponseMeta
  1270  	_meta12, _err = p.Client_().Call(ctx, "shutdown", &_args11, &_result13)
  1271  	p.SetLastResponseMeta_(_meta12)
  1272  	if _err != nil {
  1273  		return
  1274  	}
  1275  	return nil
  1276  }
  1277  
  1278  type ExtensionProcessor struct {
  1279  	processorMap map[string]thrift.TProcessorFunction
  1280  	handler      Extension
  1281  }
  1282  
  1283  func (p *ExtensionProcessor) AddToProcessorMap(key string, processor thrift.TProcessorFunction) {
  1284  	p.processorMap[key] = processor
  1285  }
  1286  
  1287  func (p *ExtensionProcessor) GetProcessorFunction(key string) (processor thrift.TProcessorFunction, ok bool) {
  1288  	processor, ok = p.processorMap[key]
  1289  	return processor, ok
  1290  }
  1291  
  1292  func (p *ExtensionProcessor) ProcessorMap() map[string]thrift.TProcessorFunction {
  1293  	return p.processorMap
  1294  }
  1295  
  1296  func NewExtensionProcessor(handler Extension) *ExtensionProcessor {
  1297  
  1298  	self14 := &ExtensionProcessor{handler: handler, processorMap: make(map[string]thrift.TProcessorFunction)}
  1299  	self14.processorMap["ping"] = &extensionProcessorPing{handler: handler}
  1300  	self14.processorMap["call"] = &extensionProcessorCall{handler: handler}
  1301  	self14.processorMap["shutdown"] = &extensionProcessorShutdown{handler: handler}
  1302  	return self14
  1303  }
  1304  
  1305  func (p *ExtensionProcessor) Process(ctx context.Context, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
  1306  	name, _, seqId, err2 := iprot.ReadMessageBegin(ctx)
  1307  	if err2 != nil {
  1308  		return false, thrift.WrapTException(err2)
  1309  	}
  1310  	if processor, ok := p.GetProcessorFunction(name); ok {
  1311  		return processor.Process(ctx, seqId, iprot, oprot)
  1312  	}
  1313  	iprot.Skip(ctx, thrift.STRUCT)
  1314  	iprot.ReadMessageEnd(ctx)
  1315  	x15 := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name)
  1316  	oprot.WriteMessageBegin(ctx, name, thrift.EXCEPTION, seqId)
  1317  	x15.Write(ctx, oprot)
  1318  	oprot.WriteMessageEnd(ctx)
  1319  	oprot.Flush(ctx)
  1320  	return false, x15
  1321  
  1322  }
  1323  
  1324  type extensionProcessorPing struct {
  1325  	handler Extension
  1326  }
  1327  
  1328  func (p *extensionProcessorPing) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
  1329  	args := ExtensionPingArgs{}
  1330  	var err2 error
  1331  	if err2 = args.Read(ctx, iprot); err2 != nil {
  1332  		iprot.ReadMessageEnd(ctx)
  1333  		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
  1334  		oprot.WriteMessageBegin(ctx, "ping", thrift.EXCEPTION, seqId)
  1335  		x.Write(ctx, oprot)
  1336  		oprot.WriteMessageEnd(ctx)
  1337  		oprot.Flush(ctx)
  1338  		return false, thrift.WrapTException(err2)
  1339  	}
  1340  	iprot.ReadMessageEnd(ctx)
  1341  
  1342  	tickerCancel := func() {}
  1343  	// Start a goroutine to do server side connectivity check.
  1344  	if thrift.ServerConnectivityCheckInterval > 0 {
  1345  		var cancel context.CancelFunc
  1346  		ctx, cancel = context.WithCancel(ctx)
  1347  		defer cancel()
  1348  		var tickerCtx context.Context
  1349  		tickerCtx, tickerCancel = context.WithCancel(context.Background())
  1350  		defer tickerCancel()
  1351  		go func(ctx context.Context, cancel context.CancelFunc) {
  1352  			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
  1353  			defer ticker.Stop()
  1354  			for {
  1355  				select {
  1356  				case <-ctx.Done():
  1357  					return
  1358  				case <-ticker.C:
  1359  					if !iprot.Transport().IsOpen() {
  1360  						cancel()
  1361  						return
  1362  					}
  1363  				}
  1364  			}
  1365  		}(tickerCtx, cancel)
  1366  	}
  1367  
  1368  	result := ExtensionPingResult{}
  1369  	var retval *ExtensionStatus
  1370  	if retval, err2 = p.handler.Ping(ctx); err2 != nil {
  1371  		tickerCancel()
  1372  		if err2 == thrift.ErrAbandonRequest {
  1373  			return false, thrift.WrapTException(err2)
  1374  		}
  1375  		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ping: "+err2.Error())
  1376  		oprot.WriteMessageBegin(ctx, "ping", thrift.EXCEPTION, seqId)
  1377  		x.Write(ctx, oprot)
  1378  		oprot.WriteMessageEnd(ctx)
  1379  		oprot.Flush(ctx)
  1380  		return true, thrift.WrapTException(err2)
  1381  	} else {
  1382  		result.Success = retval
  1383  	}
  1384  	tickerCancel()
  1385  	if err2 = oprot.WriteMessageBegin(ctx, "ping", thrift.REPLY, seqId); err2 != nil {
  1386  		err = thrift.WrapTException(err2)
  1387  	}
  1388  	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
  1389  		err = thrift.WrapTException(err2)
  1390  	}
  1391  	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
  1392  		err = thrift.WrapTException(err2)
  1393  	}
  1394  	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
  1395  		err = thrift.WrapTException(err2)
  1396  	}
  1397  	if err != nil {
  1398  		return
  1399  	}
  1400  	return true, err
  1401  }
  1402  
  1403  type extensionProcessorCall struct {
  1404  	handler Extension
  1405  }
  1406  
  1407  func (p *extensionProcessorCall) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
  1408  	args := ExtensionCallArgs{}
  1409  	var err2 error
  1410  	if err2 = args.Read(ctx, iprot); err2 != nil {
  1411  		iprot.ReadMessageEnd(ctx)
  1412  		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
  1413  		oprot.WriteMessageBegin(ctx, "call", thrift.EXCEPTION, seqId)
  1414  		x.Write(ctx, oprot)
  1415  		oprot.WriteMessageEnd(ctx)
  1416  		oprot.Flush(ctx)
  1417  		return false, thrift.WrapTException(err2)
  1418  	}
  1419  	iprot.ReadMessageEnd(ctx)
  1420  
  1421  	tickerCancel := func() {}
  1422  	// Start a goroutine to do server side connectivity check.
  1423  	if thrift.ServerConnectivityCheckInterval > 0 {
  1424  		var cancel context.CancelFunc
  1425  		ctx, cancel = context.WithCancel(ctx)
  1426  		defer cancel()
  1427  		var tickerCtx context.Context
  1428  		tickerCtx, tickerCancel = context.WithCancel(context.Background())
  1429  		defer tickerCancel()
  1430  		go func(ctx context.Context, cancel context.CancelFunc) {
  1431  			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
  1432  			defer ticker.Stop()
  1433  			for {
  1434  				select {
  1435  				case <-ctx.Done():
  1436  					return
  1437  				case <-ticker.C:
  1438  					if !iprot.Transport().IsOpen() {
  1439  						cancel()
  1440  						return
  1441  					}
  1442  				}
  1443  			}
  1444  		}(tickerCtx, cancel)
  1445  	}
  1446  
  1447  	result := ExtensionCallResult{}
  1448  	var retval *ExtensionResponse
  1449  	if retval, err2 = p.handler.Call(ctx, args.Registry, args.Item, args.Request); err2 != nil {
  1450  		tickerCancel()
  1451  		if err2 == thrift.ErrAbandonRequest {
  1452  			return false, thrift.WrapTException(err2)
  1453  		}
  1454  		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing call: "+err2.Error())
  1455  		oprot.WriteMessageBegin(ctx, "call", thrift.EXCEPTION, seqId)
  1456  		x.Write(ctx, oprot)
  1457  		oprot.WriteMessageEnd(ctx)
  1458  		oprot.Flush(ctx)
  1459  		return true, thrift.WrapTException(err2)
  1460  	} else {
  1461  		result.Success = retval
  1462  	}
  1463  	tickerCancel()
  1464  	if err2 = oprot.WriteMessageBegin(ctx, "call", thrift.REPLY, seqId); err2 != nil {
  1465  		err = thrift.WrapTException(err2)
  1466  	}
  1467  	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
  1468  		err = thrift.WrapTException(err2)
  1469  	}
  1470  	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
  1471  		err = thrift.WrapTException(err2)
  1472  	}
  1473  	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
  1474  		err = thrift.WrapTException(err2)
  1475  	}
  1476  	if err != nil {
  1477  		return
  1478  	}
  1479  	return true, err
  1480  }
  1481  
  1482  type extensionProcessorShutdown struct {
  1483  	handler Extension
  1484  }
  1485  
  1486  func (p *extensionProcessorShutdown) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
  1487  	args := ExtensionShutdownArgs{}
  1488  	var err2 error
  1489  	if err2 = args.Read(ctx, iprot); err2 != nil {
  1490  		iprot.ReadMessageEnd(ctx)
  1491  		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
  1492  		oprot.WriteMessageBegin(ctx, "shutdown", thrift.EXCEPTION, seqId)
  1493  		x.Write(ctx, oprot)
  1494  		oprot.WriteMessageEnd(ctx)
  1495  		oprot.Flush(ctx)
  1496  		return false, thrift.WrapTException(err2)
  1497  	}
  1498  	iprot.ReadMessageEnd(ctx)
  1499  
  1500  	tickerCancel := func() {}
  1501  	// Start a goroutine to do server side connectivity check.
  1502  	if thrift.ServerConnectivityCheckInterval > 0 {
  1503  		var cancel context.CancelFunc
  1504  		ctx, cancel = context.WithCancel(ctx)
  1505  		defer cancel()
  1506  		var tickerCtx context.Context
  1507  		tickerCtx, tickerCancel = context.WithCancel(context.Background())
  1508  		defer tickerCancel()
  1509  		go func(ctx context.Context, cancel context.CancelFunc) {
  1510  			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
  1511  			defer ticker.Stop()
  1512  			for {
  1513  				select {
  1514  				case <-ctx.Done():
  1515  					return
  1516  				case <-ticker.C:
  1517  					if !iprot.Transport().IsOpen() {
  1518  						cancel()
  1519  						return
  1520  					}
  1521  				}
  1522  			}
  1523  		}(tickerCtx, cancel)
  1524  	}
  1525  
  1526  	result := ExtensionShutdownResult{}
  1527  	if err2 = p.handler.Shutdown(ctx); err2 != nil {
  1528  		tickerCancel()
  1529  		if err2 == thrift.ErrAbandonRequest {
  1530  			return false, thrift.WrapTException(err2)
  1531  		}
  1532  		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing shutdown: "+err2.Error())
  1533  		oprot.WriteMessageBegin(ctx, "shutdown", thrift.EXCEPTION, seqId)
  1534  		x.Write(ctx, oprot)
  1535  		oprot.WriteMessageEnd(ctx)
  1536  		oprot.Flush(ctx)
  1537  		return true, thrift.WrapTException(err2)
  1538  	}
  1539  	tickerCancel()
  1540  	if err2 = oprot.WriteMessageBegin(ctx, "shutdown", thrift.REPLY, seqId); err2 != nil {
  1541  		err = thrift.WrapTException(err2)
  1542  	}
  1543  	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
  1544  		err = thrift.WrapTException(err2)
  1545  	}
  1546  	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
  1547  		err = thrift.WrapTException(err2)
  1548  	}
  1549  	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
  1550  		err = thrift.WrapTException(err2)
  1551  	}
  1552  	if err != nil {
  1553  		return
  1554  	}
  1555  	return true, err
  1556  }
  1557  
  1558  // HELPER FUNCTIONS AND STRUCTURES
  1559  
  1560  type ExtensionPingArgs struct {
  1561  }
  1562  
  1563  func NewExtensionPingArgs() *ExtensionPingArgs {
  1564  	return &ExtensionPingArgs{}
  1565  }
  1566  
  1567  func (p *ExtensionPingArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
  1568  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  1569  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  1570  	}
  1571  
  1572  	for {
  1573  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  1574  		if err != nil {
  1575  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  1576  		}
  1577  		if fieldTypeId == thrift.STOP {
  1578  			break
  1579  		}
  1580  		if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  1581  			return err
  1582  		}
  1583  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  1584  			return err
  1585  		}
  1586  	}
  1587  	if err := iprot.ReadStructEnd(ctx); err != nil {
  1588  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  1589  	}
  1590  	return nil
  1591  }
  1592  
  1593  func (p *ExtensionPingArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
  1594  	if err := oprot.WriteStructBegin(ctx, "ping_args"); err != nil {
  1595  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  1596  	}
  1597  	if p != nil {
  1598  	}
  1599  	if err := oprot.WriteFieldStop(ctx); err != nil {
  1600  		return thrift.PrependError("write field stop error: ", err)
  1601  	}
  1602  	if err := oprot.WriteStructEnd(ctx); err != nil {
  1603  		return thrift.PrependError("write struct stop error: ", err)
  1604  	}
  1605  	return nil
  1606  }
  1607  
  1608  func (p *ExtensionPingArgs) String() string {
  1609  	if p == nil {
  1610  		return "<nil>"
  1611  	}
  1612  	return fmt.Sprintf("ExtensionPingArgs(%+v)", *p)
  1613  }
  1614  
  1615  // Attributes:
  1616  //  - Success
  1617  type ExtensionPingResult struct {
  1618  	Success *ExtensionStatus `thrift:"success,0" db:"success" json:"success,omitempty"`
  1619  }
  1620  
  1621  func NewExtensionPingResult() *ExtensionPingResult {
  1622  	return &ExtensionPingResult{}
  1623  }
  1624  
  1625  var ExtensionPingResult_Success_DEFAULT *ExtensionStatus
  1626  
  1627  func (p *ExtensionPingResult) GetSuccess() *ExtensionStatus {
  1628  	if !p.IsSetSuccess() {
  1629  		return ExtensionPingResult_Success_DEFAULT
  1630  	}
  1631  	return p.Success
  1632  }
  1633  func (p *ExtensionPingResult) IsSetSuccess() bool {
  1634  	return p.Success != nil
  1635  }
  1636  
  1637  func (p *ExtensionPingResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
  1638  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  1639  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  1640  	}
  1641  
  1642  	for {
  1643  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  1644  		if err != nil {
  1645  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  1646  		}
  1647  		if fieldTypeId == thrift.STOP {
  1648  			break
  1649  		}
  1650  		switch fieldId {
  1651  		case 0:
  1652  			if fieldTypeId == thrift.STRUCT {
  1653  				if err := p.ReadField0(ctx, iprot); err != nil {
  1654  					return err
  1655  				}
  1656  			} else {
  1657  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  1658  					return err
  1659  				}
  1660  			}
  1661  		default:
  1662  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  1663  				return err
  1664  			}
  1665  		}
  1666  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  1667  			return err
  1668  		}
  1669  	}
  1670  	if err := iprot.ReadStructEnd(ctx); err != nil {
  1671  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  1672  	}
  1673  	return nil
  1674  }
  1675  
  1676  func (p *ExtensionPingResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
  1677  	p.Success = &ExtensionStatus{}
  1678  	if err := p.Success.Read(ctx, iprot); err != nil {
  1679  		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
  1680  	}
  1681  	return nil
  1682  }
  1683  
  1684  func (p *ExtensionPingResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
  1685  	if err := oprot.WriteStructBegin(ctx, "ping_result"); err != nil {
  1686  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  1687  	}
  1688  	if p != nil {
  1689  		if err := p.writeField0(ctx, oprot); err != nil {
  1690  			return err
  1691  		}
  1692  	}
  1693  	if err := oprot.WriteFieldStop(ctx); err != nil {
  1694  		return thrift.PrependError("write field stop error: ", err)
  1695  	}
  1696  	if err := oprot.WriteStructEnd(ctx); err != nil {
  1697  		return thrift.PrependError("write struct stop error: ", err)
  1698  	}
  1699  	return nil
  1700  }
  1701  
  1702  func (p *ExtensionPingResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
  1703  	if p.IsSetSuccess() {
  1704  		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
  1705  			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
  1706  		}
  1707  		if err := p.Success.Write(ctx, oprot); err != nil {
  1708  			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
  1709  		}
  1710  		if err := oprot.WriteFieldEnd(ctx); err != nil {
  1711  			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
  1712  		}
  1713  	}
  1714  	return err
  1715  }
  1716  
  1717  func (p *ExtensionPingResult) String() string {
  1718  	if p == nil {
  1719  		return "<nil>"
  1720  	}
  1721  	return fmt.Sprintf("ExtensionPingResult(%+v)", *p)
  1722  }
  1723  
  1724  // Attributes:
  1725  //  - Registry
  1726  //  - Item
  1727  //  - Request
  1728  type ExtensionCallArgs struct {
  1729  	Registry string                 `thrift:"registry,1" db:"registry" json:"registry"`
  1730  	Item     string                 `thrift:"item,2" db:"item" json:"item"`
  1731  	Request  ExtensionPluginRequest `thrift:"request,3" db:"request" json:"request"`
  1732  }
  1733  
  1734  func NewExtensionCallArgs() *ExtensionCallArgs {
  1735  	return &ExtensionCallArgs{}
  1736  }
  1737  
  1738  func (p *ExtensionCallArgs) GetRegistry() string {
  1739  	return p.Registry
  1740  }
  1741  
  1742  func (p *ExtensionCallArgs) GetItem() string {
  1743  	return p.Item
  1744  }
  1745  
  1746  func (p *ExtensionCallArgs) GetRequest() ExtensionPluginRequest {
  1747  	return p.Request
  1748  }
  1749  func (p *ExtensionCallArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
  1750  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  1751  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  1752  	}
  1753  
  1754  	for {
  1755  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  1756  		if err != nil {
  1757  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  1758  		}
  1759  		if fieldTypeId == thrift.STOP {
  1760  			break
  1761  		}
  1762  		switch fieldId {
  1763  		case 1:
  1764  			if fieldTypeId == thrift.STRING {
  1765  				if err := p.ReadField1(ctx, iprot); err != nil {
  1766  					return err
  1767  				}
  1768  			} else {
  1769  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  1770  					return err
  1771  				}
  1772  			}
  1773  		case 2:
  1774  			if fieldTypeId == thrift.STRING {
  1775  				if err := p.ReadField2(ctx, iprot); err != nil {
  1776  					return err
  1777  				}
  1778  			} else {
  1779  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  1780  					return err
  1781  				}
  1782  			}
  1783  		case 3:
  1784  			if fieldTypeId == thrift.MAP {
  1785  				if err := p.ReadField3(ctx, iprot); err != nil {
  1786  					return err
  1787  				}
  1788  			} else {
  1789  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  1790  					return err
  1791  				}
  1792  			}
  1793  		default:
  1794  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  1795  				return err
  1796  			}
  1797  		}
  1798  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  1799  			return err
  1800  		}
  1801  	}
  1802  	if err := iprot.ReadStructEnd(ctx); err != nil {
  1803  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  1804  	}
  1805  	return nil
  1806  }
  1807  
  1808  func (p *ExtensionCallArgs) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
  1809  	if v, err := iprot.ReadString(ctx); err != nil {
  1810  		return thrift.PrependError("error reading field 1: ", err)
  1811  	} else {
  1812  		p.Registry = v
  1813  	}
  1814  	return nil
  1815  }
  1816  
  1817  func (p *ExtensionCallArgs) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
  1818  	if v, err := iprot.ReadString(ctx); err != nil {
  1819  		return thrift.PrependError("error reading field 2: ", err)
  1820  	} else {
  1821  		p.Item = v
  1822  	}
  1823  	return nil
  1824  }
  1825  
  1826  func (p *ExtensionCallArgs) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
  1827  	_, _, size, err := iprot.ReadMapBegin(ctx)
  1828  	if err != nil {
  1829  		return thrift.PrependError("error reading map begin: ", err)
  1830  	}
  1831  	tMap := make(ExtensionPluginRequest, size)
  1832  	p.Request = tMap
  1833  	for i := 0; i < size; i++ {
  1834  		var _key16 string
  1835  		if v, err := iprot.ReadString(ctx); err != nil {
  1836  			return thrift.PrependError("error reading field 0: ", err)
  1837  		} else {
  1838  			_key16 = v
  1839  		}
  1840  		var _val17 string
  1841  		if v, err := iprot.ReadString(ctx); err != nil {
  1842  			return thrift.PrependError("error reading field 0: ", err)
  1843  		} else {
  1844  			_val17 = v
  1845  		}
  1846  		p.Request[_key16] = _val17
  1847  	}
  1848  	if err := iprot.ReadMapEnd(ctx); err != nil {
  1849  		return thrift.PrependError("error reading map end: ", err)
  1850  	}
  1851  	return nil
  1852  }
  1853  
  1854  func (p *ExtensionCallArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
  1855  	if err := oprot.WriteStructBegin(ctx, "call_args"); err != nil {
  1856  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  1857  	}
  1858  	if p != nil {
  1859  		if err := p.writeField1(ctx, oprot); err != nil {
  1860  			return err
  1861  		}
  1862  		if err := p.writeField2(ctx, oprot); err != nil {
  1863  			return err
  1864  		}
  1865  		if err := p.writeField3(ctx, oprot); err != nil {
  1866  			return err
  1867  		}
  1868  	}
  1869  	if err := oprot.WriteFieldStop(ctx); err != nil {
  1870  		return thrift.PrependError("write field stop error: ", err)
  1871  	}
  1872  	if err := oprot.WriteStructEnd(ctx); err != nil {
  1873  		return thrift.PrependError("write struct stop error: ", err)
  1874  	}
  1875  	return nil
  1876  }
  1877  
  1878  func (p *ExtensionCallArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
  1879  	if err := oprot.WriteFieldBegin(ctx, "registry", thrift.STRING, 1); err != nil {
  1880  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:registry: ", p), err)
  1881  	}
  1882  	if err := oprot.WriteString(ctx, string(p.Registry)); err != nil {
  1883  		return thrift.PrependError(fmt.Sprintf("%T.registry (1) field write error: ", p), err)
  1884  	}
  1885  	if err := oprot.WriteFieldEnd(ctx); err != nil {
  1886  		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:registry: ", p), err)
  1887  	}
  1888  	return err
  1889  }
  1890  
  1891  func (p *ExtensionCallArgs) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
  1892  	if err := oprot.WriteFieldBegin(ctx, "item", thrift.STRING, 2); err != nil {
  1893  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:item: ", p), err)
  1894  	}
  1895  	if err := oprot.WriteString(ctx, string(p.Item)); err != nil {
  1896  		return thrift.PrependError(fmt.Sprintf("%T.item (2) field write error: ", p), err)
  1897  	}
  1898  	if err := oprot.WriteFieldEnd(ctx); err != nil {
  1899  		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:item: ", p), err)
  1900  	}
  1901  	return err
  1902  }
  1903  
  1904  func (p *ExtensionCallArgs) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
  1905  	if err := oprot.WriteFieldBegin(ctx, "request", thrift.MAP, 3); err != nil {
  1906  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:request: ", p), err)
  1907  	}
  1908  	if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRING, len(p.Request)); err != nil {
  1909  		return thrift.PrependError("error writing map begin: ", err)
  1910  	}
  1911  	for k, v := range p.Request {
  1912  		if err := oprot.WriteString(ctx, string(k)); err != nil {
  1913  			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
  1914  		}
  1915  		if err := oprot.WriteString(ctx, string(v)); err != nil {
  1916  			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
  1917  		}
  1918  	}
  1919  	if err := oprot.WriteMapEnd(ctx); err != nil {
  1920  		return thrift.PrependError("error writing map end: ", err)
  1921  	}
  1922  	if err := oprot.WriteFieldEnd(ctx); err != nil {
  1923  		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:request: ", p), err)
  1924  	}
  1925  	return err
  1926  }
  1927  
  1928  func (p *ExtensionCallArgs) String() string {
  1929  	if p == nil {
  1930  		return "<nil>"
  1931  	}
  1932  	return fmt.Sprintf("ExtensionCallArgs(%+v)", *p)
  1933  }
  1934  
  1935  // Attributes:
  1936  //  - Success
  1937  type ExtensionCallResult struct {
  1938  	Success *ExtensionResponse `thrift:"success,0" db:"success" json:"success,omitempty"`
  1939  }
  1940  
  1941  func NewExtensionCallResult() *ExtensionCallResult {
  1942  	return &ExtensionCallResult{}
  1943  }
  1944  
  1945  var ExtensionCallResult_Success_DEFAULT *ExtensionResponse
  1946  
  1947  func (p *ExtensionCallResult) GetSuccess() *ExtensionResponse {
  1948  	if !p.IsSetSuccess() {
  1949  		return ExtensionCallResult_Success_DEFAULT
  1950  	}
  1951  	return p.Success
  1952  }
  1953  func (p *ExtensionCallResult) IsSetSuccess() bool {
  1954  	return p.Success != nil
  1955  }
  1956  
  1957  func (p *ExtensionCallResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
  1958  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  1959  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  1960  	}
  1961  
  1962  	for {
  1963  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  1964  		if err != nil {
  1965  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  1966  		}
  1967  		if fieldTypeId == thrift.STOP {
  1968  			break
  1969  		}
  1970  		switch fieldId {
  1971  		case 0:
  1972  			if fieldTypeId == thrift.STRUCT {
  1973  				if err := p.ReadField0(ctx, iprot); err != nil {
  1974  					return err
  1975  				}
  1976  			} else {
  1977  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  1978  					return err
  1979  				}
  1980  			}
  1981  		default:
  1982  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  1983  				return err
  1984  			}
  1985  		}
  1986  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  1987  			return err
  1988  		}
  1989  	}
  1990  	if err := iprot.ReadStructEnd(ctx); err != nil {
  1991  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  1992  	}
  1993  	return nil
  1994  }
  1995  
  1996  func (p *ExtensionCallResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
  1997  	p.Success = &ExtensionResponse{}
  1998  	if err := p.Success.Read(ctx, iprot); err != nil {
  1999  		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
  2000  	}
  2001  	return nil
  2002  }
  2003  
  2004  func (p *ExtensionCallResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
  2005  	if err := oprot.WriteStructBegin(ctx, "call_result"); err != nil {
  2006  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  2007  	}
  2008  	if p != nil {
  2009  		if err := p.writeField0(ctx, oprot); err != nil {
  2010  			return err
  2011  		}
  2012  	}
  2013  	if err := oprot.WriteFieldStop(ctx); err != nil {
  2014  		return thrift.PrependError("write field stop error: ", err)
  2015  	}
  2016  	if err := oprot.WriteStructEnd(ctx); err != nil {
  2017  		return thrift.PrependError("write struct stop error: ", err)
  2018  	}
  2019  	return nil
  2020  }
  2021  
  2022  func (p *ExtensionCallResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
  2023  	if p.IsSetSuccess() {
  2024  		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
  2025  			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
  2026  		}
  2027  		if err := p.Success.Write(ctx, oprot); err != nil {
  2028  			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
  2029  		}
  2030  		if err := oprot.WriteFieldEnd(ctx); err != nil {
  2031  			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
  2032  		}
  2033  	}
  2034  	return err
  2035  }
  2036  
  2037  func (p *ExtensionCallResult) String() string {
  2038  	if p == nil {
  2039  		return "<nil>"
  2040  	}
  2041  	return fmt.Sprintf("ExtensionCallResult(%+v)", *p)
  2042  }
  2043  
  2044  type ExtensionShutdownArgs struct {
  2045  }
  2046  
  2047  func NewExtensionShutdownArgs() *ExtensionShutdownArgs {
  2048  	return &ExtensionShutdownArgs{}
  2049  }
  2050  
  2051  func (p *ExtensionShutdownArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
  2052  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  2053  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  2054  	}
  2055  
  2056  	for {
  2057  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  2058  		if err != nil {
  2059  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  2060  		}
  2061  		if fieldTypeId == thrift.STOP {
  2062  			break
  2063  		}
  2064  		if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  2065  			return err
  2066  		}
  2067  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  2068  			return err
  2069  		}
  2070  	}
  2071  	if err := iprot.ReadStructEnd(ctx); err != nil {
  2072  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  2073  	}
  2074  	return nil
  2075  }
  2076  
  2077  func (p *ExtensionShutdownArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
  2078  	if err := oprot.WriteStructBegin(ctx, "shutdown_args"); err != nil {
  2079  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  2080  	}
  2081  	if p != nil {
  2082  	}
  2083  	if err := oprot.WriteFieldStop(ctx); err != nil {
  2084  		return thrift.PrependError("write field stop error: ", err)
  2085  	}
  2086  	if err := oprot.WriteStructEnd(ctx); err != nil {
  2087  		return thrift.PrependError("write struct stop error: ", err)
  2088  	}
  2089  	return nil
  2090  }
  2091  
  2092  func (p *ExtensionShutdownArgs) String() string {
  2093  	if p == nil {
  2094  		return "<nil>"
  2095  	}
  2096  	return fmt.Sprintf("ExtensionShutdownArgs(%+v)", *p)
  2097  }
  2098  
  2099  type ExtensionShutdownResult struct {
  2100  }
  2101  
  2102  func NewExtensionShutdownResult() *ExtensionShutdownResult {
  2103  	return &ExtensionShutdownResult{}
  2104  }
  2105  
  2106  func (p *ExtensionShutdownResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
  2107  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  2108  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  2109  	}
  2110  
  2111  	for {
  2112  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  2113  		if err != nil {
  2114  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  2115  		}
  2116  		if fieldTypeId == thrift.STOP {
  2117  			break
  2118  		}
  2119  		if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  2120  			return err
  2121  		}
  2122  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  2123  			return err
  2124  		}
  2125  	}
  2126  	if err := iprot.ReadStructEnd(ctx); err != nil {
  2127  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  2128  	}
  2129  	return nil
  2130  }
  2131  
  2132  func (p *ExtensionShutdownResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
  2133  	if err := oprot.WriteStructBegin(ctx, "shutdown_result"); err != nil {
  2134  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  2135  	}
  2136  	if p != nil {
  2137  	}
  2138  	if err := oprot.WriteFieldStop(ctx); err != nil {
  2139  		return thrift.PrependError("write field stop error: ", err)
  2140  	}
  2141  	if err := oprot.WriteStructEnd(ctx); err != nil {
  2142  		return thrift.PrependError("write struct stop error: ", err)
  2143  	}
  2144  	return nil
  2145  }
  2146  
  2147  func (p *ExtensionShutdownResult) String() string {
  2148  	if p == nil {
  2149  		return "<nil>"
  2150  	}
  2151  	return fmt.Sprintf("ExtensionShutdownResult(%+v)", *p)
  2152  }
  2153  
  2154  type ExtensionManager interface {
  2155  	Extension
  2156  
  2157  	Extensions(ctx context.Context) (_r InternalExtensionList, _err error)
  2158  	Options(ctx context.Context) (_r InternalOptionList, _err error)
  2159  	// Parameters:
  2160  	//  - Info
  2161  	//  - Registry
  2162  	RegisterExtension(ctx context.Context, info *InternalExtensionInfo, registry ExtensionRegistry) (_r *ExtensionStatus, _err error)
  2163  	// Parameters:
  2164  	//  - UUID
  2165  	DeregisterExtension(ctx context.Context, uuid ExtensionRouteUUID) (_r *ExtensionStatus, _err error)
  2166  	// Parameters:
  2167  	//  - Sql
  2168  	Query(ctx context.Context, sql string) (_r *ExtensionResponse, _err error)
  2169  	// Parameters:
  2170  	//  - Sql
  2171  	GetQueryColumns(ctx context.Context, sql string) (_r *ExtensionResponse, _err error)
  2172  	// Parameters:
  2173  	//  - Name
  2174  	//  - Events
  2175  	StreamEvents(ctx context.Context, name string, events ExtensionPluginResponse) (_r *ExtensionStatus, _err error)
  2176  	GetNodeKey(ctx context.Context) (_r string, _err error)
  2177  }
  2178  
  2179  type ExtensionManagerClient struct {
  2180  	*ExtensionClient
  2181  }
  2182  
  2183  func NewExtensionManagerClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *ExtensionManagerClient {
  2184  	return &ExtensionManagerClient{ExtensionClient: NewExtensionClientFactory(t, f)}
  2185  }
  2186  
  2187  func NewExtensionManagerClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *ExtensionManagerClient {
  2188  	return &ExtensionManagerClient{ExtensionClient: NewExtensionClientProtocol(t, iprot, oprot)}
  2189  }
  2190  
  2191  func NewExtensionManagerClient(c thrift.TClient) *ExtensionManagerClient {
  2192  	return &ExtensionManagerClient{
  2193  		ExtensionClient: NewExtensionClient(c),
  2194  	}
  2195  }
  2196  
  2197  func (p *ExtensionManagerClient) Extensions(ctx context.Context) (_r InternalExtensionList, _err error) {
  2198  	var _args26 ExtensionManagerExtensionsArgs
  2199  	var _result28 ExtensionManagerExtensionsResult
  2200  	var _meta27 thrift.ResponseMeta
  2201  	_meta27, _err = p.Client_().Call(ctx, "extensions", &_args26, &_result28)
  2202  	p.SetLastResponseMeta_(_meta27)
  2203  	if _err != nil {
  2204  		return
  2205  	}
  2206  	return _result28.GetSuccess(), nil
  2207  }
  2208  
  2209  func (p *ExtensionManagerClient) Options(ctx context.Context) (_r InternalOptionList, _err error) {
  2210  	var _args29 ExtensionManagerOptionsArgs
  2211  	var _result31 ExtensionManagerOptionsResult
  2212  	var _meta30 thrift.ResponseMeta
  2213  	_meta30, _err = p.Client_().Call(ctx, "options", &_args29, &_result31)
  2214  	p.SetLastResponseMeta_(_meta30)
  2215  	if _err != nil {
  2216  		return
  2217  	}
  2218  	return _result31.GetSuccess(), nil
  2219  }
  2220  
  2221  // Parameters:
  2222  //  - Info
  2223  //  - Registry
  2224  func (p *ExtensionManagerClient) RegisterExtension(ctx context.Context, info *InternalExtensionInfo, registry ExtensionRegistry) (_r *ExtensionStatus, _err error) {
  2225  	var _args32 ExtensionManagerRegisterExtensionArgs
  2226  	_args32.Info = info
  2227  	_args32.Registry = registry
  2228  	var _result34 ExtensionManagerRegisterExtensionResult
  2229  	var _meta33 thrift.ResponseMeta
  2230  	_meta33, _err = p.Client_().Call(ctx, "registerExtension", &_args32, &_result34)
  2231  	p.SetLastResponseMeta_(_meta33)
  2232  	if _err != nil {
  2233  		return
  2234  	}
  2235  	return _result34.GetSuccess(), nil
  2236  }
  2237  
  2238  // Parameters:
  2239  //  - UUID
  2240  func (p *ExtensionManagerClient) DeregisterExtension(ctx context.Context, uuid ExtensionRouteUUID) (_r *ExtensionStatus, _err error) {
  2241  	var _args35 ExtensionManagerDeregisterExtensionArgs
  2242  	_args35.UUID = uuid
  2243  	var _result37 ExtensionManagerDeregisterExtensionResult
  2244  	var _meta36 thrift.ResponseMeta
  2245  	_meta36, _err = p.Client_().Call(ctx, "deregisterExtension", &_args35, &_result37)
  2246  	p.SetLastResponseMeta_(_meta36)
  2247  	if _err != nil {
  2248  		return
  2249  	}
  2250  	return _result37.GetSuccess(), nil
  2251  }
  2252  
  2253  // Parameters:
  2254  //  - Sql
  2255  func (p *ExtensionManagerClient) Query(ctx context.Context, sql string) (_r *ExtensionResponse, _err error) {
  2256  	var _args38 ExtensionManagerQueryArgs
  2257  	_args38.Sql = sql
  2258  	var _result40 ExtensionManagerQueryResult
  2259  	var _meta39 thrift.ResponseMeta
  2260  	_meta39, _err = p.Client_().Call(ctx, "query", &_args38, &_result40)
  2261  	p.SetLastResponseMeta_(_meta39)
  2262  	if _err != nil {
  2263  		return
  2264  	}
  2265  	return _result40.GetSuccess(), nil
  2266  }
  2267  
  2268  // Parameters:
  2269  //  - Sql
  2270  func (p *ExtensionManagerClient) GetQueryColumns(ctx context.Context, sql string) (_r *ExtensionResponse, _err error) {
  2271  	var _args41 ExtensionManagerGetQueryColumnsArgs
  2272  	_args41.Sql = sql
  2273  	var _result43 ExtensionManagerGetQueryColumnsResult
  2274  	var _meta42 thrift.ResponseMeta
  2275  	_meta42, _err = p.Client_().Call(ctx, "getQueryColumns", &_args41, &_result43)
  2276  	p.SetLastResponseMeta_(_meta42)
  2277  	if _err != nil {
  2278  		return
  2279  	}
  2280  	return _result43.GetSuccess(), nil
  2281  }
  2282  
  2283  // Parameters:
  2284  //  - Name
  2285  //  - Events
  2286  func (p *ExtensionManagerClient) StreamEvents(ctx context.Context, name string, events ExtensionPluginResponse) (_r *ExtensionStatus, _err error) {
  2287  	var _args44 ExtensionManagerStreamEventsArgs
  2288  	_args44.Name = name
  2289  	_args44.Events = events
  2290  	var _result46 ExtensionManagerStreamEventsResult
  2291  	var _meta45 thrift.ResponseMeta
  2292  	_meta45, _err = p.Client_().Call(ctx, "streamEvents", &_args44, &_result46)
  2293  	p.SetLastResponseMeta_(_meta45)
  2294  	if _err != nil {
  2295  		return
  2296  	}
  2297  	return _result46.GetSuccess(), nil
  2298  }
  2299  
  2300  func (p *ExtensionManagerClient) GetNodeKey(ctx context.Context) (_r string, _err error) {
  2301  	var _args47 ExtensionManagerGetNodeKeyArgs
  2302  	var _result49 ExtensionManagerGetNodeKeyResult
  2303  	var _meta48 thrift.ResponseMeta
  2304  	_meta48, _err = p.Client_().Call(ctx, "getNodeKey", &_args47, &_result49)
  2305  	p.SetLastResponseMeta_(_meta48)
  2306  	if _err != nil {
  2307  		return
  2308  	}
  2309  	return _result49.GetSuccess(), nil
  2310  }
  2311  
  2312  type ExtensionManagerProcessor struct {
  2313  	*ExtensionProcessor
  2314  }
  2315  
  2316  func NewExtensionManagerProcessor(handler ExtensionManager) *ExtensionManagerProcessor {
  2317  	self50 := &ExtensionManagerProcessor{NewExtensionProcessor(handler)}
  2318  	self50.AddToProcessorMap("extensions", &extensionManagerProcessorExtensions{handler: handler})
  2319  	self50.AddToProcessorMap("options", &extensionManagerProcessorOptions{handler: handler})
  2320  	self50.AddToProcessorMap("registerExtension", &extensionManagerProcessorRegisterExtension{handler: handler})
  2321  	self50.AddToProcessorMap("deregisterExtension", &extensionManagerProcessorDeregisterExtension{handler: handler})
  2322  	self50.AddToProcessorMap("query", &extensionManagerProcessorQuery{handler: handler})
  2323  	self50.AddToProcessorMap("getQueryColumns", &extensionManagerProcessorGetQueryColumns{handler: handler})
  2324  	self50.AddToProcessorMap("streamEvents", &extensionManagerProcessorStreamEvents{handler: handler})
  2325  	self50.AddToProcessorMap("getNodeKey", &extensionManagerProcessorGetNodeKey{handler: handler})
  2326  	return self50
  2327  }
  2328  
  2329  type extensionManagerProcessorExtensions struct {
  2330  	handler ExtensionManager
  2331  }
  2332  
  2333  func (p *extensionManagerProcessorExtensions) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
  2334  	args := ExtensionManagerExtensionsArgs{}
  2335  	var err2 error
  2336  	if err2 = args.Read(ctx, iprot); err2 != nil {
  2337  		iprot.ReadMessageEnd(ctx)
  2338  		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
  2339  		oprot.WriteMessageBegin(ctx, "extensions", thrift.EXCEPTION, seqId)
  2340  		x.Write(ctx, oprot)
  2341  		oprot.WriteMessageEnd(ctx)
  2342  		oprot.Flush(ctx)
  2343  		return false, thrift.WrapTException(err2)
  2344  	}
  2345  	iprot.ReadMessageEnd(ctx)
  2346  
  2347  	tickerCancel := func() {}
  2348  	// Start a goroutine to do server side connectivity check.
  2349  	if thrift.ServerConnectivityCheckInterval > 0 {
  2350  		var cancel context.CancelFunc
  2351  		ctx, cancel = context.WithCancel(ctx)
  2352  		defer cancel()
  2353  		var tickerCtx context.Context
  2354  		tickerCtx, tickerCancel = context.WithCancel(context.Background())
  2355  		defer tickerCancel()
  2356  		go func(ctx context.Context, cancel context.CancelFunc) {
  2357  			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
  2358  			defer ticker.Stop()
  2359  			for {
  2360  				select {
  2361  				case <-ctx.Done():
  2362  					return
  2363  				case <-ticker.C:
  2364  					if !iprot.Transport().IsOpen() {
  2365  						cancel()
  2366  						return
  2367  					}
  2368  				}
  2369  			}
  2370  		}(tickerCtx, cancel)
  2371  	}
  2372  
  2373  	result := ExtensionManagerExtensionsResult{}
  2374  	var retval InternalExtensionList
  2375  	if retval, err2 = p.handler.Extensions(ctx); err2 != nil {
  2376  		tickerCancel()
  2377  		if err2 == thrift.ErrAbandonRequest {
  2378  			return false, thrift.WrapTException(err2)
  2379  		}
  2380  		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing extensions: "+err2.Error())
  2381  		oprot.WriteMessageBegin(ctx, "extensions", thrift.EXCEPTION, seqId)
  2382  		x.Write(ctx, oprot)
  2383  		oprot.WriteMessageEnd(ctx)
  2384  		oprot.Flush(ctx)
  2385  		return true, thrift.WrapTException(err2)
  2386  	} else {
  2387  		result.Success = retval
  2388  	}
  2389  	tickerCancel()
  2390  	if err2 = oprot.WriteMessageBegin(ctx, "extensions", thrift.REPLY, seqId); err2 != nil {
  2391  		err = thrift.WrapTException(err2)
  2392  	}
  2393  	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
  2394  		err = thrift.WrapTException(err2)
  2395  	}
  2396  	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
  2397  		err = thrift.WrapTException(err2)
  2398  	}
  2399  	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
  2400  		err = thrift.WrapTException(err2)
  2401  	}
  2402  	if err != nil {
  2403  		return
  2404  	}
  2405  	return true, err
  2406  }
  2407  
  2408  type extensionManagerProcessorOptions struct {
  2409  	handler ExtensionManager
  2410  }
  2411  
  2412  func (p *extensionManagerProcessorOptions) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
  2413  	args := ExtensionManagerOptionsArgs{}
  2414  	var err2 error
  2415  	if err2 = args.Read(ctx, iprot); err2 != nil {
  2416  		iprot.ReadMessageEnd(ctx)
  2417  		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
  2418  		oprot.WriteMessageBegin(ctx, "options", thrift.EXCEPTION, seqId)
  2419  		x.Write(ctx, oprot)
  2420  		oprot.WriteMessageEnd(ctx)
  2421  		oprot.Flush(ctx)
  2422  		return false, thrift.WrapTException(err2)
  2423  	}
  2424  	iprot.ReadMessageEnd(ctx)
  2425  
  2426  	tickerCancel := func() {}
  2427  	// Start a goroutine to do server side connectivity check.
  2428  	if thrift.ServerConnectivityCheckInterval > 0 {
  2429  		var cancel context.CancelFunc
  2430  		ctx, cancel = context.WithCancel(ctx)
  2431  		defer cancel()
  2432  		var tickerCtx context.Context
  2433  		tickerCtx, tickerCancel = context.WithCancel(context.Background())
  2434  		defer tickerCancel()
  2435  		go func(ctx context.Context, cancel context.CancelFunc) {
  2436  			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
  2437  			defer ticker.Stop()
  2438  			for {
  2439  				select {
  2440  				case <-ctx.Done():
  2441  					return
  2442  				case <-ticker.C:
  2443  					if !iprot.Transport().IsOpen() {
  2444  						cancel()
  2445  						return
  2446  					}
  2447  				}
  2448  			}
  2449  		}(tickerCtx, cancel)
  2450  	}
  2451  
  2452  	result := ExtensionManagerOptionsResult{}
  2453  	var retval InternalOptionList
  2454  	if retval, err2 = p.handler.Options(ctx); err2 != nil {
  2455  		tickerCancel()
  2456  		if err2 == thrift.ErrAbandonRequest {
  2457  			return false, thrift.WrapTException(err2)
  2458  		}
  2459  		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing options: "+err2.Error())
  2460  		oprot.WriteMessageBegin(ctx, "options", thrift.EXCEPTION, seqId)
  2461  		x.Write(ctx, oprot)
  2462  		oprot.WriteMessageEnd(ctx)
  2463  		oprot.Flush(ctx)
  2464  		return true, thrift.WrapTException(err2)
  2465  	} else {
  2466  		result.Success = retval
  2467  	}
  2468  	tickerCancel()
  2469  	if err2 = oprot.WriteMessageBegin(ctx, "options", thrift.REPLY, seqId); err2 != nil {
  2470  		err = thrift.WrapTException(err2)
  2471  	}
  2472  	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
  2473  		err = thrift.WrapTException(err2)
  2474  	}
  2475  	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
  2476  		err = thrift.WrapTException(err2)
  2477  	}
  2478  	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
  2479  		err = thrift.WrapTException(err2)
  2480  	}
  2481  	if err != nil {
  2482  		return
  2483  	}
  2484  	return true, err
  2485  }
  2486  
  2487  type extensionManagerProcessorRegisterExtension struct {
  2488  	handler ExtensionManager
  2489  }
  2490  
  2491  func (p *extensionManagerProcessorRegisterExtension) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
  2492  	args := ExtensionManagerRegisterExtensionArgs{}
  2493  	var err2 error
  2494  	if err2 = args.Read(ctx, iprot); err2 != nil {
  2495  		iprot.ReadMessageEnd(ctx)
  2496  		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
  2497  		oprot.WriteMessageBegin(ctx, "registerExtension", thrift.EXCEPTION, seqId)
  2498  		x.Write(ctx, oprot)
  2499  		oprot.WriteMessageEnd(ctx)
  2500  		oprot.Flush(ctx)
  2501  		return false, thrift.WrapTException(err2)
  2502  	}
  2503  	iprot.ReadMessageEnd(ctx)
  2504  
  2505  	tickerCancel := func() {}
  2506  	// Start a goroutine to do server side connectivity check.
  2507  	if thrift.ServerConnectivityCheckInterval > 0 {
  2508  		var cancel context.CancelFunc
  2509  		ctx, cancel = context.WithCancel(ctx)
  2510  		defer cancel()
  2511  		var tickerCtx context.Context
  2512  		tickerCtx, tickerCancel = context.WithCancel(context.Background())
  2513  		defer tickerCancel()
  2514  		go func(ctx context.Context, cancel context.CancelFunc) {
  2515  			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
  2516  			defer ticker.Stop()
  2517  			for {
  2518  				select {
  2519  				case <-ctx.Done():
  2520  					return
  2521  				case <-ticker.C:
  2522  					if !iprot.Transport().IsOpen() {
  2523  						cancel()
  2524  						return
  2525  					}
  2526  				}
  2527  			}
  2528  		}(tickerCtx, cancel)
  2529  	}
  2530  
  2531  	result := ExtensionManagerRegisterExtensionResult{}
  2532  	var retval *ExtensionStatus
  2533  	if retval, err2 = p.handler.RegisterExtension(ctx, args.Info, args.Registry); err2 != nil {
  2534  		tickerCancel()
  2535  		if err2 == thrift.ErrAbandonRequest {
  2536  			return false, thrift.WrapTException(err2)
  2537  		}
  2538  		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing registerExtension: "+err2.Error())
  2539  		oprot.WriteMessageBegin(ctx, "registerExtension", thrift.EXCEPTION, seqId)
  2540  		x.Write(ctx, oprot)
  2541  		oprot.WriteMessageEnd(ctx)
  2542  		oprot.Flush(ctx)
  2543  		return true, thrift.WrapTException(err2)
  2544  	} else {
  2545  		result.Success = retval
  2546  	}
  2547  	tickerCancel()
  2548  	if err2 = oprot.WriteMessageBegin(ctx, "registerExtension", thrift.REPLY, seqId); err2 != nil {
  2549  		err = thrift.WrapTException(err2)
  2550  	}
  2551  	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
  2552  		err = thrift.WrapTException(err2)
  2553  	}
  2554  	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
  2555  		err = thrift.WrapTException(err2)
  2556  	}
  2557  	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
  2558  		err = thrift.WrapTException(err2)
  2559  	}
  2560  	if err != nil {
  2561  		return
  2562  	}
  2563  	return true, err
  2564  }
  2565  
  2566  type extensionManagerProcessorDeregisterExtension struct {
  2567  	handler ExtensionManager
  2568  }
  2569  
  2570  func (p *extensionManagerProcessorDeregisterExtension) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
  2571  	args := ExtensionManagerDeregisterExtensionArgs{}
  2572  	var err2 error
  2573  	if err2 = args.Read(ctx, iprot); err2 != nil {
  2574  		iprot.ReadMessageEnd(ctx)
  2575  		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
  2576  		oprot.WriteMessageBegin(ctx, "deregisterExtension", thrift.EXCEPTION, seqId)
  2577  		x.Write(ctx, oprot)
  2578  		oprot.WriteMessageEnd(ctx)
  2579  		oprot.Flush(ctx)
  2580  		return false, thrift.WrapTException(err2)
  2581  	}
  2582  	iprot.ReadMessageEnd(ctx)
  2583  
  2584  	tickerCancel := func() {}
  2585  	// Start a goroutine to do server side connectivity check.
  2586  	if thrift.ServerConnectivityCheckInterval > 0 {
  2587  		var cancel context.CancelFunc
  2588  		ctx, cancel = context.WithCancel(ctx)
  2589  		defer cancel()
  2590  		var tickerCtx context.Context
  2591  		tickerCtx, tickerCancel = context.WithCancel(context.Background())
  2592  		defer tickerCancel()
  2593  		go func(ctx context.Context, cancel context.CancelFunc) {
  2594  			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
  2595  			defer ticker.Stop()
  2596  			for {
  2597  				select {
  2598  				case <-ctx.Done():
  2599  					return
  2600  				case <-ticker.C:
  2601  					if !iprot.Transport().IsOpen() {
  2602  						cancel()
  2603  						return
  2604  					}
  2605  				}
  2606  			}
  2607  		}(tickerCtx, cancel)
  2608  	}
  2609  
  2610  	result := ExtensionManagerDeregisterExtensionResult{}
  2611  	var retval *ExtensionStatus
  2612  	if retval, err2 = p.handler.DeregisterExtension(ctx, args.UUID); err2 != nil {
  2613  		tickerCancel()
  2614  		if err2 == thrift.ErrAbandonRequest {
  2615  			return false, thrift.WrapTException(err2)
  2616  		}
  2617  		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing deregisterExtension: "+err2.Error())
  2618  		oprot.WriteMessageBegin(ctx, "deregisterExtension", thrift.EXCEPTION, seqId)
  2619  		x.Write(ctx, oprot)
  2620  		oprot.WriteMessageEnd(ctx)
  2621  		oprot.Flush(ctx)
  2622  		return true, thrift.WrapTException(err2)
  2623  	} else {
  2624  		result.Success = retval
  2625  	}
  2626  	tickerCancel()
  2627  	if err2 = oprot.WriteMessageBegin(ctx, "deregisterExtension", thrift.REPLY, seqId); err2 != nil {
  2628  		err = thrift.WrapTException(err2)
  2629  	}
  2630  	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
  2631  		err = thrift.WrapTException(err2)
  2632  	}
  2633  	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
  2634  		err = thrift.WrapTException(err2)
  2635  	}
  2636  	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
  2637  		err = thrift.WrapTException(err2)
  2638  	}
  2639  	if err != nil {
  2640  		return
  2641  	}
  2642  	return true, err
  2643  }
  2644  
  2645  type extensionManagerProcessorQuery struct {
  2646  	handler ExtensionManager
  2647  }
  2648  
  2649  func (p *extensionManagerProcessorQuery) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
  2650  	args := ExtensionManagerQueryArgs{}
  2651  	var err2 error
  2652  	if err2 = args.Read(ctx, iprot); err2 != nil {
  2653  		iprot.ReadMessageEnd(ctx)
  2654  		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
  2655  		oprot.WriteMessageBegin(ctx, "query", thrift.EXCEPTION, seqId)
  2656  		x.Write(ctx, oprot)
  2657  		oprot.WriteMessageEnd(ctx)
  2658  		oprot.Flush(ctx)
  2659  		return false, thrift.WrapTException(err2)
  2660  	}
  2661  	iprot.ReadMessageEnd(ctx)
  2662  
  2663  	tickerCancel := func() {}
  2664  	// Start a goroutine to do server side connectivity check.
  2665  	if thrift.ServerConnectivityCheckInterval > 0 {
  2666  		var cancel context.CancelFunc
  2667  		ctx, cancel = context.WithCancel(ctx)
  2668  		defer cancel()
  2669  		var tickerCtx context.Context
  2670  		tickerCtx, tickerCancel = context.WithCancel(context.Background())
  2671  		defer tickerCancel()
  2672  		go func(ctx context.Context, cancel context.CancelFunc) {
  2673  			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
  2674  			defer ticker.Stop()
  2675  			for {
  2676  				select {
  2677  				case <-ctx.Done():
  2678  					return
  2679  				case <-ticker.C:
  2680  					if !iprot.Transport().IsOpen() {
  2681  						cancel()
  2682  						return
  2683  					}
  2684  				}
  2685  			}
  2686  		}(tickerCtx, cancel)
  2687  	}
  2688  
  2689  	result := ExtensionManagerQueryResult{}
  2690  	var retval *ExtensionResponse
  2691  	if retval, err2 = p.handler.Query(ctx, args.Sql); err2 != nil {
  2692  		tickerCancel()
  2693  		if err2 == thrift.ErrAbandonRequest {
  2694  			return false, thrift.WrapTException(err2)
  2695  		}
  2696  		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing query: "+err2.Error())
  2697  		oprot.WriteMessageBegin(ctx, "query", thrift.EXCEPTION, seqId)
  2698  		x.Write(ctx, oprot)
  2699  		oprot.WriteMessageEnd(ctx)
  2700  		oprot.Flush(ctx)
  2701  		return true, thrift.WrapTException(err2)
  2702  	} else {
  2703  		result.Success = retval
  2704  	}
  2705  	tickerCancel()
  2706  	if err2 = oprot.WriteMessageBegin(ctx, "query", thrift.REPLY, seqId); err2 != nil {
  2707  		err = thrift.WrapTException(err2)
  2708  	}
  2709  	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
  2710  		err = thrift.WrapTException(err2)
  2711  	}
  2712  	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
  2713  		err = thrift.WrapTException(err2)
  2714  	}
  2715  	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
  2716  		err = thrift.WrapTException(err2)
  2717  	}
  2718  	if err != nil {
  2719  		return
  2720  	}
  2721  	return true, err
  2722  }
  2723  
  2724  type extensionManagerProcessorGetQueryColumns struct {
  2725  	handler ExtensionManager
  2726  }
  2727  
  2728  func (p *extensionManagerProcessorGetQueryColumns) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
  2729  	args := ExtensionManagerGetQueryColumnsArgs{}
  2730  	var err2 error
  2731  	if err2 = args.Read(ctx, iprot); err2 != nil {
  2732  		iprot.ReadMessageEnd(ctx)
  2733  		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
  2734  		oprot.WriteMessageBegin(ctx, "getQueryColumns", thrift.EXCEPTION, seqId)
  2735  		x.Write(ctx, oprot)
  2736  		oprot.WriteMessageEnd(ctx)
  2737  		oprot.Flush(ctx)
  2738  		return false, thrift.WrapTException(err2)
  2739  	}
  2740  	iprot.ReadMessageEnd(ctx)
  2741  
  2742  	tickerCancel := func() {}
  2743  	// Start a goroutine to do server side connectivity check.
  2744  	if thrift.ServerConnectivityCheckInterval > 0 {
  2745  		var cancel context.CancelFunc
  2746  		ctx, cancel = context.WithCancel(ctx)
  2747  		defer cancel()
  2748  		var tickerCtx context.Context
  2749  		tickerCtx, tickerCancel = context.WithCancel(context.Background())
  2750  		defer tickerCancel()
  2751  		go func(ctx context.Context, cancel context.CancelFunc) {
  2752  			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
  2753  			defer ticker.Stop()
  2754  			for {
  2755  				select {
  2756  				case <-ctx.Done():
  2757  					return
  2758  				case <-ticker.C:
  2759  					if !iprot.Transport().IsOpen() {
  2760  						cancel()
  2761  						return
  2762  					}
  2763  				}
  2764  			}
  2765  		}(tickerCtx, cancel)
  2766  	}
  2767  
  2768  	result := ExtensionManagerGetQueryColumnsResult{}
  2769  	var retval *ExtensionResponse
  2770  	if retval, err2 = p.handler.GetQueryColumns(ctx, args.Sql); err2 != nil {
  2771  		tickerCancel()
  2772  		if err2 == thrift.ErrAbandonRequest {
  2773  			return false, thrift.WrapTException(err2)
  2774  		}
  2775  		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing getQueryColumns: "+err2.Error())
  2776  		oprot.WriteMessageBegin(ctx, "getQueryColumns", thrift.EXCEPTION, seqId)
  2777  		x.Write(ctx, oprot)
  2778  		oprot.WriteMessageEnd(ctx)
  2779  		oprot.Flush(ctx)
  2780  		return true, thrift.WrapTException(err2)
  2781  	} else {
  2782  		result.Success = retval
  2783  	}
  2784  	tickerCancel()
  2785  	if err2 = oprot.WriteMessageBegin(ctx, "getQueryColumns", thrift.REPLY, seqId); err2 != nil {
  2786  		err = thrift.WrapTException(err2)
  2787  	}
  2788  	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
  2789  		err = thrift.WrapTException(err2)
  2790  	}
  2791  	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
  2792  		err = thrift.WrapTException(err2)
  2793  	}
  2794  	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
  2795  		err = thrift.WrapTException(err2)
  2796  	}
  2797  	if err != nil {
  2798  		return
  2799  	}
  2800  	return true, err
  2801  }
  2802  
  2803  type extensionManagerProcessorStreamEvents struct {
  2804  	handler ExtensionManager
  2805  }
  2806  
  2807  func (p *extensionManagerProcessorStreamEvents) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
  2808  	args := ExtensionManagerStreamEventsArgs{}
  2809  	var err2 error
  2810  	if err2 = args.Read(ctx, iprot); err2 != nil {
  2811  		iprot.ReadMessageEnd(ctx)
  2812  		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
  2813  		oprot.WriteMessageBegin(ctx, "streamEvents", thrift.EXCEPTION, seqId)
  2814  		x.Write(ctx, oprot)
  2815  		oprot.WriteMessageEnd(ctx)
  2816  		oprot.Flush(ctx)
  2817  		return false, thrift.WrapTException(err2)
  2818  	}
  2819  	iprot.ReadMessageEnd(ctx)
  2820  
  2821  	tickerCancel := func() {}
  2822  	// Start a goroutine to do server side connectivity check.
  2823  	if thrift.ServerConnectivityCheckInterval > 0 {
  2824  		var cancel context.CancelFunc
  2825  		ctx, cancel = context.WithCancel(ctx)
  2826  		defer cancel()
  2827  		var tickerCtx context.Context
  2828  		tickerCtx, tickerCancel = context.WithCancel(context.Background())
  2829  		defer tickerCancel()
  2830  		go func(ctx context.Context, cancel context.CancelFunc) {
  2831  			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
  2832  			defer ticker.Stop()
  2833  			for {
  2834  				select {
  2835  				case <-ctx.Done():
  2836  					return
  2837  				case <-ticker.C:
  2838  					if !iprot.Transport().IsOpen() {
  2839  						cancel()
  2840  						return
  2841  					}
  2842  				}
  2843  			}
  2844  		}(tickerCtx, cancel)
  2845  	}
  2846  
  2847  	result := ExtensionManagerStreamEventsResult{}
  2848  	var retval *ExtensionStatus
  2849  	if retval, err2 = p.handler.StreamEvents(ctx, args.Name, args.Events); err2 != nil {
  2850  		tickerCancel()
  2851  		if err2 == thrift.ErrAbandonRequest {
  2852  			return false, thrift.WrapTException(err2)
  2853  		}
  2854  		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing streamEvents: "+err2.Error())
  2855  		oprot.WriteMessageBegin(ctx, "streamEvents", thrift.EXCEPTION, seqId)
  2856  		x.Write(ctx, oprot)
  2857  		oprot.WriteMessageEnd(ctx)
  2858  		oprot.Flush(ctx)
  2859  		return true, thrift.WrapTException(err2)
  2860  	} else {
  2861  		result.Success = retval
  2862  	}
  2863  	tickerCancel()
  2864  	if err2 = oprot.WriteMessageBegin(ctx, "streamEvents", thrift.REPLY, seqId); err2 != nil {
  2865  		err = thrift.WrapTException(err2)
  2866  	}
  2867  	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
  2868  		err = thrift.WrapTException(err2)
  2869  	}
  2870  	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
  2871  		err = thrift.WrapTException(err2)
  2872  	}
  2873  	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
  2874  		err = thrift.WrapTException(err2)
  2875  	}
  2876  	if err != nil {
  2877  		return
  2878  	}
  2879  	return true, err
  2880  }
  2881  
  2882  type extensionManagerProcessorGetNodeKey struct {
  2883  	handler ExtensionManager
  2884  }
  2885  
  2886  func (p *extensionManagerProcessorGetNodeKey) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
  2887  	args := ExtensionManagerGetNodeKeyArgs{}
  2888  	var err2 error
  2889  	if err2 = args.Read(ctx, iprot); err2 != nil {
  2890  		iprot.ReadMessageEnd(ctx)
  2891  		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
  2892  		oprot.WriteMessageBegin(ctx, "getNodeKey", thrift.EXCEPTION, seqId)
  2893  		x.Write(ctx, oprot)
  2894  		oprot.WriteMessageEnd(ctx)
  2895  		oprot.Flush(ctx)
  2896  		return false, thrift.WrapTException(err2)
  2897  	}
  2898  	iprot.ReadMessageEnd(ctx)
  2899  
  2900  	tickerCancel := func() {}
  2901  	// Start a goroutine to do server side connectivity check.
  2902  	if thrift.ServerConnectivityCheckInterval > 0 {
  2903  		var cancel context.CancelFunc
  2904  		ctx, cancel = context.WithCancel(ctx)
  2905  		defer cancel()
  2906  		var tickerCtx context.Context
  2907  		tickerCtx, tickerCancel = context.WithCancel(context.Background())
  2908  		defer tickerCancel()
  2909  		go func(ctx context.Context, cancel context.CancelFunc) {
  2910  			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
  2911  			defer ticker.Stop()
  2912  			for {
  2913  				select {
  2914  				case <-ctx.Done():
  2915  					return
  2916  				case <-ticker.C:
  2917  					if !iprot.Transport().IsOpen() {
  2918  						cancel()
  2919  						return
  2920  					}
  2921  				}
  2922  			}
  2923  		}(tickerCtx, cancel)
  2924  	}
  2925  
  2926  	result := ExtensionManagerGetNodeKeyResult{}
  2927  	var retval string
  2928  	if retval, err2 = p.handler.GetNodeKey(ctx); err2 != nil {
  2929  		tickerCancel()
  2930  		if err2 == thrift.ErrAbandonRequest {
  2931  			return false, thrift.WrapTException(err2)
  2932  		}
  2933  		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing getNodeKey: "+err2.Error())
  2934  		oprot.WriteMessageBegin(ctx, "getNodeKey", thrift.EXCEPTION, seqId)
  2935  		x.Write(ctx, oprot)
  2936  		oprot.WriteMessageEnd(ctx)
  2937  		oprot.Flush(ctx)
  2938  		return true, thrift.WrapTException(err2)
  2939  	} else {
  2940  		result.Success = &retval
  2941  	}
  2942  	tickerCancel()
  2943  	if err2 = oprot.WriteMessageBegin(ctx, "getNodeKey", thrift.REPLY, seqId); err2 != nil {
  2944  		err = thrift.WrapTException(err2)
  2945  	}
  2946  	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
  2947  		err = thrift.WrapTException(err2)
  2948  	}
  2949  	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
  2950  		err = thrift.WrapTException(err2)
  2951  	}
  2952  	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
  2953  		err = thrift.WrapTException(err2)
  2954  	}
  2955  	if err != nil {
  2956  		return
  2957  	}
  2958  	return true, err
  2959  }
  2960  
  2961  // HELPER FUNCTIONS AND STRUCTURES
  2962  
  2963  type ExtensionManagerExtensionsArgs struct {
  2964  }
  2965  
  2966  func NewExtensionManagerExtensionsArgs() *ExtensionManagerExtensionsArgs {
  2967  	return &ExtensionManagerExtensionsArgs{}
  2968  }
  2969  
  2970  func (p *ExtensionManagerExtensionsArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
  2971  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  2972  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  2973  	}
  2974  
  2975  	for {
  2976  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  2977  		if err != nil {
  2978  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  2979  		}
  2980  		if fieldTypeId == thrift.STOP {
  2981  			break
  2982  		}
  2983  		if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  2984  			return err
  2985  		}
  2986  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  2987  			return err
  2988  		}
  2989  	}
  2990  	if err := iprot.ReadStructEnd(ctx); err != nil {
  2991  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  2992  	}
  2993  	return nil
  2994  }
  2995  
  2996  func (p *ExtensionManagerExtensionsArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
  2997  	if err := oprot.WriteStructBegin(ctx, "extensions_args"); err != nil {
  2998  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  2999  	}
  3000  	if p != nil {
  3001  	}
  3002  	if err := oprot.WriteFieldStop(ctx); err != nil {
  3003  		return thrift.PrependError("write field stop error: ", err)
  3004  	}
  3005  	if err := oprot.WriteStructEnd(ctx); err != nil {
  3006  		return thrift.PrependError("write struct stop error: ", err)
  3007  	}
  3008  	return nil
  3009  }
  3010  
  3011  func (p *ExtensionManagerExtensionsArgs) String() string {
  3012  	if p == nil {
  3013  		return "<nil>"
  3014  	}
  3015  	return fmt.Sprintf("ExtensionManagerExtensionsArgs(%+v)", *p)
  3016  }
  3017  
  3018  // Attributes:
  3019  //  - Success
  3020  type ExtensionManagerExtensionsResult struct {
  3021  	Success InternalExtensionList `thrift:"success,0" db:"success" json:"success,omitempty"`
  3022  }
  3023  
  3024  func NewExtensionManagerExtensionsResult() *ExtensionManagerExtensionsResult {
  3025  	return &ExtensionManagerExtensionsResult{}
  3026  }
  3027  
  3028  var ExtensionManagerExtensionsResult_Success_DEFAULT InternalExtensionList
  3029  
  3030  func (p *ExtensionManagerExtensionsResult) GetSuccess() InternalExtensionList {
  3031  	return p.Success
  3032  }
  3033  func (p *ExtensionManagerExtensionsResult) IsSetSuccess() bool {
  3034  	return p.Success != nil
  3035  }
  3036  
  3037  func (p *ExtensionManagerExtensionsResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
  3038  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  3039  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  3040  	}
  3041  
  3042  	for {
  3043  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  3044  		if err != nil {
  3045  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  3046  		}
  3047  		if fieldTypeId == thrift.STOP {
  3048  			break
  3049  		}
  3050  		switch fieldId {
  3051  		case 0:
  3052  			if fieldTypeId == thrift.MAP {
  3053  				if err := p.ReadField0(ctx, iprot); err != nil {
  3054  					return err
  3055  				}
  3056  			} else {
  3057  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  3058  					return err
  3059  				}
  3060  			}
  3061  		default:
  3062  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  3063  				return err
  3064  			}
  3065  		}
  3066  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  3067  			return err
  3068  		}
  3069  	}
  3070  	if err := iprot.ReadStructEnd(ctx); err != nil {
  3071  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  3072  	}
  3073  	return nil
  3074  }
  3075  
  3076  func (p *ExtensionManagerExtensionsResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
  3077  	_, _, size, err := iprot.ReadMapBegin(ctx)
  3078  	if err != nil {
  3079  		return thrift.PrependError("error reading map begin: ", err)
  3080  	}
  3081  	tMap := make(InternalExtensionList, size)
  3082  	p.Success = tMap
  3083  	for i := 0; i < size; i++ {
  3084  		var _key51 ExtensionRouteUUID
  3085  		if v, err := iprot.ReadI64(ctx); err != nil {
  3086  			return thrift.PrependError("error reading field 0: ", err)
  3087  		} else {
  3088  			temp := ExtensionRouteUUID(v)
  3089  			_key51 = temp
  3090  		}
  3091  		_val52 := &InternalExtensionInfo{}
  3092  		if err := _val52.Read(ctx, iprot); err != nil {
  3093  			return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val52), err)
  3094  		}
  3095  		p.Success[_key51] = _val52
  3096  	}
  3097  	if err := iprot.ReadMapEnd(ctx); err != nil {
  3098  		return thrift.PrependError("error reading map end: ", err)
  3099  	}
  3100  	return nil
  3101  }
  3102  
  3103  func (p *ExtensionManagerExtensionsResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
  3104  	if err := oprot.WriteStructBegin(ctx, "extensions_result"); err != nil {
  3105  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  3106  	}
  3107  	if p != nil {
  3108  		if err := p.writeField0(ctx, oprot); err != nil {
  3109  			return err
  3110  		}
  3111  	}
  3112  	if err := oprot.WriteFieldStop(ctx); err != nil {
  3113  		return thrift.PrependError("write field stop error: ", err)
  3114  	}
  3115  	if err := oprot.WriteStructEnd(ctx); err != nil {
  3116  		return thrift.PrependError("write struct stop error: ", err)
  3117  	}
  3118  	return nil
  3119  }
  3120  
  3121  func (p *ExtensionManagerExtensionsResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
  3122  	if p.IsSetSuccess() {
  3123  		if err := oprot.WriteFieldBegin(ctx, "success", thrift.MAP, 0); err != nil {
  3124  			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
  3125  		}
  3126  		if err := oprot.WriteMapBegin(ctx, thrift.I64, thrift.STRUCT, len(p.Success)); err != nil {
  3127  			return thrift.PrependError("error writing map begin: ", err)
  3128  		}
  3129  		for k, v := range p.Success {
  3130  			if err := oprot.WriteI64(ctx, int64(k)); err != nil {
  3131  				return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
  3132  			}
  3133  			if err := v.Write(ctx, oprot); err != nil {
  3134  				return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err)
  3135  			}
  3136  		}
  3137  		if err := oprot.WriteMapEnd(ctx); err != nil {
  3138  			return thrift.PrependError("error writing map end: ", err)
  3139  		}
  3140  		if err := oprot.WriteFieldEnd(ctx); err != nil {
  3141  			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
  3142  		}
  3143  	}
  3144  	return err
  3145  }
  3146  
  3147  func (p *ExtensionManagerExtensionsResult) String() string {
  3148  	if p == nil {
  3149  		return "<nil>"
  3150  	}
  3151  	return fmt.Sprintf("ExtensionManagerExtensionsResult(%+v)", *p)
  3152  }
  3153  
  3154  type ExtensionManagerOptionsArgs struct {
  3155  }
  3156  
  3157  func NewExtensionManagerOptionsArgs() *ExtensionManagerOptionsArgs {
  3158  	return &ExtensionManagerOptionsArgs{}
  3159  }
  3160  
  3161  func (p *ExtensionManagerOptionsArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
  3162  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  3163  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  3164  	}
  3165  
  3166  	for {
  3167  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  3168  		if err != nil {
  3169  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  3170  		}
  3171  		if fieldTypeId == thrift.STOP {
  3172  			break
  3173  		}
  3174  		if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  3175  			return err
  3176  		}
  3177  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  3178  			return err
  3179  		}
  3180  	}
  3181  	if err := iprot.ReadStructEnd(ctx); err != nil {
  3182  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  3183  	}
  3184  	return nil
  3185  }
  3186  
  3187  func (p *ExtensionManagerOptionsArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
  3188  	if err := oprot.WriteStructBegin(ctx, "options_args"); err != nil {
  3189  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  3190  	}
  3191  	if p != nil {
  3192  	}
  3193  	if err := oprot.WriteFieldStop(ctx); err != nil {
  3194  		return thrift.PrependError("write field stop error: ", err)
  3195  	}
  3196  	if err := oprot.WriteStructEnd(ctx); err != nil {
  3197  		return thrift.PrependError("write struct stop error: ", err)
  3198  	}
  3199  	return nil
  3200  }
  3201  
  3202  func (p *ExtensionManagerOptionsArgs) String() string {
  3203  	if p == nil {
  3204  		return "<nil>"
  3205  	}
  3206  	return fmt.Sprintf("ExtensionManagerOptionsArgs(%+v)", *p)
  3207  }
  3208  
  3209  // Attributes:
  3210  //  - Success
  3211  type ExtensionManagerOptionsResult struct {
  3212  	Success InternalOptionList `thrift:"success,0" db:"success" json:"success,omitempty"`
  3213  }
  3214  
  3215  func NewExtensionManagerOptionsResult() *ExtensionManagerOptionsResult {
  3216  	return &ExtensionManagerOptionsResult{}
  3217  }
  3218  
  3219  var ExtensionManagerOptionsResult_Success_DEFAULT InternalOptionList
  3220  
  3221  func (p *ExtensionManagerOptionsResult) GetSuccess() InternalOptionList {
  3222  	return p.Success
  3223  }
  3224  func (p *ExtensionManagerOptionsResult) IsSetSuccess() bool {
  3225  	return p.Success != nil
  3226  }
  3227  
  3228  func (p *ExtensionManagerOptionsResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
  3229  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  3230  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  3231  	}
  3232  
  3233  	for {
  3234  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  3235  		if err != nil {
  3236  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  3237  		}
  3238  		if fieldTypeId == thrift.STOP {
  3239  			break
  3240  		}
  3241  		switch fieldId {
  3242  		case 0:
  3243  			if fieldTypeId == thrift.MAP {
  3244  				if err := p.ReadField0(ctx, iprot); err != nil {
  3245  					return err
  3246  				}
  3247  			} else {
  3248  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  3249  					return err
  3250  				}
  3251  			}
  3252  		default:
  3253  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  3254  				return err
  3255  			}
  3256  		}
  3257  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  3258  			return err
  3259  		}
  3260  	}
  3261  	if err := iprot.ReadStructEnd(ctx); err != nil {
  3262  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  3263  	}
  3264  	return nil
  3265  }
  3266  
  3267  func (p *ExtensionManagerOptionsResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
  3268  	_, _, size, err := iprot.ReadMapBegin(ctx)
  3269  	if err != nil {
  3270  		return thrift.PrependError("error reading map begin: ", err)
  3271  	}
  3272  	tMap := make(InternalOptionList, size)
  3273  	p.Success = tMap
  3274  	for i := 0; i < size; i++ {
  3275  		var _key53 string
  3276  		if v, err := iprot.ReadString(ctx); err != nil {
  3277  			return thrift.PrependError("error reading field 0: ", err)
  3278  		} else {
  3279  			_key53 = v
  3280  		}
  3281  		_val54 := &InternalOptionInfo{}
  3282  		if err := _val54.Read(ctx, iprot); err != nil {
  3283  			return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val54), err)
  3284  		}
  3285  		p.Success[_key53] = _val54
  3286  	}
  3287  	if err := iprot.ReadMapEnd(ctx); err != nil {
  3288  		return thrift.PrependError("error reading map end: ", err)
  3289  	}
  3290  	return nil
  3291  }
  3292  
  3293  func (p *ExtensionManagerOptionsResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
  3294  	if err := oprot.WriteStructBegin(ctx, "options_result"); err != nil {
  3295  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  3296  	}
  3297  	if p != nil {
  3298  		if err := p.writeField0(ctx, oprot); err != nil {
  3299  			return err
  3300  		}
  3301  	}
  3302  	if err := oprot.WriteFieldStop(ctx); err != nil {
  3303  		return thrift.PrependError("write field stop error: ", err)
  3304  	}
  3305  	if err := oprot.WriteStructEnd(ctx); err != nil {
  3306  		return thrift.PrependError("write struct stop error: ", err)
  3307  	}
  3308  	return nil
  3309  }
  3310  
  3311  func (p *ExtensionManagerOptionsResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
  3312  	if p.IsSetSuccess() {
  3313  		if err := oprot.WriteFieldBegin(ctx, "success", thrift.MAP, 0); err != nil {
  3314  			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
  3315  		}
  3316  		if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRUCT, len(p.Success)); err != nil {
  3317  			return thrift.PrependError("error writing map begin: ", err)
  3318  		}
  3319  		for k, v := range p.Success {
  3320  			if err := oprot.WriteString(ctx, string(k)); err != nil {
  3321  				return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
  3322  			}
  3323  			if err := v.Write(ctx, oprot); err != nil {
  3324  				return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err)
  3325  			}
  3326  		}
  3327  		if err := oprot.WriteMapEnd(ctx); err != nil {
  3328  			return thrift.PrependError("error writing map end: ", err)
  3329  		}
  3330  		if err := oprot.WriteFieldEnd(ctx); err != nil {
  3331  			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
  3332  		}
  3333  	}
  3334  	return err
  3335  }
  3336  
  3337  func (p *ExtensionManagerOptionsResult) String() string {
  3338  	if p == nil {
  3339  		return "<nil>"
  3340  	}
  3341  	return fmt.Sprintf("ExtensionManagerOptionsResult(%+v)", *p)
  3342  }
  3343  
  3344  // Attributes:
  3345  //  - Info
  3346  //  - Registry
  3347  type ExtensionManagerRegisterExtensionArgs struct {
  3348  	Info     *InternalExtensionInfo `thrift:"info,1" db:"info" json:"info"`
  3349  	Registry ExtensionRegistry      `thrift:"registry,2" db:"registry" json:"registry"`
  3350  }
  3351  
  3352  func NewExtensionManagerRegisterExtensionArgs() *ExtensionManagerRegisterExtensionArgs {
  3353  	return &ExtensionManagerRegisterExtensionArgs{}
  3354  }
  3355  
  3356  var ExtensionManagerRegisterExtensionArgs_Info_DEFAULT *InternalExtensionInfo
  3357  
  3358  func (p *ExtensionManagerRegisterExtensionArgs) GetInfo() *InternalExtensionInfo {
  3359  	if !p.IsSetInfo() {
  3360  		return ExtensionManagerRegisterExtensionArgs_Info_DEFAULT
  3361  	}
  3362  	return p.Info
  3363  }
  3364  
  3365  func (p *ExtensionManagerRegisterExtensionArgs) GetRegistry() ExtensionRegistry {
  3366  	return p.Registry
  3367  }
  3368  func (p *ExtensionManagerRegisterExtensionArgs) IsSetInfo() bool {
  3369  	return p.Info != nil
  3370  }
  3371  
  3372  func (p *ExtensionManagerRegisterExtensionArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
  3373  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  3374  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  3375  	}
  3376  
  3377  	for {
  3378  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  3379  		if err != nil {
  3380  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  3381  		}
  3382  		if fieldTypeId == thrift.STOP {
  3383  			break
  3384  		}
  3385  		switch fieldId {
  3386  		case 1:
  3387  			if fieldTypeId == thrift.STRUCT {
  3388  				if err := p.ReadField1(ctx, iprot); err != nil {
  3389  					return err
  3390  				}
  3391  			} else {
  3392  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  3393  					return err
  3394  				}
  3395  			}
  3396  		case 2:
  3397  			if fieldTypeId == thrift.MAP {
  3398  				if err := p.ReadField2(ctx, iprot); err != nil {
  3399  					return err
  3400  				}
  3401  			} else {
  3402  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  3403  					return err
  3404  				}
  3405  			}
  3406  		default:
  3407  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  3408  				return err
  3409  			}
  3410  		}
  3411  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  3412  			return err
  3413  		}
  3414  	}
  3415  	if err := iprot.ReadStructEnd(ctx); err != nil {
  3416  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  3417  	}
  3418  	return nil
  3419  }
  3420  
  3421  func (p *ExtensionManagerRegisterExtensionArgs) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
  3422  	p.Info = &InternalExtensionInfo{}
  3423  	if err := p.Info.Read(ctx, iprot); err != nil {
  3424  		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Info), err)
  3425  	}
  3426  	return nil
  3427  }
  3428  
  3429  func (p *ExtensionManagerRegisterExtensionArgs) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
  3430  	_, _, size, err := iprot.ReadMapBegin(ctx)
  3431  	if err != nil {
  3432  		return thrift.PrependError("error reading map begin: ", err)
  3433  	}
  3434  	tMap := make(ExtensionRegistry, size)
  3435  	p.Registry = tMap
  3436  	for i := 0; i < size; i++ {
  3437  		var _key55 string
  3438  		if v, err := iprot.ReadString(ctx); err != nil {
  3439  			return thrift.PrependError("error reading field 0: ", err)
  3440  		} else {
  3441  			_key55 = v
  3442  		}
  3443  		_, _, size, err := iprot.ReadMapBegin(ctx)
  3444  		if err != nil {
  3445  			return thrift.PrependError("error reading map begin: ", err)
  3446  		}
  3447  		tMap := make(ExtensionRouteTable, size)
  3448  		_val56 := tMap
  3449  		for i := 0; i < size; i++ {
  3450  			var _key57 string
  3451  			if v, err := iprot.ReadString(ctx); err != nil {
  3452  				return thrift.PrependError("error reading field 0: ", err)
  3453  			} else {
  3454  				_key57 = v
  3455  			}
  3456  			_, size, err := iprot.ReadListBegin(ctx)
  3457  			if err != nil {
  3458  				return thrift.PrependError("error reading list begin: ", err)
  3459  			}
  3460  			tSlice := make(ExtensionPluginResponse, 0, size)
  3461  			_val58 := tSlice
  3462  			for i := 0; i < size; i++ {
  3463  				_, _, size, err := iprot.ReadMapBegin(ctx)
  3464  				if err != nil {
  3465  					return thrift.PrependError("error reading map begin: ", err)
  3466  				}
  3467  				tMap := make(map[string]string, size)
  3468  				_elem59 := tMap
  3469  				for i := 0; i < size; i++ {
  3470  					var _key60 string
  3471  					if v, err := iprot.ReadString(ctx); err != nil {
  3472  						return thrift.PrependError("error reading field 0: ", err)
  3473  					} else {
  3474  						_key60 = v
  3475  					}
  3476  					var _val61 string
  3477  					if v, err := iprot.ReadString(ctx); err != nil {
  3478  						return thrift.PrependError("error reading field 0: ", err)
  3479  					} else {
  3480  						_val61 = v
  3481  					}
  3482  					_elem59[_key60] = _val61
  3483  				}
  3484  				if err := iprot.ReadMapEnd(ctx); err != nil {
  3485  					return thrift.PrependError("error reading map end: ", err)
  3486  				}
  3487  				_val58 = append(_val58, _elem59)
  3488  			}
  3489  			if err := iprot.ReadListEnd(ctx); err != nil {
  3490  				return thrift.PrependError("error reading list end: ", err)
  3491  			}
  3492  			_val56[_key57] = _val58
  3493  		}
  3494  		if err := iprot.ReadMapEnd(ctx); err != nil {
  3495  			return thrift.PrependError("error reading map end: ", err)
  3496  		}
  3497  		p.Registry[_key55] = _val56
  3498  	}
  3499  	if err := iprot.ReadMapEnd(ctx); err != nil {
  3500  		return thrift.PrependError("error reading map end: ", err)
  3501  	}
  3502  	return nil
  3503  }
  3504  
  3505  func (p *ExtensionManagerRegisterExtensionArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
  3506  	if err := oprot.WriteStructBegin(ctx, "registerExtension_args"); err != nil {
  3507  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  3508  	}
  3509  	if p != nil {
  3510  		if err := p.writeField1(ctx, oprot); err != nil {
  3511  			return err
  3512  		}
  3513  		if err := p.writeField2(ctx, oprot); err != nil {
  3514  			return err
  3515  		}
  3516  	}
  3517  	if err := oprot.WriteFieldStop(ctx); err != nil {
  3518  		return thrift.PrependError("write field stop error: ", err)
  3519  	}
  3520  	if err := oprot.WriteStructEnd(ctx); err != nil {
  3521  		return thrift.PrependError("write struct stop error: ", err)
  3522  	}
  3523  	return nil
  3524  }
  3525  
  3526  func (p *ExtensionManagerRegisterExtensionArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
  3527  	if err := oprot.WriteFieldBegin(ctx, "info", thrift.STRUCT, 1); err != nil {
  3528  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:info: ", p), err)
  3529  	}
  3530  	if err := p.Info.Write(ctx, oprot); err != nil {
  3531  		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Info), err)
  3532  	}
  3533  	if err := oprot.WriteFieldEnd(ctx); err != nil {
  3534  		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:info: ", p), err)
  3535  	}
  3536  	return err
  3537  }
  3538  
  3539  func (p *ExtensionManagerRegisterExtensionArgs) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
  3540  	if err := oprot.WriteFieldBegin(ctx, "registry", thrift.MAP, 2); err != nil {
  3541  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:registry: ", p), err)
  3542  	}
  3543  	if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.MAP, len(p.Registry)); err != nil {
  3544  		return thrift.PrependError("error writing map begin: ", err)
  3545  	}
  3546  	for k, v := range p.Registry {
  3547  		if err := oprot.WriteString(ctx, string(k)); err != nil {
  3548  			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
  3549  		}
  3550  		if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.LIST, len(v)); err != nil {
  3551  			return thrift.PrependError("error writing map begin: ", err)
  3552  		}
  3553  		for k, v := range v {
  3554  			if err := oprot.WriteString(ctx, string(k)); err != nil {
  3555  				return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
  3556  			}
  3557  			if err := oprot.WriteListBegin(ctx, thrift.MAP, len(v)); err != nil {
  3558  				return thrift.PrependError("error writing list begin: ", err)
  3559  			}
  3560  			for _, v := range v {
  3561  				if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRING, len(v)); err != nil {
  3562  					return thrift.PrependError("error writing map begin: ", err)
  3563  				}
  3564  				for k, v := range v {
  3565  					if err := oprot.WriteString(ctx, string(k)); err != nil {
  3566  						return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
  3567  					}
  3568  					if err := oprot.WriteString(ctx, string(v)); err != nil {
  3569  						return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
  3570  					}
  3571  				}
  3572  				if err := oprot.WriteMapEnd(ctx); err != nil {
  3573  					return thrift.PrependError("error writing map end: ", err)
  3574  				}
  3575  			}
  3576  			if err := oprot.WriteListEnd(ctx); err != nil {
  3577  				return thrift.PrependError("error writing list end: ", err)
  3578  			}
  3579  		}
  3580  		if err := oprot.WriteMapEnd(ctx); err != nil {
  3581  			return thrift.PrependError("error writing map end: ", err)
  3582  		}
  3583  	}
  3584  	if err := oprot.WriteMapEnd(ctx); err != nil {
  3585  		return thrift.PrependError("error writing map end: ", err)
  3586  	}
  3587  	if err := oprot.WriteFieldEnd(ctx); err != nil {
  3588  		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:registry: ", p), err)
  3589  	}
  3590  	return err
  3591  }
  3592  
  3593  func (p *ExtensionManagerRegisterExtensionArgs) String() string {
  3594  	if p == nil {
  3595  		return "<nil>"
  3596  	}
  3597  	return fmt.Sprintf("ExtensionManagerRegisterExtensionArgs(%+v)", *p)
  3598  }
  3599  
  3600  // Attributes:
  3601  //  - Success
  3602  type ExtensionManagerRegisterExtensionResult struct {
  3603  	Success *ExtensionStatus `thrift:"success,0" db:"success" json:"success,omitempty"`
  3604  }
  3605  
  3606  func NewExtensionManagerRegisterExtensionResult() *ExtensionManagerRegisterExtensionResult {
  3607  	return &ExtensionManagerRegisterExtensionResult{}
  3608  }
  3609  
  3610  var ExtensionManagerRegisterExtensionResult_Success_DEFAULT *ExtensionStatus
  3611  
  3612  func (p *ExtensionManagerRegisterExtensionResult) GetSuccess() *ExtensionStatus {
  3613  	if !p.IsSetSuccess() {
  3614  		return ExtensionManagerRegisterExtensionResult_Success_DEFAULT
  3615  	}
  3616  	return p.Success
  3617  }
  3618  func (p *ExtensionManagerRegisterExtensionResult) IsSetSuccess() bool {
  3619  	return p.Success != nil
  3620  }
  3621  
  3622  func (p *ExtensionManagerRegisterExtensionResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
  3623  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  3624  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  3625  	}
  3626  
  3627  	for {
  3628  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  3629  		if err != nil {
  3630  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  3631  		}
  3632  		if fieldTypeId == thrift.STOP {
  3633  			break
  3634  		}
  3635  		switch fieldId {
  3636  		case 0:
  3637  			if fieldTypeId == thrift.STRUCT {
  3638  				if err := p.ReadField0(ctx, iprot); err != nil {
  3639  					return err
  3640  				}
  3641  			} else {
  3642  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  3643  					return err
  3644  				}
  3645  			}
  3646  		default:
  3647  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  3648  				return err
  3649  			}
  3650  		}
  3651  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  3652  			return err
  3653  		}
  3654  	}
  3655  	if err := iprot.ReadStructEnd(ctx); err != nil {
  3656  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  3657  	}
  3658  	return nil
  3659  }
  3660  
  3661  func (p *ExtensionManagerRegisterExtensionResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
  3662  	p.Success = &ExtensionStatus{}
  3663  	if err := p.Success.Read(ctx, iprot); err != nil {
  3664  		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
  3665  	}
  3666  	return nil
  3667  }
  3668  
  3669  func (p *ExtensionManagerRegisterExtensionResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
  3670  	if err := oprot.WriteStructBegin(ctx, "registerExtension_result"); err != nil {
  3671  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  3672  	}
  3673  	if p != nil {
  3674  		if err := p.writeField0(ctx, oprot); err != nil {
  3675  			return err
  3676  		}
  3677  	}
  3678  	if err := oprot.WriteFieldStop(ctx); err != nil {
  3679  		return thrift.PrependError("write field stop error: ", err)
  3680  	}
  3681  	if err := oprot.WriteStructEnd(ctx); err != nil {
  3682  		return thrift.PrependError("write struct stop error: ", err)
  3683  	}
  3684  	return nil
  3685  }
  3686  
  3687  func (p *ExtensionManagerRegisterExtensionResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
  3688  	if p.IsSetSuccess() {
  3689  		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
  3690  			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
  3691  		}
  3692  		if err := p.Success.Write(ctx, oprot); err != nil {
  3693  			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
  3694  		}
  3695  		if err := oprot.WriteFieldEnd(ctx); err != nil {
  3696  			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
  3697  		}
  3698  	}
  3699  	return err
  3700  }
  3701  
  3702  func (p *ExtensionManagerRegisterExtensionResult) String() string {
  3703  	if p == nil {
  3704  		return "<nil>"
  3705  	}
  3706  	return fmt.Sprintf("ExtensionManagerRegisterExtensionResult(%+v)", *p)
  3707  }
  3708  
  3709  // Attributes:
  3710  //  - UUID
  3711  type ExtensionManagerDeregisterExtensionArgs struct {
  3712  	UUID ExtensionRouteUUID `thrift:"uuid,1" db:"uuid" json:"uuid"`
  3713  }
  3714  
  3715  func NewExtensionManagerDeregisterExtensionArgs() *ExtensionManagerDeregisterExtensionArgs {
  3716  	return &ExtensionManagerDeregisterExtensionArgs{}
  3717  }
  3718  
  3719  func (p *ExtensionManagerDeregisterExtensionArgs) GetUUID() ExtensionRouteUUID {
  3720  	return p.UUID
  3721  }
  3722  func (p *ExtensionManagerDeregisterExtensionArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
  3723  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  3724  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  3725  	}
  3726  
  3727  	for {
  3728  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  3729  		if err != nil {
  3730  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  3731  		}
  3732  		if fieldTypeId == thrift.STOP {
  3733  			break
  3734  		}
  3735  		switch fieldId {
  3736  		case 1:
  3737  			if fieldTypeId == thrift.I64 {
  3738  				if err := p.ReadField1(ctx, iprot); err != nil {
  3739  					return err
  3740  				}
  3741  			} else {
  3742  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  3743  					return err
  3744  				}
  3745  			}
  3746  		default:
  3747  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  3748  				return err
  3749  			}
  3750  		}
  3751  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  3752  			return err
  3753  		}
  3754  	}
  3755  	if err := iprot.ReadStructEnd(ctx); err != nil {
  3756  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  3757  	}
  3758  	return nil
  3759  }
  3760  
  3761  func (p *ExtensionManagerDeregisterExtensionArgs) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
  3762  	if v, err := iprot.ReadI64(ctx); err != nil {
  3763  		return thrift.PrependError("error reading field 1: ", err)
  3764  	} else {
  3765  		temp := ExtensionRouteUUID(v)
  3766  		p.UUID = temp
  3767  	}
  3768  	return nil
  3769  }
  3770  
  3771  func (p *ExtensionManagerDeregisterExtensionArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
  3772  	if err := oprot.WriteStructBegin(ctx, "deregisterExtension_args"); err != nil {
  3773  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  3774  	}
  3775  	if p != nil {
  3776  		if err := p.writeField1(ctx, oprot); err != nil {
  3777  			return err
  3778  		}
  3779  	}
  3780  	if err := oprot.WriteFieldStop(ctx); err != nil {
  3781  		return thrift.PrependError("write field stop error: ", err)
  3782  	}
  3783  	if err := oprot.WriteStructEnd(ctx); err != nil {
  3784  		return thrift.PrependError("write struct stop error: ", err)
  3785  	}
  3786  	return nil
  3787  }
  3788  
  3789  func (p *ExtensionManagerDeregisterExtensionArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
  3790  	if err := oprot.WriteFieldBegin(ctx, "uuid", thrift.I64, 1); err != nil {
  3791  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:uuid: ", p), err)
  3792  	}
  3793  	if err := oprot.WriteI64(ctx, int64(p.UUID)); err != nil {
  3794  		return thrift.PrependError(fmt.Sprintf("%T.uuid (1) field write error: ", p), err)
  3795  	}
  3796  	if err := oprot.WriteFieldEnd(ctx); err != nil {
  3797  		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:uuid: ", p), err)
  3798  	}
  3799  	return err
  3800  }
  3801  
  3802  func (p *ExtensionManagerDeregisterExtensionArgs) String() string {
  3803  	if p == nil {
  3804  		return "<nil>"
  3805  	}
  3806  	return fmt.Sprintf("ExtensionManagerDeregisterExtensionArgs(%+v)", *p)
  3807  }
  3808  
  3809  // Attributes:
  3810  //  - Success
  3811  type ExtensionManagerDeregisterExtensionResult struct {
  3812  	Success *ExtensionStatus `thrift:"success,0" db:"success" json:"success,omitempty"`
  3813  }
  3814  
  3815  func NewExtensionManagerDeregisterExtensionResult() *ExtensionManagerDeregisterExtensionResult {
  3816  	return &ExtensionManagerDeregisterExtensionResult{}
  3817  }
  3818  
  3819  var ExtensionManagerDeregisterExtensionResult_Success_DEFAULT *ExtensionStatus
  3820  
  3821  func (p *ExtensionManagerDeregisterExtensionResult) GetSuccess() *ExtensionStatus {
  3822  	if !p.IsSetSuccess() {
  3823  		return ExtensionManagerDeregisterExtensionResult_Success_DEFAULT
  3824  	}
  3825  	return p.Success
  3826  }
  3827  func (p *ExtensionManagerDeregisterExtensionResult) IsSetSuccess() bool {
  3828  	return p.Success != nil
  3829  }
  3830  
  3831  func (p *ExtensionManagerDeregisterExtensionResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
  3832  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  3833  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  3834  	}
  3835  
  3836  	for {
  3837  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  3838  		if err != nil {
  3839  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  3840  		}
  3841  		if fieldTypeId == thrift.STOP {
  3842  			break
  3843  		}
  3844  		switch fieldId {
  3845  		case 0:
  3846  			if fieldTypeId == thrift.STRUCT {
  3847  				if err := p.ReadField0(ctx, iprot); err != nil {
  3848  					return err
  3849  				}
  3850  			} else {
  3851  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  3852  					return err
  3853  				}
  3854  			}
  3855  		default:
  3856  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  3857  				return err
  3858  			}
  3859  		}
  3860  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  3861  			return err
  3862  		}
  3863  	}
  3864  	if err := iprot.ReadStructEnd(ctx); err != nil {
  3865  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  3866  	}
  3867  	return nil
  3868  }
  3869  
  3870  func (p *ExtensionManagerDeregisterExtensionResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
  3871  	p.Success = &ExtensionStatus{}
  3872  	if err := p.Success.Read(ctx, iprot); err != nil {
  3873  		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
  3874  	}
  3875  	return nil
  3876  }
  3877  
  3878  func (p *ExtensionManagerDeregisterExtensionResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
  3879  	if err := oprot.WriteStructBegin(ctx, "deregisterExtension_result"); err != nil {
  3880  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  3881  	}
  3882  	if p != nil {
  3883  		if err := p.writeField0(ctx, oprot); err != nil {
  3884  			return err
  3885  		}
  3886  	}
  3887  	if err := oprot.WriteFieldStop(ctx); err != nil {
  3888  		return thrift.PrependError("write field stop error: ", err)
  3889  	}
  3890  	if err := oprot.WriteStructEnd(ctx); err != nil {
  3891  		return thrift.PrependError("write struct stop error: ", err)
  3892  	}
  3893  	return nil
  3894  }
  3895  
  3896  func (p *ExtensionManagerDeregisterExtensionResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
  3897  	if p.IsSetSuccess() {
  3898  		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
  3899  			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
  3900  		}
  3901  		if err := p.Success.Write(ctx, oprot); err != nil {
  3902  			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
  3903  		}
  3904  		if err := oprot.WriteFieldEnd(ctx); err != nil {
  3905  			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
  3906  		}
  3907  	}
  3908  	return err
  3909  }
  3910  
  3911  func (p *ExtensionManagerDeregisterExtensionResult) String() string {
  3912  	if p == nil {
  3913  		return "<nil>"
  3914  	}
  3915  	return fmt.Sprintf("ExtensionManagerDeregisterExtensionResult(%+v)", *p)
  3916  }
  3917  
  3918  // Attributes:
  3919  //  - Sql
  3920  type ExtensionManagerQueryArgs struct {
  3921  	Sql string `thrift:"sql,1" db:"sql" json:"sql"`
  3922  }
  3923  
  3924  func NewExtensionManagerQueryArgs() *ExtensionManagerQueryArgs {
  3925  	return &ExtensionManagerQueryArgs{}
  3926  }
  3927  
  3928  func (p *ExtensionManagerQueryArgs) GetSql() string {
  3929  	return p.Sql
  3930  }
  3931  func (p *ExtensionManagerQueryArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
  3932  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  3933  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  3934  	}
  3935  
  3936  	for {
  3937  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  3938  		if err != nil {
  3939  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  3940  		}
  3941  		if fieldTypeId == thrift.STOP {
  3942  			break
  3943  		}
  3944  		switch fieldId {
  3945  		case 1:
  3946  			if fieldTypeId == thrift.STRING {
  3947  				if err := p.ReadField1(ctx, iprot); err != nil {
  3948  					return err
  3949  				}
  3950  			} else {
  3951  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  3952  					return err
  3953  				}
  3954  			}
  3955  		default:
  3956  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  3957  				return err
  3958  			}
  3959  		}
  3960  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  3961  			return err
  3962  		}
  3963  	}
  3964  	if err := iprot.ReadStructEnd(ctx); err != nil {
  3965  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  3966  	}
  3967  	return nil
  3968  }
  3969  
  3970  func (p *ExtensionManagerQueryArgs) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
  3971  	if v, err := iprot.ReadString(ctx); err != nil {
  3972  		return thrift.PrependError("error reading field 1: ", err)
  3973  	} else {
  3974  		p.Sql = v
  3975  	}
  3976  	return nil
  3977  }
  3978  
  3979  func (p *ExtensionManagerQueryArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
  3980  	if err := oprot.WriteStructBegin(ctx, "query_args"); err != nil {
  3981  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  3982  	}
  3983  	if p != nil {
  3984  		if err := p.writeField1(ctx, oprot); err != nil {
  3985  			return err
  3986  		}
  3987  	}
  3988  	if err := oprot.WriteFieldStop(ctx); err != nil {
  3989  		return thrift.PrependError("write field stop error: ", err)
  3990  	}
  3991  	if err := oprot.WriteStructEnd(ctx); err != nil {
  3992  		return thrift.PrependError("write struct stop error: ", err)
  3993  	}
  3994  	return nil
  3995  }
  3996  
  3997  func (p *ExtensionManagerQueryArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
  3998  	if err := oprot.WriteFieldBegin(ctx, "sql", thrift.STRING, 1); err != nil {
  3999  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sql: ", p), err)
  4000  	}
  4001  	if err := oprot.WriteString(ctx, string(p.Sql)); err != nil {
  4002  		return thrift.PrependError(fmt.Sprintf("%T.sql (1) field write error: ", p), err)
  4003  	}
  4004  	if err := oprot.WriteFieldEnd(ctx); err != nil {
  4005  		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sql: ", p), err)
  4006  	}
  4007  	return err
  4008  }
  4009  
  4010  func (p *ExtensionManagerQueryArgs) String() string {
  4011  	if p == nil {
  4012  		return "<nil>"
  4013  	}
  4014  	return fmt.Sprintf("ExtensionManagerQueryArgs(%+v)", *p)
  4015  }
  4016  
  4017  // Attributes:
  4018  //  - Success
  4019  type ExtensionManagerQueryResult struct {
  4020  	Success *ExtensionResponse `thrift:"success,0" db:"success" json:"success,omitempty"`
  4021  }
  4022  
  4023  func NewExtensionManagerQueryResult() *ExtensionManagerQueryResult {
  4024  	return &ExtensionManagerQueryResult{}
  4025  }
  4026  
  4027  var ExtensionManagerQueryResult_Success_DEFAULT *ExtensionResponse
  4028  
  4029  func (p *ExtensionManagerQueryResult) GetSuccess() *ExtensionResponse {
  4030  	if !p.IsSetSuccess() {
  4031  		return ExtensionManagerQueryResult_Success_DEFAULT
  4032  	}
  4033  	return p.Success
  4034  }
  4035  func (p *ExtensionManagerQueryResult) IsSetSuccess() bool {
  4036  	return p.Success != nil
  4037  }
  4038  
  4039  func (p *ExtensionManagerQueryResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
  4040  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  4041  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  4042  	}
  4043  
  4044  	for {
  4045  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  4046  		if err != nil {
  4047  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  4048  		}
  4049  		if fieldTypeId == thrift.STOP {
  4050  			break
  4051  		}
  4052  		switch fieldId {
  4053  		case 0:
  4054  			if fieldTypeId == thrift.STRUCT {
  4055  				if err := p.ReadField0(ctx, iprot); err != nil {
  4056  					return err
  4057  				}
  4058  			} else {
  4059  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  4060  					return err
  4061  				}
  4062  			}
  4063  		default:
  4064  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  4065  				return err
  4066  			}
  4067  		}
  4068  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  4069  			return err
  4070  		}
  4071  	}
  4072  	if err := iprot.ReadStructEnd(ctx); err != nil {
  4073  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  4074  	}
  4075  	return nil
  4076  }
  4077  
  4078  func (p *ExtensionManagerQueryResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
  4079  	p.Success = &ExtensionResponse{}
  4080  	if err := p.Success.Read(ctx, iprot); err != nil {
  4081  		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
  4082  	}
  4083  	return nil
  4084  }
  4085  
  4086  func (p *ExtensionManagerQueryResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
  4087  	if err := oprot.WriteStructBegin(ctx, "query_result"); err != nil {
  4088  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  4089  	}
  4090  	if p != nil {
  4091  		if err := p.writeField0(ctx, oprot); err != nil {
  4092  			return err
  4093  		}
  4094  	}
  4095  	if err := oprot.WriteFieldStop(ctx); err != nil {
  4096  		return thrift.PrependError("write field stop error: ", err)
  4097  	}
  4098  	if err := oprot.WriteStructEnd(ctx); err != nil {
  4099  		return thrift.PrependError("write struct stop error: ", err)
  4100  	}
  4101  	return nil
  4102  }
  4103  
  4104  func (p *ExtensionManagerQueryResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
  4105  	if p.IsSetSuccess() {
  4106  		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
  4107  			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
  4108  		}
  4109  		if err := p.Success.Write(ctx, oprot); err != nil {
  4110  			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
  4111  		}
  4112  		if err := oprot.WriteFieldEnd(ctx); err != nil {
  4113  			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
  4114  		}
  4115  	}
  4116  	return err
  4117  }
  4118  
  4119  func (p *ExtensionManagerQueryResult) String() string {
  4120  	if p == nil {
  4121  		return "<nil>"
  4122  	}
  4123  	return fmt.Sprintf("ExtensionManagerQueryResult(%+v)", *p)
  4124  }
  4125  
  4126  // Attributes:
  4127  //  - Sql
  4128  type ExtensionManagerGetQueryColumnsArgs struct {
  4129  	Sql string `thrift:"sql,1" db:"sql" json:"sql"`
  4130  }
  4131  
  4132  func NewExtensionManagerGetQueryColumnsArgs() *ExtensionManagerGetQueryColumnsArgs {
  4133  	return &ExtensionManagerGetQueryColumnsArgs{}
  4134  }
  4135  
  4136  func (p *ExtensionManagerGetQueryColumnsArgs) GetSql() string {
  4137  	return p.Sql
  4138  }
  4139  func (p *ExtensionManagerGetQueryColumnsArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
  4140  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  4141  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  4142  	}
  4143  
  4144  	for {
  4145  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  4146  		if err != nil {
  4147  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  4148  		}
  4149  		if fieldTypeId == thrift.STOP {
  4150  			break
  4151  		}
  4152  		switch fieldId {
  4153  		case 1:
  4154  			if fieldTypeId == thrift.STRING {
  4155  				if err := p.ReadField1(ctx, iprot); err != nil {
  4156  					return err
  4157  				}
  4158  			} else {
  4159  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  4160  					return err
  4161  				}
  4162  			}
  4163  		default:
  4164  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  4165  				return err
  4166  			}
  4167  		}
  4168  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  4169  			return err
  4170  		}
  4171  	}
  4172  	if err := iprot.ReadStructEnd(ctx); err != nil {
  4173  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  4174  	}
  4175  	return nil
  4176  }
  4177  
  4178  func (p *ExtensionManagerGetQueryColumnsArgs) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
  4179  	if v, err := iprot.ReadString(ctx); err != nil {
  4180  		return thrift.PrependError("error reading field 1: ", err)
  4181  	} else {
  4182  		p.Sql = v
  4183  	}
  4184  	return nil
  4185  }
  4186  
  4187  func (p *ExtensionManagerGetQueryColumnsArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
  4188  	if err := oprot.WriteStructBegin(ctx, "getQueryColumns_args"); err != nil {
  4189  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  4190  	}
  4191  	if p != nil {
  4192  		if err := p.writeField1(ctx, oprot); err != nil {
  4193  			return err
  4194  		}
  4195  	}
  4196  	if err := oprot.WriteFieldStop(ctx); err != nil {
  4197  		return thrift.PrependError("write field stop error: ", err)
  4198  	}
  4199  	if err := oprot.WriteStructEnd(ctx); err != nil {
  4200  		return thrift.PrependError("write struct stop error: ", err)
  4201  	}
  4202  	return nil
  4203  }
  4204  
  4205  func (p *ExtensionManagerGetQueryColumnsArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
  4206  	if err := oprot.WriteFieldBegin(ctx, "sql", thrift.STRING, 1); err != nil {
  4207  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sql: ", p), err)
  4208  	}
  4209  	if err := oprot.WriteString(ctx, string(p.Sql)); err != nil {
  4210  		return thrift.PrependError(fmt.Sprintf("%T.sql (1) field write error: ", p), err)
  4211  	}
  4212  	if err := oprot.WriteFieldEnd(ctx); err != nil {
  4213  		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sql: ", p), err)
  4214  	}
  4215  	return err
  4216  }
  4217  
  4218  func (p *ExtensionManagerGetQueryColumnsArgs) String() string {
  4219  	if p == nil {
  4220  		return "<nil>"
  4221  	}
  4222  	return fmt.Sprintf("ExtensionManagerGetQueryColumnsArgs(%+v)", *p)
  4223  }
  4224  
  4225  // Attributes:
  4226  //  - Success
  4227  type ExtensionManagerGetQueryColumnsResult struct {
  4228  	Success *ExtensionResponse `thrift:"success,0" db:"success" json:"success,omitempty"`
  4229  }
  4230  
  4231  func NewExtensionManagerGetQueryColumnsResult() *ExtensionManagerGetQueryColumnsResult {
  4232  	return &ExtensionManagerGetQueryColumnsResult{}
  4233  }
  4234  
  4235  var ExtensionManagerGetQueryColumnsResult_Success_DEFAULT *ExtensionResponse
  4236  
  4237  func (p *ExtensionManagerGetQueryColumnsResult) GetSuccess() *ExtensionResponse {
  4238  	if !p.IsSetSuccess() {
  4239  		return ExtensionManagerGetQueryColumnsResult_Success_DEFAULT
  4240  	}
  4241  	return p.Success
  4242  }
  4243  func (p *ExtensionManagerGetQueryColumnsResult) IsSetSuccess() bool {
  4244  	return p.Success != nil
  4245  }
  4246  
  4247  func (p *ExtensionManagerGetQueryColumnsResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
  4248  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  4249  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  4250  	}
  4251  
  4252  	for {
  4253  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  4254  		if err != nil {
  4255  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  4256  		}
  4257  		if fieldTypeId == thrift.STOP {
  4258  			break
  4259  		}
  4260  		switch fieldId {
  4261  		case 0:
  4262  			if fieldTypeId == thrift.STRUCT {
  4263  				if err := p.ReadField0(ctx, iprot); err != nil {
  4264  					return err
  4265  				}
  4266  			} else {
  4267  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  4268  					return err
  4269  				}
  4270  			}
  4271  		default:
  4272  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  4273  				return err
  4274  			}
  4275  		}
  4276  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  4277  			return err
  4278  		}
  4279  	}
  4280  	if err := iprot.ReadStructEnd(ctx); err != nil {
  4281  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  4282  	}
  4283  	return nil
  4284  }
  4285  
  4286  func (p *ExtensionManagerGetQueryColumnsResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
  4287  	p.Success = &ExtensionResponse{}
  4288  	if err := p.Success.Read(ctx, iprot); err != nil {
  4289  		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
  4290  	}
  4291  	return nil
  4292  }
  4293  
  4294  func (p *ExtensionManagerGetQueryColumnsResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
  4295  	if err := oprot.WriteStructBegin(ctx, "getQueryColumns_result"); err != nil {
  4296  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  4297  	}
  4298  	if p != nil {
  4299  		if err := p.writeField0(ctx, oprot); err != nil {
  4300  			return err
  4301  		}
  4302  	}
  4303  	if err := oprot.WriteFieldStop(ctx); err != nil {
  4304  		return thrift.PrependError("write field stop error: ", err)
  4305  	}
  4306  	if err := oprot.WriteStructEnd(ctx); err != nil {
  4307  		return thrift.PrependError("write struct stop error: ", err)
  4308  	}
  4309  	return nil
  4310  }
  4311  
  4312  func (p *ExtensionManagerGetQueryColumnsResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
  4313  	if p.IsSetSuccess() {
  4314  		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
  4315  			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
  4316  		}
  4317  		if err := p.Success.Write(ctx, oprot); err != nil {
  4318  			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
  4319  		}
  4320  		if err := oprot.WriteFieldEnd(ctx); err != nil {
  4321  			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
  4322  		}
  4323  	}
  4324  	return err
  4325  }
  4326  
  4327  func (p *ExtensionManagerGetQueryColumnsResult) String() string {
  4328  	if p == nil {
  4329  		return "<nil>"
  4330  	}
  4331  	return fmt.Sprintf("ExtensionManagerGetQueryColumnsResult(%+v)", *p)
  4332  }
  4333  
  4334  // Attributes:
  4335  //  - Name
  4336  //  - Events
  4337  type ExtensionManagerStreamEventsArgs struct {
  4338  	Name   string                  `thrift:"name,1" db:"name" json:"name"`
  4339  	Events ExtensionPluginResponse `thrift:"events,2" db:"events" json:"events"`
  4340  }
  4341  
  4342  func NewExtensionManagerStreamEventsArgs() *ExtensionManagerStreamEventsArgs {
  4343  	return &ExtensionManagerStreamEventsArgs{}
  4344  }
  4345  
  4346  func (p *ExtensionManagerStreamEventsArgs) GetName() string {
  4347  	return p.Name
  4348  }
  4349  
  4350  func (p *ExtensionManagerStreamEventsArgs) GetEvents() ExtensionPluginResponse {
  4351  	return p.Events
  4352  }
  4353  func (p *ExtensionManagerStreamEventsArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
  4354  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  4355  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  4356  	}
  4357  
  4358  	for {
  4359  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  4360  		if err != nil {
  4361  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  4362  		}
  4363  		if fieldTypeId == thrift.STOP {
  4364  			break
  4365  		}
  4366  		switch fieldId {
  4367  		case 1:
  4368  			if fieldTypeId == thrift.STRING {
  4369  				if err := p.ReadField1(ctx, iprot); err != nil {
  4370  					return err
  4371  				}
  4372  			} else {
  4373  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  4374  					return err
  4375  				}
  4376  			}
  4377  		case 2:
  4378  			if fieldTypeId == thrift.LIST {
  4379  				if err := p.ReadField2(ctx, iprot); err != nil {
  4380  					return err
  4381  				}
  4382  			} else {
  4383  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  4384  					return err
  4385  				}
  4386  			}
  4387  		default:
  4388  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  4389  				return err
  4390  			}
  4391  		}
  4392  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  4393  			return err
  4394  		}
  4395  	}
  4396  	if err := iprot.ReadStructEnd(ctx); err != nil {
  4397  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  4398  	}
  4399  	return nil
  4400  }
  4401  
  4402  func (p *ExtensionManagerStreamEventsArgs) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
  4403  	if v, err := iprot.ReadString(ctx); err != nil {
  4404  		return thrift.PrependError("error reading field 1: ", err)
  4405  	} else {
  4406  		p.Name = v
  4407  	}
  4408  	return nil
  4409  }
  4410  
  4411  func (p *ExtensionManagerStreamEventsArgs) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
  4412  	_, size, err := iprot.ReadListBegin(ctx)
  4413  	if err != nil {
  4414  		return thrift.PrependError("error reading list begin: ", err)
  4415  	}
  4416  	tSlice := make(ExtensionPluginResponse, 0, size)
  4417  	p.Events = tSlice
  4418  	for i := 0; i < size; i++ {
  4419  		_, _, size, err := iprot.ReadMapBegin(ctx)
  4420  		if err != nil {
  4421  			return thrift.PrependError("error reading map begin: ", err)
  4422  		}
  4423  		tMap := make(map[string]string, size)
  4424  		_elem62 := tMap
  4425  		for i := 0; i < size; i++ {
  4426  			var _key63 string
  4427  			if v, err := iprot.ReadString(ctx); err != nil {
  4428  				return thrift.PrependError("error reading field 0: ", err)
  4429  			} else {
  4430  				_key63 = v
  4431  			}
  4432  			var _val64 string
  4433  			if v, err := iprot.ReadString(ctx); err != nil {
  4434  				return thrift.PrependError("error reading field 0: ", err)
  4435  			} else {
  4436  				_val64 = v
  4437  			}
  4438  			_elem62[_key63] = _val64
  4439  		}
  4440  		if err := iprot.ReadMapEnd(ctx); err != nil {
  4441  			return thrift.PrependError("error reading map end: ", err)
  4442  		}
  4443  		p.Events = append(p.Events, _elem62)
  4444  	}
  4445  	if err := iprot.ReadListEnd(ctx); err != nil {
  4446  		return thrift.PrependError("error reading list end: ", err)
  4447  	}
  4448  	return nil
  4449  }
  4450  
  4451  func (p *ExtensionManagerStreamEventsArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
  4452  	if err := oprot.WriteStructBegin(ctx, "streamEvents_args"); err != nil {
  4453  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  4454  	}
  4455  	if p != nil {
  4456  		if err := p.writeField1(ctx, oprot); err != nil {
  4457  			return err
  4458  		}
  4459  		if err := p.writeField2(ctx, oprot); err != nil {
  4460  			return err
  4461  		}
  4462  	}
  4463  	if err := oprot.WriteFieldStop(ctx); err != nil {
  4464  		return thrift.PrependError("write field stop error: ", err)
  4465  	}
  4466  	if err := oprot.WriteStructEnd(ctx); err != nil {
  4467  		return thrift.PrependError("write struct stop error: ", err)
  4468  	}
  4469  	return nil
  4470  }
  4471  
  4472  func (p *ExtensionManagerStreamEventsArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
  4473  	if err := oprot.WriteFieldBegin(ctx, "name", thrift.STRING, 1); err != nil {
  4474  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:name: ", p), err)
  4475  	}
  4476  	if err := oprot.WriteString(ctx, string(p.Name)); err != nil {
  4477  		return thrift.PrependError(fmt.Sprintf("%T.name (1) field write error: ", p), err)
  4478  	}
  4479  	if err := oprot.WriteFieldEnd(ctx); err != nil {
  4480  		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:name: ", p), err)
  4481  	}
  4482  	return err
  4483  }
  4484  
  4485  func (p *ExtensionManagerStreamEventsArgs) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
  4486  	if err := oprot.WriteFieldBegin(ctx, "events", thrift.LIST, 2); err != nil {
  4487  		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:events: ", p), err)
  4488  	}
  4489  	if err := oprot.WriteListBegin(ctx, thrift.MAP, len(p.Events)); err != nil {
  4490  		return thrift.PrependError("error writing list begin: ", err)
  4491  	}
  4492  	for _, v := range p.Events {
  4493  		if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRING, len(v)); err != nil {
  4494  			return thrift.PrependError("error writing map begin: ", err)
  4495  		}
  4496  		for k, v := range v {
  4497  			if err := oprot.WriteString(ctx, string(k)); err != nil {
  4498  				return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
  4499  			}
  4500  			if err := oprot.WriteString(ctx, string(v)); err != nil {
  4501  				return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
  4502  			}
  4503  		}
  4504  		if err := oprot.WriteMapEnd(ctx); err != nil {
  4505  			return thrift.PrependError("error writing map end: ", err)
  4506  		}
  4507  	}
  4508  	if err := oprot.WriteListEnd(ctx); err != nil {
  4509  		return thrift.PrependError("error writing list end: ", err)
  4510  	}
  4511  	if err := oprot.WriteFieldEnd(ctx); err != nil {
  4512  		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:events: ", p), err)
  4513  	}
  4514  	return err
  4515  }
  4516  
  4517  func (p *ExtensionManagerStreamEventsArgs) String() string {
  4518  	if p == nil {
  4519  		return "<nil>"
  4520  	}
  4521  	return fmt.Sprintf("ExtensionManagerStreamEventsArgs(%+v)", *p)
  4522  }
  4523  
  4524  // Attributes:
  4525  //  - Success
  4526  type ExtensionManagerStreamEventsResult struct {
  4527  	Success *ExtensionStatus `thrift:"success,0" db:"success" json:"success,omitempty"`
  4528  }
  4529  
  4530  func NewExtensionManagerStreamEventsResult() *ExtensionManagerStreamEventsResult {
  4531  	return &ExtensionManagerStreamEventsResult{}
  4532  }
  4533  
  4534  var ExtensionManagerStreamEventsResult_Success_DEFAULT *ExtensionStatus
  4535  
  4536  func (p *ExtensionManagerStreamEventsResult) GetSuccess() *ExtensionStatus {
  4537  	if !p.IsSetSuccess() {
  4538  		return ExtensionManagerStreamEventsResult_Success_DEFAULT
  4539  	}
  4540  	return p.Success
  4541  }
  4542  func (p *ExtensionManagerStreamEventsResult) IsSetSuccess() bool {
  4543  	return p.Success != nil
  4544  }
  4545  
  4546  func (p *ExtensionManagerStreamEventsResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
  4547  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  4548  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  4549  	}
  4550  
  4551  	for {
  4552  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  4553  		if err != nil {
  4554  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  4555  		}
  4556  		if fieldTypeId == thrift.STOP {
  4557  			break
  4558  		}
  4559  		switch fieldId {
  4560  		case 0:
  4561  			if fieldTypeId == thrift.STRUCT {
  4562  				if err := p.ReadField0(ctx, iprot); err != nil {
  4563  					return err
  4564  				}
  4565  			} else {
  4566  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  4567  					return err
  4568  				}
  4569  			}
  4570  		default:
  4571  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  4572  				return err
  4573  			}
  4574  		}
  4575  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  4576  			return err
  4577  		}
  4578  	}
  4579  	if err := iprot.ReadStructEnd(ctx); err != nil {
  4580  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  4581  	}
  4582  	return nil
  4583  }
  4584  
  4585  func (p *ExtensionManagerStreamEventsResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
  4586  	p.Success = &ExtensionStatus{}
  4587  	if err := p.Success.Read(ctx, iprot); err != nil {
  4588  		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
  4589  	}
  4590  	return nil
  4591  }
  4592  
  4593  func (p *ExtensionManagerStreamEventsResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
  4594  	if err := oprot.WriteStructBegin(ctx, "streamEvents_result"); err != nil {
  4595  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  4596  	}
  4597  	if p != nil {
  4598  		if err := p.writeField0(ctx, oprot); err != nil {
  4599  			return err
  4600  		}
  4601  	}
  4602  	if err := oprot.WriteFieldStop(ctx); err != nil {
  4603  		return thrift.PrependError("write field stop error: ", err)
  4604  	}
  4605  	if err := oprot.WriteStructEnd(ctx); err != nil {
  4606  		return thrift.PrependError("write struct stop error: ", err)
  4607  	}
  4608  	return nil
  4609  }
  4610  
  4611  func (p *ExtensionManagerStreamEventsResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
  4612  	if p.IsSetSuccess() {
  4613  		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
  4614  			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
  4615  		}
  4616  		if err := p.Success.Write(ctx, oprot); err != nil {
  4617  			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
  4618  		}
  4619  		if err := oprot.WriteFieldEnd(ctx); err != nil {
  4620  			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
  4621  		}
  4622  	}
  4623  	return err
  4624  }
  4625  
  4626  func (p *ExtensionManagerStreamEventsResult) String() string {
  4627  	if p == nil {
  4628  		return "<nil>"
  4629  	}
  4630  	return fmt.Sprintf("ExtensionManagerStreamEventsResult(%+v)", *p)
  4631  }
  4632  
  4633  type ExtensionManagerGetNodeKeyArgs struct {
  4634  }
  4635  
  4636  func NewExtensionManagerGetNodeKeyArgs() *ExtensionManagerGetNodeKeyArgs {
  4637  	return &ExtensionManagerGetNodeKeyArgs{}
  4638  }
  4639  
  4640  func (p *ExtensionManagerGetNodeKeyArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
  4641  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  4642  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  4643  	}
  4644  
  4645  	for {
  4646  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  4647  		if err != nil {
  4648  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  4649  		}
  4650  		if fieldTypeId == thrift.STOP {
  4651  			break
  4652  		}
  4653  		if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  4654  			return err
  4655  		}
  4656  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  4657  			return err
  4658  		}
  4659  	}
  4660  	if err := iprot.ReadStructEnd(ctx); err != nil {
  4661  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  4662  	}
  4663  	return nil
  4664  }
  4665  
  4666  func (p *ExtensionManagerGetNodeKeyArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
  4667  	if err := oprot.WriteStructBegin(ctx, "getNodeKey_args"); err != nil {
  4668  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  4669  	}
  4670  	if p != nil {
  4671  	}
  4672  	if err := oprot.WriteFieldStop(ctx); err != nil {
  4673  		return thrift.PrependError("write field stop error: ", err)
  4674  	}
  4675  	if err := oprot.WriteStructEnd(ctx); err != nil {
  4676  		return thrift.PrependError("write struct stop error: ", err)
  4677  	}
  4678  	return nil
  4679  }
  4680  
  4681  func (p *ExtensionManagerGetNodeKeyArgs) String() string {
  4682  	if p == nil {
  4683  		return "<nil>"
  4684  	}
  4685  	return fmt.Sprintf("ExtensionManagerGetNodeKeyArgs(%+v)", *p)
  4686  }
  4687  
  4688  // Attributes:
  4689  //  - Success
  4690  type ExtensionManagerGetNodeKeyResult struct {
  4691  	Success *string `thrift:"success,0" db:"success" json:"success,omitempty"`
  4692  }
  4693  
  4694  func NewExtensionManagerGetNodeKeyResult() *ExtensionManagerGetNodeKeyResult {
  4695  	return &ExtensionManagerGetNodeKeyResult{}
  4696  }
  4697  
  4698  var ExtensionManagerGetNodeKeyResult_Success_DEFAULT string
  4699  
  4700  func (p *ExtensionManagerGetNodeKeyResult) GetSuccess() string {
  4701  	if !p.IsSetSuccess() {
  4702  		return ExtensionManagerGetNodeKeyResult_Success_DEFAULT
  4703  	}
  4704  	return *p.Success
  4705  }
  4706  func (p *ExtensionManagerGetNodeKeyResult) IsSetSuccess() bool {
  4707  	return p.Success != nil
  4708  }
  4709  
  4710  func (p *ExtensionManagerGetNodeKeyResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
  4711  	if _, err := iprot.ReadStructBegin(ctx); err != nil {
  4712  		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
  4713  	}
  4714  
  4715  	for {
  4716  		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
  4717  		if err != nil {
  4718  			return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
  4719  		}
  4720  		if fieldTypeId == thrift.STOP {
  4721  			break
  4722  		}
  4723  		switch fieldId {
  4724  		case 0:
  4725  			if fieldTypeId == thrift.STRING {
  4726  				if err := p.ReadField0(ctx, iprot); err != nil {
  4727  					return err
  4728  				}
  4729  			} else {
  4730  				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  4731  					return err
  4732  				}
  4733  			}
  4734  		default:
  4735  			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
  4736  				return err
  4737  			}
  4738  		}
  4739  		if err := iprot.ReadFieldEnd(ctx); err != nil {
  4740  			return err
  4741  		}
  4742  	}
  4743  	if err := iprot.ReadStructEnd(ctx); err != nil {
  4744  		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
  4745  	}
  4746  	return nil
  4747  }
  4748  
  4749  func (p *ExtensionManagerGetNodeKeyResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
  4750  	if v, err := iprot.ReadString(ctx); err != nil {
  4751  		return thrift.PrependError("error reading field 0: ", err)
  4752  	} else {
  4753  		p.Success = &v
  4754  	}
  4755  	return nil
  4756  }
  4757  
  4758  func (p *ExtensionManagerGetNodeKeyResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
  4759  	if err := oprot.WriteStructBegin(ctx, "getNodeKey_result"); err != nil {
  4760  		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
  4761  	}
  4762  	if p != nil {
  4763  		if err := p.writeField0(ctx, oprot); err != nil {
  4764  			return err
  4765  		}
  4766  	}
  4767  	if err := oprot.WriteFieldStop(ctx); err != nil {
  4768  		return thrift.PrependError("write field stop error: ", err)
  4769  	}
  4770  	if err := oprot.WriteStructEnd(ctx); err != nil {
  4771  		return thrift.PrependError("write struct stop error: ", err)
  4772  	}
  4773  	return nil
  4774  }
  4775  
  4776  func (p *ExtensionManagerGetNodeKeyResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
  4777  	if p.IsSetSuccess() {
  4778  		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRING, 0); err != nil {
  4779  			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
  4780  		}
  4781  		if err := oprot.WriteString(ctx, string(*p.Success)); err != nil {
  4782  			return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err)
  4783  		}
  4784  		if err := oprot.WriteFieldEnd(ctx); err != nil {
  4785  			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
  4786  		}
  4787  	}
  4788  	return err
  4789  }
  4790  
  4791  func (p *ExtensionManagerGetNodeKeyResult) String() string {
  4792  	if p == nil {
  4793  		return "<nil>"
  4794  	}
  4795  	return fmt.Sprintf("ExtensionManagerGetNodeKeyResult(%+v)", *p)
  4796  }