// Copyright 2020 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 feedwire;
import "components/feed/core/proto/v2/wire/feature.proto";
import "components/feed/core/proto/v2/wire/payload_metadata.proto";
import "components/feed/core/proto/v2/wire/render_data.proto";
import "components/feed/core/proto/v2/wire/request_schedule.proto";
import "components/feed/core/proto/v2/wire/token.proto";
option optimize_for = LITE_RUNTIME;
message DataOperation {
enum Operation {
UNKNOWN_OPERATION = 0;
CLEAR_ALL = 1;
UPDATE_OR_APPEND = 2;
REMOVE = 3;
}
oneof payload {
Feature feature = 3;
Token next_page_token = 5;
RenderData render_data = 6;
RequestSchedule request_schedule = 9;
}
optional Operation operation = 1;
optional PayloadMetadata metadata = 2;
}