rpc Watch (stream WatchRequest) returns (stream WatchResponse) { } message WatchRequest { oneof request_union { WatchCreateRequest create_request = 1; WatchCancelRequest cancel_request = 2; WatchProgressRequest progress_request = 3; } } message WatchCreateRequest { enum FilterType { NOPUT = 0; NODELETE = 1; } bytes key = 1; bytes range_end = 2; int64 start_revision = 3; // Request keepalive notifications bool progress_notify = 4; repeated FilterType filters = 5; bool prev_kv = 6; int64 watch_id = 7; bool fragment = 8; } message WatchResponse { ResponseHeader header = 1; int64 watch_id = 2; bool created = 3; bool canceled = 4; // Indicates attempt to watch already compacted revision int64 compact_revision = 5; string cancel_reason = 6; bool fragment = 7; repeated Event events = 11; } message Event { enum EventType { PUT = 0; DELETE = 1; } EventType type = 1; KeyValue kv = 2; KeyValue prev_kv = 3; }
events reported before cluster consensus