/** * Injects the underlying context using B3 encoding by default. */ @Override public <C> void inject(SpanContext spanContext, Format<C> format, C carrier) { Injector<TextMap> injector = formatToInjector.get(format); if (injector == null) { throw new UnsupportedOperationException(format + " not in " + formatToInjector.keySet()); } TraceContext traceContext = ((BraveSpanContext) spanContext).unwrap(); injector.inject(traceContext, (TextMap) carrier); }
/** * Extracts the underlying context using B3 encoding by default. Null is returned when there is no * encoded context in the carrier, or upon error extracting it. */ @Override public <C> BraveSpanContext extract(Format<C> format, C carrier) { Extractor<TextMap> extractor = formatToExtractor.get(format); if (extractor == null) { throw new UnsupportedOperationException(format + " not in " + formatToExtractor.keySet()); } TraceContextOrSamplingFlags extractionResult = extractor.extract((TextMap) carrier); return BraveSpanContext.create(extractionResult); }
} else if ((context = reference.unwrap()) != null) {
@Override public BraveSpanContext context() { return BraveSpanContext.create(delegate.context()); }
if (receivedContext != null) { if (receivedContext instanceof BraveSpanContext) { if (((BraveSpanContext) receivedContext).unwrap() != null) { spanBuilder.asChildOf(receivedContext);