223 lines
4.8 KiB
Protocol Buffer
223 lines
4.8 KiB
Protocol Buffer
// Copyright 2019 The Chromium Authors
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
syntax = "proto2";
|
|
|
|
package disk_cache_fuzzer;
|
|
|
|
enum RequestPriority {
|
|
THROTTLED = 0;
|
|
IDLE = 1;
|
|
LOWEST = 2;
|
|
LOW = 3;
|
|
MEDIUM = 4;
|
|
HIGHEST = 5;
|
|
}
|
|
|
|
message FuzzCommands {
|
|
enum CacheBackend {
|
|
SIMPLE = 0;
|
|
IN_MEMORY = 1;
|
|
BLOCK = 2;
|
|
}
|
|
required CacheBackend cache_backend = 5;
|
|
|
|
enum CacheType {
|
|
APP_CACHE = 1;
|
|
REMOVED_MEDIA_CACHE = 2;
|
|
SHADER_CACHE = 3;
|
|
PNACL_CACHE = 4;
|
|
GENERATED_BYTE_CODE_CACHE = 5;
|
|
DISK_CACHE = 6;
|
|
GENERATED_NATIVE_CODE_CACHE = 7;
|
|
}
|
|
required CacheType cache_type = 4;
|
|
|
|
optional bool set_mask = 2;
|
|
optional SetMaxSize set_max_size = 3;
|
|
repeated FuzzCommand fuzz_commands = 1;
|
|
required bool simple_cache_wait_for_index = 6;
|
|
}
|
|
|
|
message FuzzCommand {
|
|
oneof fuzz_command_oneof {
|
|
SetMaxSize set_max_size = 87;
|
|
CreateEntry create_entry = 1;
|
|
OpenEntry open_entry = 2;
|
|
OpenOrCreateEntry open_or_create_entry = 345;
|
|
CloseEntry close_entry = 3;
|
|
DoomEntry doom_entry = 4;
|
|
WriteData write_data = 5;
|
|
WriteSparseData write_sparse_data = 6;
|
|
DoomAllEntries doom_all_entries = 7;
|
|
FlushQueueForTest flush_queue_for_test = 8;
|
|
CreateIterator create_iterator = 10;
|
|
IteratorOpenNextEntry iterator_open_next_entry = 63;
|
|
FastForwardBy fast_forward_by = 11;
|
|
|
|
ReadData read_data = 12;
|
|
ReadSparseData read_sparse_data = 456;
|
|
|
|
DoomEntriesSince doom_entries_since = 13;
|
|
DoomEntriesBetween doom_entries_between = 14;
|
|
|
|
OnExternalCacheHit on_external_cache_hit = 16;
|
|
|
|
TrimForTest trim_for_test = 17;
|
|
TrimDeletedListForTest trim_deleted_list_for_test = 18;
|
|
GetAvailableRange get_available_range = 19;
|
|
CancelSparseIO cancel_sparse_io = 20;
|
|
DoomKey doom_key = 21;
|
|
DestructBackend destruct_backend = 22;
|
|
|
|
AddRealDelay add_real_delay = 23;
|
|
|
|
// Not included: GetStats, CalculateSizesOf, GetEntryInMemoryData,
|
|
// SetEntryInMemoryData, CouldBeSparse, ReadyForSparseIO
|
|
|
|
// TODO(mpdenton) FlushWorkerPoolForTesting
|
|
}
|
|
}
|
|
|
|
message SetMaxSize {
|
|
required uint32 size = 1;
|
|
}
|
|
|
|
message CreateEntry {
|
|
required uint64 key_id = 1;
|
|
required uint64 entry_id = 2;
|
|
required RequestPriority pri = 3;
|
|
required bool async = 4;
|
|
required bool is_sparse = 5;
|
|
}
|
|
|
|
message OpenEntry {
|
|
required uint64 key_id = 1;
|
|
required uint64 entry_id = 2;
|
|
required RequestPriority pri = 3;
|
|
required bool async = 4;
|
|
}
|
|
|
|
message OpenOrCreateEntry {
|
|
required uint64 key_id = 1;
|
|
required uint64 entry_id = 2;
|
|
required bool create_new = 3;
|
|
required RequestPriority pri = 4;
|
|
required bool async = 5;
|
|
required bool is_sparse = 6;
|
|
}
|
|
|
|
message CloseEntry {
|
|
required uint64 entry_id = 1;
|
|
}
|
|
|
|
message DoomEntry {
|
|
required uint64 entry_id = 1;
|
|
}
|
|
|
|
message WriteData {
|
|
required uint64 entry_id = 1;
|
|
required uint32 size = 2;
|
|
required uint32 index = 3;
|
|
required uint32 offset = 4;
|
|
required bool truncate = 5;
|
|
required bool async = 6;
|
|
}
|
|
|
|
message WriteSparseData {
|
|
required uint64 entry_id = 1;
|
|
required uint32 size = 2;
|
|
required uint64 offset = 4;
|
|
required bool async = 5;
|
|
required bool cap_offset = 6;
|
|
}
|
|
|
|
message ReadSparseData {
|
|
required uint64 entry_id = 1;
|
|
required uint32 size = 2;
|
|
required uint64 offset = 4;
|
|
required bool async = 5;
|
|
required bool cap_offset = 6;
|
|
}
|
|
|
|
message ReadData {
|
|
required uint64 entry_id = 1;
|
|
required uint32 size = 2;
|
|
required uint32 index = 3;
|
|
required uint32 offset = 4;
|
|
required bool async = 5;
|
|
}
|
|
|
|
message DoomAllEntries {
|
|
required bool async = 1;
|
|
}
|
|
|
|
message FlushQueueForTest {}
|
|
|
|
message CreateIterator {
|
|
required uint64 it_id = 1;
|
|
}
|
|
|
|
message IteratorOpenNextEntry {
|
|
required uint64 it_id = 1;
|
|
required uint64 entry_id = 2;
|
|
required bool async = 3;
|
|
}
|
|
|
|
message FastForwardBy {
|
|
required uint32 capped_num_millis = 1;
|
|
required uint64 time_id = 2;
|
|
}
|
|
|
|
message DoomEntriesBetween {
|
|
required uint64 time_id1 = 1;
|
|
required uint64 time_id2 = 2;
|
|
required bool async = 3;
|
|
}
|
|
|
|
message DoomEntriesSince {
|
|
required uint64 time_id = 1;
|
|
required bool async = 2;
|
|
}
|
|
|
|
message OnExternalCacheHit {
|
|
required uint64 key_id = 1;
|
|
}
|
|
|
|
message TrimForTest {
|
|
required bool empty = 1;
|
|
}
|
|
|
|
message TrimDeletedListForTest {
|
|
required bool empty = 1;
|
|
}
|
|
|
|
message GetAvailableRange {
|
|
required uint64 entry_id = 1;
|
|
required uint32 offset = 2;
|
|
required uint32 len = 3;
|
|
required bool async = 4;
|
|
}
|
|
|
|
message CancelSparseIO {
|
|
required uint64 entry_id = 1;
|
|
}
|
|
|
|
message DoomKey {
|
|
required uint64 key_id = 1;
|
|
required RequestPriority pri = 2;
|
|
required bool async = 3;
|
|
}
|
|
|
|
message DestructBackend {
|
|
// I want this to be uncommon, so if either of these booleans are false, we
|
|
// won't actually destruct the backend.
|
|
required bool actually_destruct1 = 1;
|
|
required bool actually_destruct2 = 2;
|
|
}
|
|
|
|
message AddRealDelay {
|
|
required bool actually_delay = 1;
|
|
}
|