300
versioningData *persistencespb.VersioningData,
301
clk *hlc.Clock,
303
>
var cT []byte
304
>
var err error
305
>
if cT, err = clk.Marshal(); err != nil {
306
return nil, serviceerror.NewInternal("error generating conflict token")
307
}
309
>
for _, ar := range versioningData.GetAssignmentRules() {
310
>
if ar.GetDeleteTimestamp() == nil {
311
>
activeAssignmentRules = append(activeAssignmentRules, &taskqueuepb.TimestampedBuildIdAssignmentRule{
312
>
Rule: ar.GetRule(),
313
>
CreateTime: hlc.ProtoTimestamp(ar.GetCreateTimestamp()),
314
>
})
315
>
}
316
}
317
>
activeRedirectRules := make([]*taskqueuepb.TimestampedCompatibleBuildIdRedirectRule, 0)
version_rule_helpers.go
318
>
for _, rr := range versioningData.GetRedirectRules() {
319
>
if rr.GetDeleteTimestamp() == nil {
320
>
activeRedirectRules = append(activeRedirectRules, &taskqueuepb.TimestampedCompatibleBuildIdRedirectRule{
321
>
Rule: rr.GetRule(),
322
>
CreateTime: hlc.ProtoTimestamp(rr.GetCreateTimestamp()),
323
>
})
324
>
}
325
}
327
>
Response: &workflowservice.GetWorkerVersioningRulesResponse{
328
>
AssignmentRules: activeAssignmentRules,
329
>
CompatibleRedirectRules: activeRedirectRules,
330
>
ConflictToken: cT,
331
>
},
332
>
}, nil
333
}
334