class Trace::TraceId128Bit

Constants

HEX_REGEX_16
HEX_REGEX_32
MASK
MAX_SIGNED_I128

Public Class Methods

from_value(v) click to toggle source
# File lib/zipkin-tracer/trace.rb, line 142
def self.from_value(v)
  if v.is_a?(String) && v =~ HEX_REGEX_16
    SpanId.new(v.hex)
  elsif v.is_a?(String) && v =~ HEX_REGEX_32
    new(v.hex)
  elsif v.is_a?(Numeric)
    new(v)
  elsif v.is_a?(SpanId)
    v
  end
end
new(value) click to toggle source
# File lib/zipkin-tracer/trace.rb, line 154
def initialize(value)
  @value = value
  @i128 = if @value > MAX_SIGNED_I128
    -1 * ((@value ^ MASK) + 1)
  else
    @value
  end
end

Public Instance Methods

to_i() click to toggle source
# File lib/zipkin-tracer/trace.rb, line 164
def to_i; @i128; end
to_s() click to toggle source
# File lib/zipkin-tracer/trace.rb, line 163
def to_s; '%032x' % @value; end