github.com/ydb-platform/ydb-go-sdk/v3@v3.89.2/trace/driver_gtrace.go (about)

     1  // Code generated by gtrace. DO NOT EDIT.
     2  
     3  package trace
     4  
     5  import (
     6  	"context"
     7  )
     8  
     9  // driverComposeOptions is a holder of options
    10  type driverComposeOptions struct {
    11  	panicCallback func(e interface{})
    12  }
    13  
    14  // DriverOption specified Driver compose option
    15  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
    16  type DriverComposeOption func(o *driverComposeOptions)
    17  
    18  // WithDriverPanicCallback specified behavior on panic
    19  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
    20  func WithDriverPanicCallback(cb func(e interface{})) DriverComposeOption {
    21  	return func(o *driverComposeOptions) {
    22  		o.panicCallback = cb
    23  	}
    24  }
    25  
    26  // Compose returns a new Driver which has functional fields composed both from t and x.
    27  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
    28  func (t *Driver) Compose(x *Driver, opts ...DriverComposeOption) *Driver {
    29  	if t == nil {
    30  		return x
    31  	}
    32  	var ret Driver
    33  	options := driverComposeOptions{}
    34  	for _, opt := range opts {
    35  		if opt != nil {
    36  			opt(&options)
    37  		}
    38  	}
    39  	{
    40  		h1 := t.OnInit
    41  		h2 := x.OnInit
    42  		ret.OnInit = func(d DriverInitStartInfo) func(DriverInitDoneInfo) {
    43  			if options.panicCallback != nil {
    44  				defer func() {
    45  					if e := recover(); e != nil {
    46  						options.panicCallback(e)
    47  					}
    48  				}()
    49  			}
    50  			var r, r1 func(DriverInitDoneInfo)
    51  			if h1 != nil {
    52  				r = h1(d)
    53  			}
    54  			if h2 != nil {
    55  				r1 = h2(d)
    56  			}
    57  			return func(d DriverInitDoneInfo) {
    58  				if options.panicCallback != nil {
    59  					defer func() {
    60  						if e := recover(); e != nil {
    61  							options.panicCallback(e)
    62  						}
    63  					}()
    64  				}
    65  				if r != nil {
    66  					r(d)
    67  				}
    68  				if r1 != nil {
    69  					r1(d)
    70  				}
    71  			}
    72  		}
    73  	}
    74  	{
    75  		h1 := t.OnWith
    76  		h2 := x.OnWith
    77  		ret.OnWith = func(d DriverWithStartInfo) func(DriverWithDoneInfo) {
    78  			if options.panicCallback != nil {
    79  				defer func() {
    80  					if e := recover(); e != nil {
    81  						options.panicCallback(e)
    82  					}
    83  				}()
    84  			}
    85  			var r, r1 func(DriverWithDoneInfo)
    86  			if h1 != nil {
    87  				r = h1(d)
    88  			}
    89  			if h2 != nil {
    90  				r1 = h2(d)
    91  			}
    92  			return func(d DriverWithDoneInfo) {
    93  				if options.panicCallback != nil {
    94  					defer func() {
    95  						if e := recover(); e != nil {
    96  							options.panicCallback(e)
    97  						}
    98  					}()
    99  				}
   100  				if r != nil {
   101  					r(d)
   102  				}
   103  				if r1 != nil {
   104  					r1(d)
   105  				}
   106  			}
   107  		}
   108  	}
   109  	{
   110  		h1 := t.OnClose
   111  		h2 := x.OnClose
   112  		ret.OnClose = func(d DriverCloseStartInfo) func(DriverCloseDoneInfo) {
   113  			if options.panicCallback != nil {
   114  				defer func() {
   115  					if e := recover(); e != nil {
   116  						options.panicCallback(e)
   117  					}
   118  				}()
   119  			}
   120  			var r, r1 func(DriverCloseDoneInfo)
   121  			if h1 != nil {
   122  				r = h1(d)
   123  			}
   124  			if h2 != nil {
   125  				r1 = h2(d)
   126  			}
   127  			return func(d DriverCloseDoneInfo) {
   128  				if options.panicCallback != nil {
   129  					defer func() {
   130  						if e := recover(); e != nil {
   131  							options.panicCallback(e)
   132  						}
   133  					}()
   134  				}
   135  				if r != nil {
   136  					r(d)
   137  				}
   138  				if r1 != nil {
   139  					r1(d)
   140  				}
   141  			}
   142  		}
   143  	}
   144  	{
   145  		h1 := t.OnPoolNew
   146  		h2 := x.OnPoolNew
   147  		ret.OnPoolNew = func(d DriverConnPoolNewStartInfo) func(DriverConnPoolNewDoneInfo) {
   148  			if options.panicCallback != nil {
   149  				defer func() {
   150  					if e := recover(); e != nil {
   151  						options.panicCallback(e)
   152  					}
   153  				}()
   154  			}
   155  			var r, r1 func(DriverConnPoolNewDoneInfo)
   156  			if h1 != nil {
   157  				r = h1(d)
   158  			}
   159  			if h2 != nil {
   160  				r1 = h2(d)
   161  			}
   162  			return func(d DriverConnPoolNewDoneInfo) {
   163  				if options.panicCallback != nil {
   164  					defer func() {
   165  						if e := recover(); e != nil {
   166  							options.panicCallback(e)
   167  						}
   168  					}()
   169  				}
   170  				if r != nil {
   171  					r(d)
   172  				}
   173  				if r1 != nil {
   174  					r1(d)
   175  				}
   176  			}
   177  		}
   178  	}
   179  	{
   180  		h1 := t.OnPoolRelease
   181  		h2 := x.OnPoolRelease
   182  		ret.OnPoolRelease = func(d DriverConnPoolReleaseStartInfo) func(DriverConnPoolReleaseDoneInfo) {
   183  			if options.panicCallback != nil {
   184  				defer func() {
   185  					if e := recover(); e != nil {
   186  						options.panicCallback(e)
   187  					}
   188  				}()
   189  			}
   190  			var r, r1 func(DriverConnPoolReleaseDoneInfo)
   191  			if h1 != nil {
   192  				r = h1(d)
   193  			}
   194  			if h2 != nil {
   195  				r1 = h2(d)
   196  			}
   197  			return func(d DriverConnPoolReleaseDoneInfo) {
   198  				if options.panicCallback != nil {
   199  					defer func() {
   200  						if e := recover(); e != nil {
   201  							options.panicCallback(e)
   202  						}
   203  					}()
   204  				}
   205  				if r != nil {
   206  					r(d)
   207  				}
   208  				if r1 != nil {
   209  					r1(d)
   210  				}
   211  			}
   212  		}
   213  	}
   214  	{
   215  		h1 := t.OnResolve
   216  		h2 := x.OnResolve
   217  		ret.OnResolve = func(d DriverResolveStartInfo) func(DriverResolveDoneInfo) {
   218  			if options.panicCallback != nil {
   219  				defer func() {
   220  					if e := recover(); e != nil {
   221  						options.panicCallback(e)
   222  					}
   223  				}()
   224  			}
   225  			var r, r1 func(DriverResolveDoneInfo)
   226  			if h1 != nil {
   227  				r = h1(d)
   228  			}
   229  			if h2 != nil {
   230  				r1 = h2(d)
   231  			}
   232  			return func(d DriverResolveDoneInfo) {
   233  				if options.panicCallback != nil {
   234  					defer func() {
   235  						if e := recover(); e != nil {
   236  							options.panicCallback(e)
   237  						}
   238  					}()
   239  				}
   240  				if r != nil {
   241  					r(d)
   242  				}
   243  				if r1 != nil {
   244  					r1(d)
   245  				}
   246  			}
   247  		}
   248  	}
   249  	{
   250  		h1 := t.OnConnStateChange
   251  		h2 := x.OnConnStateChange
   252  		ret.OnConnStateChange = func(d DriverConnStateChangeStartInfo) func(DriverConnStateChangeDoneInfo) {
   253  			if options.panicCallback != nil {
   254  				defer func() {
   255  					if e := recover(); e != nil {
   256  						options.panicCallback(e)
   257  					}
   258  				}()
   259  			}
   260  			var r, r1 func(DriverConnStateChangeDoneInfo)
   261  			if h1 != nil {
   262  				r = h1(d)
   263  			}
   264  			if h2 != nil {
   265  				r1 = h2(d)
   266  			}
   267  			return func(d DriverConnStateChangeDoneInfo) {
   268  				if options.panicCallback != nil {
   269  					defer func() {
   270  						if e := recover(); e != nil {
   271  							options.panicCallback(e)
   272  						}
   273  					}()
   274  				}
   275  				if r != nil {
   276  					r(d)
   277  				}
   278  				if r1 != nil {
   279  					r1(d)
   280  				}
   281  			}
   282  		}
   283  	}
   284  	{
   285  		h1 := t.OnConnInvoke
   286  		h2 := x.OnConnInvoke
   287  		ret.OnConnInvoke = func(d DriverConnInvokeStartInfo) func(DriverConnInvokeDoneInfo) {
   288  			if options.panicCallback != nil {
   289  				defer func() {
   290  					if e := recover(); e != nil {
   291  						options.panicCallback(e)
   292  					}
   293  				}()
   294  			}
   295  			var r, r1 func(DriverConnInvokeDoneInfo)
   296  			if h1 != nil {
   297  				r = h1(d)
   298  			}
   299  			if h2 != nil {
   300  				r1 = h2(d)
   301  			}
   302  			return func(d DriverConnInvokeDoneInfo) {
   303  				if options.panicCallback != nil {
   304  					defer func() {
   305  						if e := recover(); e != nil {
   306  							options.panicCallback(e)
   307  						}
   308  					}()
   309  				}
   310  				if r != nil {
   311  					r(d)
   312  				}
   313  				if r1 != nil {
   314  					r1(d)
   315  				}
   316  			}
   317  		}
   318  	}
   319  	{
   320  		h1 := t.OnConnNewStream
   321  		h2 := x.OnConnNewStream
   322  		ret.OnConnNewStream = func(d DriverConnNewStreamStartInfo) func(DriverConnNewStreamDoneInfo) {
   323  			if options.panicCallback != nil {
   324  				defer func() {
   325  					if e := recover(); e != nil {
   326  						options.panicCallback(e)
   327  					}
   328  				}()
   329  			}
   330  			var r, r1 func(DriverConnNewStreamDoneInfo)
   331  			if h1 != nil {
   332  				r = h1(d)
   333  			}
   334  			if h2 != nil {
   335  				r1 = h2(d)
   336  			}
   337  			return func(d DriverConnNewStreamDoneInfo) {
   338  				if options.panicCallback != nil {
   339  					defer func() {
   340  						if e := recover(); e != nil {
   341  							options.panicCallback(e)
   342  						}
   343  					}()
   344  				}
   345  				if r != nil {
   346  					r(d)
   347  				}
   348  				if r1 != nil {
   349  					r1(d)
   350  				}
   351  			}
   352  		}
   353  	}
   354  	{
   355  		h1 := t.OnConnStreamRecvMsg
   356  		h2 := x.OnConnStreamRecvMsg
   357  		ret.OnConnStreamRecvMsg = func(d DriverConnStreamRecvMsgStartInfo) func(DriverConnStreamRecvMsgDoneInfo) {
   358  			if options.panicCallback != nil {
   359  				defer func() {
   360  					if e := recover(); e != nil {
   361  						options.panicCallback(e)
   362  					}
   363  				}()
   364  			}
   365  			var r, r1 func(DriverConnStreamRecvMsgDoneInfo)
   366  			if h1 != nil {
   367  				r = h1(d)
   368  			}
   369  			if h2 != nil {
   370  				r1 = h2(d)
   371  			}
   372  			return func(d DriverConnStreamRecvMsgDoneInfo) {
   373  				if options.panicCallback != nil {
   374  					defer func() {
   375  						if e := recover(); e != nil {
   376  							options.panicCallback(e)
   377  						}
   378  					}()
   379  				}
   380  				if r != nil {
   381  					r(d)
   382  				}
   383  				if r1 != nil {
   384  					r1(d)
   385  				}
   386  			}
   387  		}
   388  	}
   389  	{
   390  		h1 := t.OnConnStreamSendMsg
   391  		h2 := x.OnConnStreamSendMsg
   392  		ret.OnConnStreamSendMsg = func(d DriverConnStreamSendMsgStartInfo) func(DriverConnStreamSendMsgDoneInfo) {
   393  			if options.panicCallback != nil {
   394  				defer func() {
   395  					if e := recover(); e != nil {
   396  						options.panicCallback(e)
   397  					}
   398  				}()
   399  			}
   400  			var r, r1 func(DriverConnStreamSendMsgDoneInfo)
   401  			if h1 != nil {
   402  				r = h1(d)
   403  			}
   404  			if h2 != nil {
   405  				r1 = h2(d)
   406  			}
   407  			return func(d DriverConnStreamSendMsgDoneInfo) {
   408  				if options.panicCallback != nil {
   409  					defer func() {
   410  						if e := recover(); e != nil {
   411  							options.panicCallback(e)
   412  						}
   413  					}()
   414  				}
   415  				if r != nil {
   416  					r(d)
   417  				}
   418  				if r1 != nil {
   419  					r1(d)
   420  				}
   421  			}
   422  		}
   423  	}
   424  	{
   425  		h1 := t.OnConnStreamCloseSend
   426  		h2 := x.OnConnStreamCloseSend
   427  		ret.OnConnStreamCloseSend = func(d DriverConnStreamCloseSendStartInfo) func(DriverConnStreamCloseSendDoneInfo) {
   428  			if options.panicCallback != nil {
   429  				defer func() {
   430  					if e := recover(); e != nil {
   431  						options.panicCallback(e)
   432  					}
   433  				}()
   434  			}
   435  			var r, r1 func(DriverConnStreamCloseSendDoneInfo)
   436  			if h1 != nil {
   437  				r = h1(d)
   438  			}
   439  			if h2 != nil {
   440  				r1 = h2(d)
   441  			}
   442  			return func(d DriverConnStreamCloseSendDoneInfo) {
   443  				if options.panicCallback != nil {
   444  					defer func() {
   445  						if e := recover(); e != nil {
   446  							options.panicCallback(e)
   447  						}
   448  					}()
   449  				}
   450  				if r != nil {
   451  					r(d)
   452  				}
   453  				if r1 != nil {
   454  					r1(d)
   455  				}
   456  			}
   457  		}
   458  	}
   459  	{
   460  		h1 := t.OnConnStreamFinish
   461  		h2 := x.OnConnStreamFinish
   462  		ret.OnConnStreamFinish = func(info DriverConnStreamFinishInfo) {
   463  			if options.panicCallback != nil {
   464  				defer func() {
   465  					if e := recover(); e != nil {
   466  						options.panicCallback(e)
   467  					}
   468  				}()
   469  			}
   470  			if h1 != nil {
   471  				h1(info)
   472  			}
   473  			if h2 != nil {
   474  				h2(info)
   475  			}
   476  		}
   477  	}
   478  	{
   479  		h1 := t.OnConnDial
   480  		h2 := x.OnConnDial
   481  		ret.OnConnDial = func(d DriverConnDialStartInfo) func(DriverConnDialDoneInfo) {
   482  			if options.panicCallback != nil {
   483  				defer func() {
   484  					if e := recover(); e != nil {
   485  						options.panicCallback(e)
   486  					}
   487  				}()
   488  			}
   489  			var r, r1 func(DriverConnDialDoneInfo)
   490  			if h1 != nil {
   491  				r = h1(d)
   492  			}
   493  			if h2 != nil {
   494  				r1 = h2(d)
   495  			}
   496  			return func(d DriverConnDialDoneInfo) {
   497  				if options.panicCallback != nil {
   498  					defer func() {
   499  						if e := recover(); e != nil {
   500  							options.panicCallback(e)
   501  						}
   502  					}()
   503  				}
   504  				if r != nil {
   505  					r(d)
   506  				}
   507  				if r1 != nil {
   508  					r1(d)
   509  				}
   510  			}
   511  		}
   512  	}
   513  	{
   514  		h1 := t.OnConnBan
   515  		h2 := x.OnConnBan
   516  		ret.OnConnBan = func(d DriverConnBanStartInfo) func(DriverConnBanDoneInfo) {
   517  			if options.panicCallback != nil {
   518  				defer func() {
   519  					if e := recover(); e != nil {
   520  						options.panicCallback(e)
   521  					}
   522  				}()
   523  			}
   524  			var r, r1 func(DriverConnBanDoneInfo)
   525  			if h1 != nil {
   526  				r = h1(d)
   527  			}
   528  			if h2 != nil {
   529  				r1 = h2(d)
   530  			}
   531  			return func(d DriverConnBanDoneInfo) {
   532  				if options.panicCallback != nil {
   533  					defer func() {
   534  						if e := recover(); e != nil {
   535  							options.panicCallback(e)
   536  						}
   537  					}()
   538  				}
   539  				if r != nil {
   540  					r(d)
   541  				}
   542  				if r1 != nil {
   543  					r1(d)
   544  				}
   545  			}
   546  		}
   547  	}
   548  	{
   549  		h1 := t.OnConnAllow
   550  		h2 := x.OnConnAllow
   551  		ret.OnConnAllow = func(d DriverConnAllowStartInfo) func(DriverConnAllowDoneInfo) {
   552  			if options.panicCallback != nil {
   553  				defer func() {
   554  					if e := recover(); e != nil {
   555  						options.panicCallback(e)
   556  					}
   557  				}()
   558  			}
   559  			var r, r1 func(DriverConnAllowDoneInfo)
   560  			if h1 != nil {
   561  				r = h1(d)
   562  			}
   563  			if h2 != nil {
   564  				r1 = h2(d)
   565  			}
   566  			return func(d DriverConnAllowDoneInfo) {
   567  				if options.panicCallback != nil {
   568  					defer func() {
   569  						if e := recover(); e != nil {
   570  							options.panicCallback(e)
   571  						}
   572  					}()
   573  				}
   574  				if r != nil {
   575  					r(d)
   576  				}
   577  				if r1 != nil {
   578  					r1(d)
   579  				}
   580  			}
   581  		}
   582  	}
   583  	{
   584  		h1 := t.OnConnPark
   585  		h2 := x.OnConnPark
   586  		ret.OnConnPark = func(d DriverConnParkStartInfo) func(DriverConnParkDoneInfo) {
   587  			if options.panicCallback != nil {
   588  				defer func() {
   589  					if e := recover(); e != nil {
   590  						options.panicCallback(e)
   591  					}
   592  				}()
   593  			}
   594  			var r, r1 func(DriverConnParkDoneInfo)
   595  			if h1 != nil {
   596  				r = h1(d)
   597  			}
   598  			if h2 != nil {
   599  				r1 = h2(d)
   600  			}
   601  			return func(d DriverConnParkDoneInfo) {
   602  				if options.panicCallback != nil {
   603  					defer func() {
   604  						if e := recover(); e != nil {
   605  							options.panicCallback(e)
   606  						}
   607  					}()
   608  				}
   609  				if r != nil {
   610  					r(d)
   611  				}
   612  				if r1 != nil {
   613  					r1(d)
   614  				}
   615  			}
   616  		}
   617  	}
   618  	{
   619  		h1 := t.OnConnClose
   620  		h2 := x.OnConnClose
   621  		ret.OnConnClose = func(d DriverConnCloseStartInfo) func(DriverConnCloseDoneInfo) {
   622  			if options.panicCallback != nil {
   623  				defer func() {
   624  					if e := recover(); e != nil {
   625  						options.panicCallback(e)
   626  					}
   627  				}()
   628  			}
   629  			var r, r1 func(DriverConnCloseDoneInfo)
   630  			if h1 != nil {
   631  				r = h1(d)
   632  			}
   633  			if h2 != nil {
   634  				r1 = h2(d)
   635  			}
   636  			return func(d DriverConnCloseDoneInfo) {
   637  				if options.panicCallback != nil {
   638  					defer func() {
   639  						if e := recover(); e != nil {
   640  							options.panicCallback(e)
   641  						}
   642  					}()
   643  				}
   644  				if r != nil {
   645  					r(d)
   646  				}
   647  				if r1 != nil {
   648  					r1(d)
   649  				}
   650  			}
   651  		}
   652  	}
   653  	{
   654  		h1 := t.OnRepeaterWakeUp
   655  		h2 := x.OnRepeaterWakeUp
   656  		ret.OnRepeaterWakeUp = func(d DriverRepeaterWakeUpStartInfo) func(DriverRepeaterWakeUpDoneInfo) {
   657  			if options.panicCallback != nil {
   658  				defer func() {
   659  					if e := recover(); e != nil {
   660  						options.panicCallback(e)
   661  					}
   662  				}()
   663  			}
   664  			var r, r1 func(DriverRepeaterWakeUpDoneInfo)
   665  			if h1 != nil {
   666  				r = h1(d)
   667  			}
   668  			if h2 != nil {
   669  				r1 = h2(d)
   670  			}
   671  			return func(d DriverRepeaterWakeUpDoneInfo) {
   672  				if options.panicCallback != nil {
   673  					defer func() {
   674  						if e := recover(); e != nil {
   675  							options.panicCallback(e)
   676  						}
   677  					}()
   678  				}
   679  				if r != nil {
   680  					r(d)
   681  				}
   682  				if r1 != nil {
   683  					r1(d)
   684  				}
   685  			}
   686  		}
   687  	}
   688  	{
   689  		h1 := t.OnBalancerInit
   690  		h2 := x.OnBalancerInit
   691  		ret.OnBalancerInit = func(d DriverBalancerInitStartInfo) func(DriverBalancerInitDoneInfo) {
   692  			if options.panicCallback != nil {
   693  				defer func() {
   694  					if e := recover(); e != nil {
   695  						options.panicCallback(e)
   696  					}
   697  				}()
   698  			}
   699  			var r, r1 func(DriverBalancerInitDoneInfo)
   700  			if h1 != nil {
   701  				r = h1(d)
   702  			}
   703  			if h2 != nil {
   704  				r1 = h2(d)
   705  			}
   706  			return func(d DriverBalancerInitDoneInfo) {
   707  				if options.panicCallback != nil {
   708  					defer func() {
   709  						if e := recover(); e != nil {
   710  							options.panicCallback(e)
   711  						}
   712  					}()
   713  				}
   714  				if r != nil {
   715  					r(d)
   716  				}
   717  				if r1 != nil {
   718  					r1(d)
   719  				}
   720  			}
   721  		}
   722  	}
   723  	{
   724  		h1 := t.OnBalancerClose
   725  		h2 := x.OnBalancerClose
   726  		ret.OnBalancerClose = func(d DriverBalancerCloseStartInfo) func(DriverBalancerCloseDoneInfo) {
   727  			if options.panicCallback != nil {
   728  				defer func() {
   729  					if e := recover(); e != nil {
   730  						options.panicCallback(e)
   731  					}
   732  				}()
   733  			}
   734  			var r, r1 func(DriverBalancerCloseDoneInfo)
   735  			if h1 != nil {
   736  				r = h1(d)
   737  			}
   738  			if h2 != nil {
   739  				r1 = h2(d)
   740  			}
   741  			return func(d DriverBalancerCloseDoneInfo) {
   742  				if options.panicCallback != nil {
   743  					defer func() {
   744  						if e := recover(); e != nil {
   745  							options.panicCallback(e)
   746  						}
   747  					}()
   748  				}
   749  				if r != nil {
   750  					r(d)
   751  				}
   752  				if r1 != nil {
   753  					r1(d)
   754  				}
   755  			}
   756  		}
   757  	}
   758  	{
   759  		h1 := t.OnBalancerChooseEndpoint
   760  		h2 := x.OnBalancerChooseEndpoint
   761  		ret.OnBalancerChooseEndpoint = func(d DriverBalancerChooseEndpointStartInfo) func(DriverBalancerChooseEndpointDoneInfo) {
   762  			if options.panicCallback != nil {
   763  				defer func() {
   764  					if e := recover(); e != nil {
   765  						options.panicCallback(e)
   766  					}
   767  				}()
   768  			}
   769  			var r, r1 func(DriverBalancerChooseEndpointDoneInfo)
   770  			if h1 != nil {
   771  				r = h1(d)
   772  			}
   773  			if h2 != nil {
   774  				r1 = h2(d)
   775  			}
   776  			return func(d DriverBalancerChooseEndpointDoneInfo) {
   777  				if options.panicCallback != nil {
   778  					defer func() {
   779  						if e := recover(); e != nil {
   780  							options.panicCallback(e)
   781  						}
   782  					}()
   783  				}
   784  				if r != nil {
   785  					r(d)
   786  				}
   787  				if r1 != nil {
   788  					r1(d)
   789  				}
   790  			}
   791  		}
   792  	}
   793  	{
   794  		h1 := t.OnBalancerClusterDiscoveryAttempt
   795  		h2 := x.OnBalancerClusterDiscoveryAttempt
   796  		ret.OnBalancerClusterDiscoveryAttempt = func(d DriverBalancerClusterDiscoveryAttemptStartInfo) func(DriverBalancerClusterDiscoveryAttemptDoneInfo) {
   797  			if options.panicCallback != nil {
   798  				defer func() {
   799  					if e := recover(); e != nil {
   800  						options.panicCallback(e)
   801  					}
   802  				}()
   803  			}
   804  			var r, r1 func(DriverBalancerClusterDiscoveryAttemptDoneInfo)
   805  			if h1 != nil {
   806  				r = h1(d)
   807  			}
   808  			if h2 != nil {
   809  				r1 = h2(d)
   810  			}
   811  			return func(d DriverBalancerClusterDiscoveryAttemptDoneInfo) {
   812  				if options.panicCallback != nil {
   813  					defer func() {
   814  						if e := recover(); e != nil {
   815  							options.panicCallback(e)
   816  						}
   817  					}()
   818  				}
   819  				if r != nil {
   820  					r(d)
   821  				}
   822  				if r1 != nil {
   823  					r1(d)
   824  				}
   825  			}
   826  		}
   827  	}
   828  	{
   829  		h1 := t.OnBalancerUpdate
   830  		h2 := x.OnBalancerUpdate
   831  		ret.OnBalancerUpdate = func(d DriverBalancerUpdateStartInfo) func(DriverBalancerUpdateDoneInfo) {
   832  			if options.panicCallback != nil {
   833  				defer func() {
   834  					if e := recover(); e != nil {
   835  						options.panicCallback(e)
   836  					}
   837  				}()
   838  			}
   839  			var r, r1 func(DriverBalancerUpdateDoneInfo)
   840  			if h1 != nil {
   841  				r = h1(d)
   842  			}
   843  			if h2 != nil {
   844  				r1 = h2(d)
   845  			}
   846  			return func(d DriverBalancerUpdateDoneInfo) {
   847  				if options.panicCallback != nil {
   848  					defer func() {
   849  						if e := recover(); e != nil {
   850  							options.panicCallback(e)
   851  						}
   852  					}()
   853  				}
   854  				if r != nil {
   855  					r(d)
   856  				}
   857  				if r1 != nil {
   858  					r1(d)
   859  				}
   860  			}
   861  		}
   862  	}
   863  	{
   864  		h1 := t.OnGetCredentials
   865  		h2 := x.OnGetCredentials
   866  		ret.OnGetCredentials = func(d DriverGetCredentialsStartInfo) func(DriverGetCredentialsDoneInfo) {
   867  			if options.panicCallback != nil {
   868  				defer func() {
   869  					if e := recover(); e != nil {
   870  						options.panicCallback(e)
   871  					}
   872  				}()
   873  			}
   874  			var r, r1 func(DriverGetCredentialsDoneInfo)
   875  			if h1 != nil {
   876  				r = h1(d)
   877  			}
   878  			if h2 != nil {
   879  				r1 = h2(d)
   880  			}
   881  			return func(d DriverGetCredentialsDoneInfo) {
   882  				if options.panicCallback != nil {
   883  					defer func() {
   884  						if e := recover(); e != nil {
   885  							options.panicCallback(e)
   886  						}
   887  					}()
   888  				}
   889  				if r != nil {
   890  					r(d)
   891  				}
   892  				if r1 != nil {
   893  					r1(d)
   894  				}
   895  			}
   896  		}
   897  	}
   898  	return &ret
   899  }
   900  func (t *Driver) onInit(d DriverInitStartInfo) func(DriverInitDoneInfo) {
   901  	fn := t.OnInit
   902  	if fn == nil {
   903  		return func(DriverInitDoneInfo) {
   904  			return
   905  		}
   906  	}
   907  	res := fn(d)
   908  	if res == nil {
   909  		return func(DriverInitDoneInfo) {
   910  			return
   911  		}
   912  	}
   913  	return res
   914  }
   915  func (t *Driver) onWith(d DriverWithStartInfo) func(DriverWithDoneInfo) {
   916  	fn := t.OnWith
   917  	if fn == nil {
   918  		return func(DriverWithDoneInfo) {
   919  			return
   920  		}
   921  	}
   922  	res := fn(d)
   923  	if res == nil {
   924  		return func(DriverWithDoneInfo) {
   925  			return
   926  		}
   927  	}
   928  	return res
   929  }
   930  func (t *Driver) onClose(d DriverCloseStartInfo) func(DriverCloseDoneInfo) {
   931  	fn := t.OnClose
   932  	if fn == nil {
   933  		return func(DriverCloseDoneInfo) {
   934  			return
   935  		}
   936  	}
   937  	res := fn(d)
   938  	if res == nil {
   939  		return func(DriverCloseDoneInfo) {
   940  			return
   941  		}
   942  	}
   943  	return res
   944  }
   945  func (t *Driver) onPoolNew(d DriverConnPoolNewStartInfo) func(DriverConnPoolNewDoneInfo) {
   946  	fn := t.OnPoolNew
   947  	if fn == nil {
   948  		return func(DriverConnPoolNewDoneInfo) {
   949  			return
   950  		}
   951  	}
   952  	res := fn(d)
   953  	if res == nil {
   954  		return func(DriverConnPoolNewDoneInfo) {
   955  			return
   956  		}
   957  	}
   958  	return res
   959  }
   960  func (t *Driver) onPoolRelease(d DriverConnPoolReleaseStartInfo) func(DriverConnPoolReleaseDoneInfo) {
   961  	fn := t.OnPoolRelease
   962  	if fn == nil {
   963  		return func(DriverConnPoolReleaseDoneInfo) {
   964  			return
   965  		}
   966  	}
   967  	res := fn(d)
   968  	if res == nil {
   969  		return func(DriverConnPoolReleaseDoneInfo) {
   970  			return
   971  		}
   972  	}
   973  	return res
   974  }
   975  func (t *Driver) onResolve(d DriverResolveStartInfo) func(DriverResolveDoneInfo) {
   976  	fn := t.OnResolve
   977  	if fn == nil {
   978  		return func(DriverResolveDoneInfo) {
   979  			return
   980  		}
   981  	}
   982  	res := fn(d)
   983  	if res == nil {
   984  		return func(DriverResolveDoneInfo) {
   985  			return
   986  		}
   987  	}
   988  	return res
   989  }
   990  func (t *Driver) onConnStateChange(d DriverConnStateChangeStartInfo) func(DriverConnStateChangeDoneInfo) {
   991  	fn := t.OnConnStateChange
   992  	if fn == nil {
   993  		return func(DriverConnStateChangeDoneInfo) {
   994  			return
   995  		}
   996  	}
   997  	res := fn(d)
   998  	if res == nil {
   999  		return func(DriverConnStateChangeDoneInfo) {
  1000  			return
  1001  		}
  1002  	}
  1003  	return res
  1004  }
  1005  func (t *Driver) onConnInvoke(d DriverConnInvokeStartInfo) func(DriverConnInvokeDoneInfo) {
  1006  	fn := t.OnConnInvoke
  1007  	if fn == nil {
  1008  		return func(DriverConnInvokeDoneInfo) {
  1009  			return
  1010  		}
  1011  	}
  1012  	res := fn(d)
  1013  	if res == nil {
  1014  		return func(DriverConnInvokeDoneInfo) {
  1015  			return
  1016  		}
  1017  	}
  1018  	return res
  1019  }
  1020  func (t *Driver) onConnNewStream(d DriverConnNewStreamStartInfo) func(DriverConnNewStreamDoneInfo) {
  1021  	fn := t.OnConnNewStream
  1022  	if fn == nil {
  1023  		return func(DriverConnNewStreamDoneInfo) {
  1024  			return
  1025  		}
  1026  	}
  1027  	res := fn(d)
  1028  	if res == nil {
  1029  		return func(DriverConnNewStreamDoneInfo) {
  1030  			return
  1031  		}
  1032  	}
  1033  	return res
  1034  }
  1035  func (t *Driver) onConnStreamRecvMsg(d DriverConnStreamRecvMsgStartInfo) func(DriverConnStreamRecvMsgDoneInfo) {
  1036  	fn := t.OnConnStreamRecvMsg
  1037  	if fn == nil {
  1038  		return func(DriverConnStreamRecvMsgDoneInfo) {
  1039  			return
  1040  		}
  1041  	}
  1042  	res := fn(d)
  1043  	if res == nil {
  1044  		return func(DriverConnStreamRecvMsgDoneInfo) {
  1045  			return
  1046  		}
  1047  	}
  1048  	return res
  1049  }
  1050  func (t *Driver) onConnStreamSendMsg(d DriverConnStreamSendMsgStartInfo) func(DriverConnStreamSendMsgDoneInfo) {
  1051  	fn := t.OnConnStreamSendMsg
  1052  	if fn == nil {
  1053  		return func(DriverConnStreamSendMsgDoneInfo) {
  1054  			return
  1055  		}
  1056  	}
  1057  	res := fn(d)
  1058  	if res == nil {
  1059  		return func(DriverConnStreamSendMsgDoneInfo) {
  1060  			return
  1061  		}
  1062  	}
  1063  	return res
  1064  }
  1065  func (t *Driver) onConnStreamCloseSend(d DriverConnStreamCloseSendStartInfo) func(DriverConnStreamCloseSendDoneInfo) {
  1066  	fn := t.OnConnStreamCloseSend
  1067  	if fn == nil {
  1068  		return func(DriverConnStreamCloseSendDoneInfo) {
  1069  			return
  1070  		}
  1071  	}
  1072  	res := fn(d)
  1073  	if res == nil {
  1074  		return func(DriverConnStreamCloseSendDoneInfo) {
  1075  			return
  1076  		}
  1077  	}
  1078  	return res
  1079  }
  1080  func (t *Driver) onConnStreamFinish(info DriverConnStreamFinishInfo) {
  1081  	fn := t.OnConnStreamFinish
  1082  	if fn == nil {
  1083  		return
  1084  	}
  1085  	fn(info)
  1086  }
  1087  func (t *Driver) onConnDial(d DriverConnDialStartInfo) func(DriverConnDialDoneInfo) {
  1088  	fn := t.OnConnDial
  1089  	if fn == nil {
  1090  		return func(DriverConnDialDoneInfo) {
  1091  			return
  1092  		}
  1093  	}
  1094  	res := fn(d)
  1095  	if res == nil {
  1096  		return func(DriverConnDialDoneInfo) {
  1097  			return
  1098  		}
  1099  	}
  1100  	return res
  1101  }
  1102  func (t *Driver) onConnBan(d DriverConnBanStartInfo) func(DriverConnBanDoneInfo) {
  1103  	fn := t.OnConnBan
  1104  	if fn == nil {
  1105  		return func(DriverConnBanDoneInfo) {
  1106  			return
  1107  		}
  1108  	}
  1109  	res := fn(d)
  1110  	if res == nil {
  1111  		return func(DriverConnBanDoneInfo) {
  1112  			return
  1113  		}
  1114  	}
  1115  	return res
  1116  }
  1117  func (t *Driver) onConnAllow(d DriverConnAllowStartInfo) func(DriverConnAllowDoneInfo) {
  1118  	fn := t.OnConnAllow
  1119  	if fn == nil {
  1120  		return func(DriverConnAllowDoneInfo) {
  1121  			return
  1122  		}
  1123  	}
  1124  	res := fn(d)
  1125  	if res == nil {
  1126  		return func(DriverConnAllowDoneInfo) {
  1127  			return
  1128  		}
  1129  	}
  1130  	return res
  1131  }
  1132  func (t *Driver) onConnPark(d DriverConnParkStartInfo) func(DriverConnParkDoneInfo) {
  1133  	fn := t.OnConnPark
  1134  	if fn == nil {
  1135  		return func(DriverConnParkDoneInfo) {
  1136  			return
  1137  		}
  1138  	}
  1139  	res := fn(d)
  1140  	if res == nil {
  1141  		return func(DriverConnParkDoneInfo) {
  1142  			return
  1143  		}
  1144  	}
  1145  	return res
  1146  }
  1147  func (t *Driver) onConnClose(d DriverConnCloseStartInfo) func(DriverConnCloseDoneInfo) {
  1148  	fn := t.OnConnClose
  1149  	if fn == nil {
  1150  		return func(DriverConnCloseDoneInfo) {
  1151  			return
  1152  		}
  1153  	}
  1154  	res := fn(d)
  1155  	if res == nil {
  1156  		return func(DriverConnCloseDoneInfo) {
  1157  			return
  1158  		}
  1159  	}
  1160  	return res
  1161  }
  1162  func (t *Driver) onRepeaterWakeUp(d DriverRepeaterWakeUpStartInfo) func(DriverRepeaterWakeUpDoneInfo) {
  1163  	fn := t.OnRepeaterWakeUp
  1164  	if fn == nil {
  1165  		return func(DriverRepeaterWakeUpDoneInfo) {
  1166  			return
  1167  		}
  1168  	}
  1169  	res := fn(d)
  1170  	if res == nil {
  1171  		return func(DriverRepeaterWakeUpDoneInfo) {
  1172  			return
  1173  		}
  1174  	}
  1175  	return res
  1176  }
  1177  func (t *Driver) onBalancerInit(d DriverBalancerInitStartInfo) func(DriverBalancerInitDoneInfo) {
  1178  	fn := t.OnBalancerInit
  1179  	if fn == nil {
  1180  		return func(DriverBalancerInitDoneInfo) {
  1181  			return
  1182  		}
  1183  	}
  1184  	res := fn(d)
  1185  	if res == nil {
  1186  		return func(DriverBalancerInitDoneInfo) {
  1187  			return
  1188  		}
  1189  	}
  1190  	return res
  1191  }
  1192  func (t *Driver) onBalancerClose(d DriverBalancerCloseStartInfo) func(DriverBalancerCloseDoneInfo) {
  1193  	fn := t.OnBalancerClose
  1194  	if fn == nil {
  1195  		return func(DriverBalancerCloseDoneInfo) {
  1196  			return
  1197  		}
  1198  	}
  1199  	res := fn(d)
  1200  	if res == nil {
  1201  		return func(DriverBalancerCloseDoneInfo) {
  1202  			return
  1203  		}
  1204  	}
  1205  	return res
  1206  }
  1207  func (t *Driver) onBalancerChooseEndpoint(d DriverBalancerChooseEndpointStartInfo) func(DriverBalancerChooseEndpointDoneInfo) {
  1208  	fn := t.OnBalancerChooseEndpoint
  1209  	if fn == nil {
  1210  		return func(DriverBalancerChooseEndpointDoneInfo) {
  1211  			return
  1212  		}
  1213  	}
  1214  	res := fn(d)
  1215  	if res == nil {
  1216  		return func(DriverBalancerChooseEndpointDoneInfo) {
  1217  			return
  1218  		}
  1219  	}
  1220  	return res
  1221  }
  1222  func (t *Driver) onBalancerClusterDiscoveryAttempt(d DriverBalancerClusterDiscoveryAttemptStartInfo) func(DriverBalancerClusterDiscoveryAttemptDoneInfo) {
  1223  	fn := t.OnBalancerClusterDiscoveryAttempt
  1224  	if fn == nil {
  1225  		return func(DriverBalancerClusterDiscoveryAttemptDoneInfo) {
  1226  			return
  1227  		}
  1228  	}
  1229  	res := fn(d)
  1230  	if res == nil {
  1231  		return func(DriverBalancerClusterDiscoveryAttemptDoneInfo) {
  1232  			return
  1233  		}
  1234  	}
  1235  	return res
  1236  }
  1237  func (t *Driver) onBalancerUpdate(d DriverBalancerUpdateStartInfo) func(DriverBalancerUpdateDoneInfo) {
  1238  	fn := t.OnBalancerUpdate
  1239  	if fn == nil {
  1240  		return func(DriverBalancerUpdateDoneInfo) {
  1241  			return
  1242  		}
  1243  	}
  1244  	res := fn(d)
  1245  	if res == nil {
  1246  		return func(DriverBalancerUpdateDoneInfo) {
  1247  			return
  1248  		}
  1249  	}
  1250  	return res
  1251  }
  1252  func (t *Driver) onGetCredentials(d DriverGetCredentialsStartInfo) func(DriverGetCredentialsDoneInfo) {
  1253  	fn := t.OnGetCredentials
  1254  	if fn == nil {
  1255  		return func(DriverGetCredentialsDoneInfo) {
  1256  			return
  1257  		}
  1258  	}
  1259  	res := fn(d)
  1260  	if res == nil {
  1261  		return func(DriverGetCredentialsDoneInfo) {
  1262  			return
  1263  		}
  1264  	}
  1265  	return res
  1266  }
  1267  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1268  func DriverOnInit(t *Driver, c *context.Context, call call, endpoint string, database string, secure bool) func(error) {
  1269  	var p DriverInitStartInfo
  1270  	p.Context = c
  1271  	p.Call = call
  1272  	p.Endpoint = endpoint
  1273  	p.Database = database
  1274  	p.Secure = secure
  1275  	res := t.onInit(p)
  1276  	return func(e error) {
  1277  		var p DriverInitDoneInfo
  1278  		p.Error = e
  1279  		res(p)
  1280  	}
  1281  }
  1282  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1283  func DriverOnWith(t *Driver, c *context.Context, call call, endpoint string, database string, secure bool) func(error) {
  1284  	var p DriverWithStartInfo
  1285  	p.Context = c
  1286  	p.Call = call
  1287  	p.Endpoint = endpoint
  1288  	p.Database = database
  1289  	p.Secure = secure
  1290  	res := t.onWith(p)
  1291  	return func(e error) {
  1292  		var p DriverWithDoneInfo
  1293  		p.Error = e
  1294  		res(p)
  1295  	}
  1296  }
  1297  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1298  func DriverOnClose(t *Driver, c *context.Context, call call) func(error) {
  1299  	var p DriverCloseStartInfo
  1300  	p.Context = c
  1301  	p.Call = call
  1302  	res := t.onClose(p)
  1303  	return func(e error) {
  1304  		var p DriverCloseDoneInfo
  1305  		p.Error = e
  1306  		res(p)
  1307  	}
  1308  }
  1309  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1310  func DriverOnPoolNew(t *Driver, c *context.Context, call call) func() {
  1311  	var p DriverConnPoolNewStartInfo
  1312  	p.Context = c
  1313  	p.Call = call
  1314  	res := t.onPoolNew(p)
  1315  	return func() {
  1316  		var p DriverConnPoolNewDoneInfo
  1317  		res(p)
  1318  	}
  1319  }
  1320  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1321  func DriverOnPoolRelease(t *Driver, c *context.Context, call call) func(error) {
  1322  	var p DriverConnPoolReleaseStartInfo
  1323  	p.Context = c
  1324  	p.Call = call
  1325  	res := t.onPoolRelease(p)
  1326  	return func(e error) {
  1327  		var p DriverConnPoolReleaseDoneInfo
  1328  		p.Error = e
  1329  		res(p)
  1330  	}
  1331  }
  1332  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1333  func DriverOnResolve(t *Driver, call call, target string, resolved []string) func(error) {
  1334  	var p DriverResolveStartInfo
  1335  	p.Call = call
  1336  	p.Target = target
  1337  	p.Resolved = resolved
  1338  	res := t.onResolve(p)
  1339  	return func(e error) {
  1340  		var p DriverResolveDoneInfo
  1341  		p.Error = e
  1342  		res(p)
  1343  	}
  1344  }
  1345  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1346  func DriverOnConnStateChange(t *Driver, c *context.Context, call call, endpoint EndpointInfo, state ConnState) func(state ConnState) {
  1347  	var p DriverConnStateChangeStartInfo
  1348  	p.Context = c
  1349  	p.Call = call
  1350  	p.Endpoint = endpoint
  1351  	p.State = state
  1352  	res := t.onConnStateChange(p)
  1353  	return func(state ConnState) {
  1354  		var p DriverConnStateChangeDoneInfo
  1355  		p.State = state
  1356  		res(p)
  1357  	}
  1358  }
  1359  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1360  func DriverOnConnInvoke(t *Driver, c *context.Context, call call, endpoint EndpointInfo, m Method) func(_ error, issues []Issue, opID string, state ConnState, metadata map[string][]string) {
  1361  	var p DriverConnInvokeStartInfo
  1362  	p.Context = c
  1363  	p.Call = call
  1364  	p.Endpoint = endpoint
  1365  	p.Method = m
  1366  	res := t.onConnInvoke(p)
  1367  	return func(e error, issues []Issue, opID string, state ConnState, metadata map[string][]string) {
  1368  		var p DriverConnInvokeDoneInfo
  1369  		p.Error = e
  1370  		p.Issues = issues
  1371  		p.OpID = opID
  1372  		p.State = state
  1373  		p.Metadata = metadata
  1374  		res(p)
  1375  	}
  1376  }
  1377  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1378  func DriverOnConnNewStream(t *Driver, c *context.Context, call call, endpoint EndpointInfo, m Method) func(_ error, state ConnState) {
  1379  	var p DriverConnNewStreamStartInfo
  1380  	p.Context = c
  1381  	p.Call = call
  1382  	p.Endpoint = endpoint
  1383  	p.Method = m
  1384  	res := t.onConnNewStream(p)
  1385  	return func(e error, state ConnState) {
  1386  		var p DriverConnNewStreamDoneInfo
  1387  		p.Error = e
  1388  		p.State = state
  1389  		res(p)
  1390  	}
  1391  }
  1392  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1393  func DriverOnConnStreamRecvMsg(t *Driver, c *context.Context, call call) func(error) {
  1394  	var p DriverConnStreamRecvMsgStartInfo
  1395  	p.Context = c
  1396  	p.Call = call
  1397  	res := t.onConnStreamRecvMsg(p)
  1398  	return func(e error) {
  1399  		var p DriverConnStreamRecvMsgDoneInfo
  1400  		p.Error = e
  1401  		res(p)
  1402  	}
  1403  }
  1404  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1405  func DriverOnConnStreamSendMsg(t *Driver, c *context.Context, call call) func(error) {
  1406  	var p DriverConnStreamSendMsgStartInfo
  1407  	p.Context = c
  1408  	p.Call = call
  1409  	res := t.onConnStreamSendMsg(p)
  1410  	return func(e error) {
  1411  		var p DriverConnStreamSendMsgDoneInfo
  1412  		p.Error = e
  1413  		res(p)
  1414  	}
  1415  }
  1416  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1417  func DriverOnConnStreamCloseSend(t *Driver, c *context.Context, call call) func(error) {
  1418  	var p DriverConnStreamCloseSendStartInfo
  1419  	p.Context = c
  1420  	p.Call = call
  1421  	res := t.onConnStreamCloseSend(p)
  1422  	return func(e error) {
  1423  		var p DriverConnStreamCloseSendDoneInfo
  1424  		p.Error = e
  1425  		res(p)
  1426  	}
  1427  }
  1428  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1429  func DriverOnConnStreamFinish(t *Driver, c context.Context, call call, e error) {
  1430  	var p DriverConnStreamFinishInfo
  1431  	p.Context = c
  1432  	p.Call = call
  1433  	p.Error = e
  1434  	t.onConnStreamFinish(p)
  1435  }
  1436  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1437  func DriverOnConnDial(t *Driver, c *context.Context, call call, endpoint EndpointInfo) func(error) {
  1438  	var p DriverConnDialStartInfo
  1439  	p.Context = c
  1440  	p.Call = call
  1441  	p.Endpoint = endpoint
  1442  	res := t.onConnDial(p)
  1443  	return func(e error) {
  1444  		var p DriverConnDialDoneInfo
  1445  		p.Error = e
  1446  		res(p)
  1447  	}
  1448  }
  1449  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1450  func DriverOnConnBan(t *Driver, c *context.Context, call call, endpoint EndpointInfo, state ConnState, cause error) func(state ConnState) {
  1451  	var p DriverConnBanStartInfo
  1452  	p.Context = c
  1453  	p.Call = call
  1454  	p.Endpoint = endpoint
  1455  	p.State = state
  1456  	p.Cause = cause
  1457  	res := t.onConnBan(p)
  1458  	return func(state ConnState) {
  1459  		var p DriverConnBanDoneInfo
  1460  		p.State = state
  1461  		res(p)
  1462  	}
  1463  }
  1464  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1465  func DriverOnConnAllow(t *Driver, c *context.Context, call call, endpoint EndpointInfo, state ConnState) func(state ConnState) {
  1466  	var p DriverConnAllowStartInfo
  1467  	p.Context = c
  1468  	p.Call = call
  1469  	p.Endpoint = endpoint
  1470  	p.State = state
  1471  	res := t.onConnAllow(p)
  1472  	return func(state ConnState) {
  1473  		var p DriverConnAllowDoneInfo
  1474  		p.State = state
  1475  		res(p)
  1476  	}
  1477  }
  1478  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1479  func DriverOnConnPark(t *Driver, c *context.Context, call call, endpoint EndpointInfo) func(error) {
  1480  	var p DriverConnParkStartInfo
  1481  	p.Context = c
  1482  	p.Call = call
  1483  	p.Endpoint = endpoint
  1484  	res := t.onConnPark(p)
  1485  	return func(e error) {
  1486  		var p DriverConnParkDoneInfo
  1487  		p.Error = e
  1488  		res(p)
  1489  	}
  1490  }
  1491  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1492  func DriverOnConnClose(t *Driver, c *context.Context, call call, endpoint EndpointInfo) func(error) {
  1493  	var p DriverConnCloseStartInfo
  1494  	p.Context = c
  1495  	p.Call = call
  1496  	p.Endpoint = endpoint
  1497  	res := t.onConnClose(p)
  1498  	return func(e error) {
  1499  		var p DriverConnCloseDoneInfo
  1500  		p.Error = e
  1501  		res(p)
  1502  	}
  1503  }
  1504  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1505  func DriverOnRepeaterWakeUp(t *Driver, c *context.Context, call call, name string, event string) func(error) {
  1506  	var p DriverRepeaterWakeUpStartInfo
  1507  	p.Context = c
  1508  	p.Call = call
  1509  	p.Name = name
  1510  	p.Event = event
  1511  	res := t.onRepeaterWakeUp(p)
  1512  	return func(e error) {
  1513  		var p DriverRepeaterWakeUpDoneInfo
  1514  		p.Error = e
  1515  		res(p)
  1516  	}
  1517  }
  1518  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1519  func DriverOnBalancerInit(t *Driver, c *context.Context, call call, name string) func(error) {
  1520  	var p DriverBalancerInitStartInfo
  1521  	p.Context = c
  1522  	p.Call = call
  1523  	p.Name = name
  1524  	res := t.onBalancerInit(p)
  1525  	return func(e error) {
  1526  		var p DriverBalancerInitDoneInfo
  1527  		p.Error = e
  1528  		res(p)
  1529  	}
  1530  }
  1531  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1532  func DriverOnBalancerClose(t *Driver, c *context.Context, call call) func(error) {
  1533  	var p DriverBalancerCloseStartInfo
  1534  	p.Context = c
  1535  	p.Call = call
  1536  	res := t.onBalancerClose(p)
  1537  	return func(e error) {
  1538  		var p DriverBalancerCloseDoneInfo
  1539  		p.Error = e
  1540  		res(p)
  1541  	}
  1542  }
  1543  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1544  func DriverOnBalancerChooseEndpoint(t *Driver, c *context.Context, call call) func(endpoint EndpointInfo, _ error) {
  1545  	var p DriverBalancerChooseEndpointStartInfo
  1546  	p.Context = c
  1547  	p.Call = call
  1548  	res := t.onBalancerChooseEndpoint(p)
  1549  	return func(endpoint EndpointInfo, e error) {
  1550  		var p DriverBalancerChooseEndpointDoneInfo
  1551  		p.Endpoint = endpoint
  1552  		p.Error = e
  1553  		res(p)
  1554  	}
  1555  }
  1556  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1557  func DriverOnBalancerClusterDiscoveryAttempt(t *Driver, c *context.Context, call call, address string, database string) func(error) {
  1558  	var p DriverBalancerClusterDiscoveryAttemptStartInfo
  1559  	p.Context = c
  1560  	p.Call = call
  1561  	p.Address = address
  1562  	p.Database = database
  1563  	res := t.onBalancerClusterDiscoveryAttempt(p)
  1564  	return func(e error) {
  1565  		var p DriverBalancerClusterDiscoveryAttemptDoneInfo
  1566  		p.Error = e
  1567  		res(p)
  1568  	}
  1569  }
  1570  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1571  func DriverOnBalancerUpdate(t *Driver, c *context.Context, call call, needLocalDC bool, database string) func(endpoints []EndpointInfo, added []EndpointInfo, dropped []EndpointInfo, localDC string) {
  1572  	var p DriverBalancerUpdateStartInfo
  1573  	p.Context = c
  1574  	p.Call = call
  1575  	p.NeedLocalDC = needLocalDC
  1576  	p.Database = database
  1577  	res := t.onBalancerUpdate(p)
  1578  	return func(endpoints []EndpointInfo, added []EndpointInfo, dropped []EndpointInfo, localDC string) {
  1579  		var p DriverBalancerUpdateDoneInfo
  1580  		p.Endpoints = endpoints
  1581  		p.Added = added
  1582  		p.Dropped = dropped
  1583  		p.LocalDC = localDC
  1584  		res(p)
  1585  	}
  1586  }
  1587  // Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
  1588  func DriverOnGetCredentials(t *Driver, c *context.Context, call call) func(token string, _ error) {
  1589  	var p DriverGetCredentialsStartInfo
  1590  	p.Context = c
  1591  	p.Call = call
  1592  	res := t.onGetCredentials(p)
  1593  	return func(token string, e error) {
  1594  		var p DriverGetCredentialsDoneInfo
  1595  		p.Token = token
  1596  		p.Error = e
  1597  		res(p)
  1598  	}
  1599  }