// Code generated by gtrace. DO NOT EDIT.

package trace

// ratelimiterComposeOptions is a holder of options
type ratelimiterComposeOptions struct {
	panicCallback func(e interface{})
}

// RatelimiterOption specified Ratelimiter compose option
// Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
type RatelimiterComposeOption func(o *ratelimiterComposeOptions)

// WithRatelimiterPanicCallback specified behavior on panic
// Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
func WithRatelimiterPanicCallback(cb func(e interface{})) RatelimiterComposeOption {
	return func(o *ratelimiterComposeOptions) {
		o.panicCallback = cb
	}
}

// Compose returns a new Ratelimiter which has functional fields composed both from t and x.
// Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
func (t *Ratelimiter) Compose(x *Ratelimiter, opts ...RatelimiterComposeOption) *Ratelimiter {
	if t == nil {
		return x
	}
	var ret Ratelimiter
	return &ret
}
