testcontainers-cpp 0.2.0
Native C++20 Testcontainers over the Docker Engine API
Loading...
Searching...
No Matches
DockerClient.hpp File Reference
#include <chrono>
#include <cstddef>
#include <cstdint>
#include <filesystem>
#include <functional>
#include <memory>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
#include "testcontainers/CopyToContainer.hpp"
#include "testcontainers/ExecOptions.hpp"
#include "testcontainers/ExecResult.hpp"
#include "testcontainers/RegistryAuth.hpp"
#include "testcontainers/TtySize.hpp"
#include "testcontainers/docker/BuildOptions.hpp"
#include "testcontainers/docker/ContainerSpec.hpp"
#include "testcontainers/docker/DockerHost.hpp"
#include "testcontainers/docker/Logs.hpp"
#include "testcontainers/docker/Timeouts.hpp"

Classes

struct  testcontainers::Response
 An HTTP response from the Docker Engine API. More...
class  testcontainers::DockerClient
 A synchronous client for the Docker Engine HTTP API. More...
class  testcontainers::DockerClient::Session
 While alive, THIS client instance keeps its daemon connection open across requests and reuses it for consecutive idempotent GET calls — all other requests keep opening fresh connections, so a stale-connection retry can never replay a side effect. More...
struct  testcontainers::DockerClient::PullRetry
 Bounded-retry policy for pull_image (see set_pull_retry). More...
struct  testcontainers::DockerClient::ContainerPathStat
 Metadata of a container path, decoded from the X-Docker-Container-Path-Stat header of a HEAD /containers/{id}/archive probe — a cheap existence/size check before a download (no archive is transferred). More...

Namespaces

namespace  testcontainers
namespace  testcontainers::docker

Typedefs

using testcontainers::docker::ByteSink = std::function<void(const char* data, std::size_t size)>
 Receives successive blocks of a streamed body (up to ~64 KiB each).
using testcontainers::docker::BodyProducer = std::function<void(const ByteSink& sink)>
 Writes a request body incrementally: called once per request with the sink to push blocks into; returning ends the body.