@@ -54,42 +54,49 @@ pub const RandomIDGenerator = struct {
54
54
pub fn newIDs (ctx : * anyopaque ) TraceSpanID {
55
55
const self : * Self = @ptrCast (@alignCast (ctx ));
56
56
57
- var raw_trace_id : [16 ]u8 = undefined ;
57
+ var trace_span_id = TraceSpanID {
58
+ .trace_id = trace .TraceID .init (undefined ),
59
+ .span_id = trace .SpanID .init (undefined ),
60
+ };
58
61
while (true ) {
62
+ var raw_trace_id : [16 ]u8 = undefined ;
59
63
self .random .bytes (raw_trace_id [0.. raw_trace_id .len ]);
60
64
61
- if (trace .TraceID .isValidValue (raw_trace_id )) {
65
+ const trace_id = trace .TraceID .init (raw_trace_id );
66
+ if (trace_id .isValid ()) {
67
+ trace_span_id .trace_id = trace_id ;
62
68
break ;
63
69
}
64
70
}
65
- var raw_span_id : [ 8 ] u8 = undefined ;
71
+
66
72
while (true ) {
73
+ var raw_span_id : [8 ]u8 = undefined ;
67
74
self .random .bytes (raw_span_id [0.. raw_span_id .len ]);
68
75
69
- if (trace .SpanID .isValidValue (raw_span_id )) {
76
+ const span_id = trace .SpanID .init (raw_span_id );
77
+ if (span_id .isValid ()) {
78
+ trace_span_id .span_id = span_id ;
70
79
break ;
71
80
}
72
81
}
73
82
74
- return .{
75
- .trace_id = trace .TraceID .init (raw_trace_id ),
76
- .span_id = trace .SpanID .init (raw_span_id ),
77
- };
83
+ return trace_span_id ;
78
84
}
79
85
80
86
pub fn newSpanID (ctx : * anyopaque , _ : trace.TraceID ) trace.SpanID {
81
87
const self : * Self = @ptrCast (@alignCast (ctx ));
82
88
83
- var raw_span_id : [8 ]u8 = undefined ;
84
89
while (true ) {
90
+ var raw_span_id : [8 ]u8 = undefined ;
85
91
self .random .bytes (raw_span_id [0.. raw_span_id .len ]);
92
+ const span_id = trace .SpanID .init (raw_span_id );
86
93
87
- if (trace . SpanID . isValidValue ( raw_span_id )) {
88
- break ;
94
+ if (span_id . isValid ( )) {
95
+ return span_id ;
89
96
}
90
97
}
91
98
92
- return trace . SpanID . init ( raw_span_id ) ;
99
+ unreachable ;
93
100
}
94
101
};
95
102
0 commit comments