#include "cronet_c.h"
#include "base/check_op.h"
#include "components/cronet/native/test/test_util.h"
#include "components/grpc_support/test/get_stream_engine.h"
namespace grpc_support {
namespace {
class TestStreamEngineGetterImpl : public TestStreamEngineGetter {
public:
explicit TestStreamEngineGetterImpl(int port)
: cronet_engine_(cronet::test::CreateTestEngine(port)) {
CHECK(cronet_engine_);
}
~TestStreamEngineGetterImpl() override {
Cronet_Engine_Destroy(cronet_engine_);
}
stream_engine* Get() override {
return Cronet_Engine_GetStreamEngine(cronet_engine_);
}
private:
Cronet_EnginePtr cronet_engine_;
};
}
std::unique_ptr<TestStreamEngineGetter> TestStreamEngineGetter::Create(
int port) {
return std::make_unique<TestStreamEngineGetterImpl>(port);
}
}