blob: 1177217d73d25a418e925f9f08762751285c5046 [file] [log] [blame]
// Copyright 2015 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 reaper;
import "services/reaper/reaper.mojom";
import "services/reaper/scythe.mojom";
// Diagnostic and test support for the reaper.
interface Diagnostics {
// Returns all live nodes, in no particular order.
DumpNodes() => (array<Node> nodes);
// Clear all state.
Reset();
// Get a reaper for any app URL.
GetReaperForApp(string app_url, Reaper& reaper);
// Set whether a particular URL is a GC root or not.
SetIsRoot(string app_url, bool is_root);
// Set the tool Reaper will use to kill applications.
SetScythe(Scythe scythe);
// No-op used for creating ordering between interfaces.
Ping() => ();
};
struct Node {
string app_url;
uint32 node_id;
string other_app_url;
uint32 other_id;
bool is_source;
};