summaryrefslogtreecommitdiff
path: root/vendor/open-telemetry/sdk/Common/Export/TransportInterface.php
blob: 5fb26eff8915f8b18ec6b354eb2184119d681707 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php

declare(strict_types=1);

namespace OpenTelemetry\SDK\Common\Export;

use OpenTelemetry\SDK\Common\Future\CancellationInterface;
use OpenTelemetry\SDK\Common\Future\FutureInterface;

/**
 * @psalm-template-covariant CONTENT_TYPE of string
 */
interface TransportInterface
{
    public function contentType(): string;

    public function send(string $payload, ?CancellationInterface $cancellation = null): FutureInterface;

    public function shutdown(?CancellationInterface $cancellation = null): bool;

    public function forceFlush(?CancellationInterface $cancellation = null): bool;
}