chromium/services/proxy_resolver/proxy_resolver_v8_tracing.h

// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef SERVICES_PROXY_RESOLVER_PROXY_RESOLVER_V8_TRACING_H_
#define SERVICES_PROXY_RESOLVER_PROXY_RESOLVER_V8_TRACING_H_

#include <memory>

#include "base/memory/scoped_refptr.h"
#include "net/base/completion_once_callback.h"
#include "net/proxy_resolution/proxy_resolver.h"
#include "net/proxy_resolution/proxy_resolver_factory.h"

namespace net {
class NetLogWithSource;
class NetworkAnonymizationKey;
}  // namespace net

namespace proxy_resolver {

class ProxyHostResolver;

// ProxyResolverV8Tracing is a non-blocking proxy resolver.
class ProxyResolverV8Tracing {};

// A factory for ProxyResolverV8Tracing instances. The default implementation,
// returned by Create(), creates ProxyResolverV8Tracing instances that execute
// ProxyResolverV8 on a single helper thread, and do some magic to avoid
// blocking in DNS. For more details see the design document:
// https://docs.google.com/a/google.com/document/d/16Ij5OcVnR3s0MH4Z5XkhI9VTPoMJdaBn9rKreAmGOdE/edit?pli=1
class ProxyResolverV8TracingFactory {};

}  // namespace proxy_resolver

#endif  // SERVICES_PROXY_RESOLVER_PROXY_RESOLVER_V8_TRACING_H_