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

module chrome.mojom;

interface NetBenchmarking {
  // Message sent from the renderer to the browser to request that the browser
  // close all sockets.  Used for debugging/testing.
  [Sync]
  CloseCurrentConnections() => ();

  // Message sent from the renderer to the browser to request that the browser
  // clear the cache.  Used for debugging/testing.
  // |result| is the returned status from the operation.
  [Sync]
  ClearCache() => (int32 result);

  // Message sent from the renderer to the browser to request that the browser
  // clear the host cache.  Used for debugging/testing.
  [Sync]
  ClearHostResolverCache() => ();
  
  // Message sent from the renderer to the browser to request that the browser
  // clear the predictor cache.  Used for debugging/testing.
  [Sync]
  ClearPredictorCache() => ();
};
