@@ -88,8 +88,8 @@ func (t kubernetesTraffic) ExpectUniqueRevision() bool {
8888 return true
8989}
9090
91- func (t kubernetesTraffic ) RunTrafficLoop (ctx context.Context , c * client. RecordingClient , limiter * rate. Limiter , ids identity. Provider , lm identity. LeaseIDStorage , nonUniqueWriteLimiter ConcurrencyLimiter , keyStore * keyStore , finish <- chan struct {} ) {
92- kc := kubernetes.Client {Client : & clientv3.Client {KV : c }}
91+ func (t kubernetesTraffic ) RunTrafficLoop (ctx context.Context , p RunTrafficLoopParam ) {
92+ kc := kubernetes.Client {Client : & clientv3.Client {KV : p . Client }}
9393 s := newStorage ()
9494 keyPrefix := "/registry/" + t .resource + "/"
9595 g := errgroup.Group {}
@@ -99,11 +99,11 @@ func (t kubernetesTraffic) RunTrafficLoop(ctx context.Context, c *client.Recordi
9999 select {
100100 case <- ctx .Done ():
101101 return ctx .Err ()
102- case <- finish :
102+ case <- p . Finish :
103103 return nil
104104 default :
105105 }
106- err := t .Read (ctx , c , s , limiter , keyPrefix )
106+ err := t .Read (ctx , p . Client , s , p . QPSLimiter , keyPrefix )
107107 if err != nil {
108108 continue
109109 }
@@ -115,18 +115,18 @@ func (t kubernetesTraffic) RunTrafficLoop(ctx context.Context, c *client.Recordi
115115 select {
116116 case <- ctx .Done ():
117117 return ctx .Err ()
118- case <- finish :
118+ case <- p . Finish :
119119 return nil
120120 default :
121121 }
122122 // Avoid multiple failed writes in a row
123123 if lastWriteFailed {
124- _ , err := t .List (ctx , kc , s , limiter , keyPrefix , t .averageKeyCount , 0 )
124+ _ , err := t .List (ctx , kc , s , p . QPSLimiter , keyPrefix , t .averageKeyCount , 0 )
125125 if err != nil {
126126 continue
127127 }
128128 }
129- err := t .Write (ctx , kc , ids , s , limiter , nonUniqueWriteLimiter )
129+ err := t .Write (ctx , kc , p . IDs , s , p . QPSLimiter , p . NonUniqueRequestConcurrencyLimiter )
130130 lastWriteFailed = err != nil
131131 if err != nil {
132132 continue
@@ -271,21 +271,21 @@ func (t kubernetesTraffic) generateKey() string {
271271 return fmt .Sprintf ("/registry/%s/%s/%s" , t .resource , t .namespace , stringutil .RandString (5 ))
272272}
273273
274- func (t kubernetesTraffic ) RunCompactLoop (ctx context.Context , c * client. RecordingClient , interval time. Duration , finish <- chan struct {} ) {
274+ func (t kubernetesTraffic ) RunCompactLoop (ctx context.Context , param RunCompactLoopParam ) {
275275 // Based on https://github.com/kubernetes/apiserver/blob/7dd4904f1896e11244ba3c5a59797697709de6b6/pkg/storage/etcd3/compact.go#L112-L127
276276 var compactTime int64
277277 var rev int64
278278 var err error
279279 for {
280280 select {
281- case <- time .After (interval ):
281+ case <- time .After (param . Period ):
282282 case <- ctx .Done ():
283283 return
284- case <- finish :
284+ case <- param . Finish :
285285 return
286286 }
287287
288- compactTime , rev , err = compact (ctx , c , compactTime , rev )
288+ compactTime , rev , err = compact (ctx , param . Client , compactTime , rev )
289289 if err != nil {
290290 continue
291291 }
0 commit comments