go.mercari.io/datastore@v1.8.2/dsmiddleware/splitop/option.go (about) 1 package splitop 2 3 import "context" 4 5 // WithSplitThreshold set operation split threshold. 6 // Deprecated: use WithGetSplitThreshold instead. 7 func WithSplitThreshold(threshold int) Option { 8 return &getSplitThreshold{threshold} 9 } 10 11 // WithGetSplitThreshold set get operation split threshold. 12 func WithGetSplitThreshold(threshold int) Option { 13 return &getSplitThreshold{threshold} 14 } 15 16 type getSplitThreshold struct{ splitThreshold int } 17 18 func (w *getSplitThreshold) Apply(o *splitHandler) { 19 o.getSplitThreshold = w.splitThreshold 20 } 21 22 // WithPutSplitThreshold set put operation split threshold. 23 func WithPutSplitThreshold(threshold int) Option { 24 return &putSplitThreshold{threshold} 25 } 26 27 type putSplitThreshold struct{ splitThreshold int } 28 29 func (w *putSplitThreshold) Apply(o *splitHandler) { 30 o.putSplitThreshold = w.splitThreshold 31 } 32 33 // WithLogger creates a Option that uses the specified logger. 34 func WithLogger(logf func(ctx context.Context, format string, args ...interface{})) Option { 35 return &withLogger{logf} 36 } 37 38 type withLogger struct { 39 logf func(ctx context.Context, format string, args ...interface{}) 40 } 41 42 func (w *withLogger) Apply(o *splitHandler) { 43 o.logf = w.logf 44 }