summaryrefslogtreecommitdiff
path: root/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/Codec/CodecInterface.php
blob: 2aa7d690d8ddbf2b737294f69af25008201c9b27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php

namespace Jaeger\Codec;

use Jaeger\SpanContext;

interface CodecInterface
{
    /**
     * Handle the logic behind injecting propagation scheme specific information into the carrier
     * (e.g. http request headers, amqp message headers, etc.).
     *
     * This method can modify the carrier.
     *
     * @see \Jaeger\Tracer::inject
     *
     * @param SpanContext $spanContext
     * @param mixed $carrier
     *
     * @return void
     */
    public function inject(SpanContext $spanContext, &$carrier);

    /**
     * Handle the logic behind extracting propagation-scheme specific information from carrier
     * (e.g. http request headers, amqp message headers, etc.).
     *
     * This method must not modify the carrier.
     *
     * @see \Jaeger\Tracer::extract
     *
     * @param mixed $carrier
     * @return SpanContext|null
     */
    public function extract($carrier);
}