// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. syntax = "proto3"; option cc_enable_arenas = true; package storage.mbusprot.protobuf; import "common.proto"; message ClientVisitorParameter { bytes key = 1; bytes value = 2; } message VisitorConstraints { bytes document_selection = 1; uint64 from_time_usec = 2; uint64 to_time_usec = 3; bool visit_removes = 4; bytes field_set = 5; bool visit_inconsistent_buckets = 6; } message VisitorControlMeta { bytes instance_id = 1; bytes library_name = 2; uint32 visitor_command_id = 3; bytes control_destination = 4; bytes data_destination = 5; // TODO move? uint32 max_pending_reply_count = 6; uint32 queue_timeout = 7; uint32 max_buckets_per_visitor = 8; } message CreateVisitorRequest { BucketSpace bucket_space = 1; repeated BucketId buckets = 2; VisitorConstraints constraints = 3; VisitorControlMeta control_meta = 4; repeated ClientVisitorParameter client_parameters = 5; } message VisitorStatistics { uint32 buckets_visited = 1; uint64 documents_visited = 2; uint64 bytes_visited = 3; uint64 documents_returned = 4; uint64 bytes_returned = 5; uint64 second_pass_documents_returned = 6; // TODO don't include? orderdoc only uint64 second_pass_bytes_returned = 7; // TODO don't include? orderdoc only } message CreateVisitorResponse { VisitorStatistics visitor_statistics = 1; } message DestroyVisitorRequest { bytes instance_id = 1; } message DestroyVisitorResponse { // Currently empty }