2 * Copyright 2011 Google Inc.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 // Specification of protocol buffers that are used only on the client
20 // Note: unless otherwise specified in a comment, all fields in all messages
21 // are required, even though they are listed as optional.
25 package com.google.protos.ipc.invalidation;
27 option optimize_for = LITE_RUNTIME;
31 option java_outer_classname = "NanoClient";
32 option java_package = "com.google.protos.ipc.invalidation";
36 import "client_protocol.proto";
38 // An object that is serialized and given to clients for acknowledgement
41 optional InvalidationP invalidation = 1;
44 // The state persisted at a client so that it can be used after a reboot.
45 message PersistentTiclState {
46 // Last token received from the server (required).
47 optional bytes client_token = 1;
49 // Last time a message was sent to the server (optional). Must be a value
50 // returned by the clock in the Ticl system resources.
51 optional int64 last_message_send_time_ms = 2 [default = 0];
54 // An envelope containing a Ticl's internal state, along with a digest of the
55 // serialized representation of this state, to ensure its integrity across
56 // reads and writes to persistent storage.
57 message PersistentStateBlob {
58 // The (important parts of the) Ticl's internal state.
59 optional PersistentTiclState ticl_state = 1;
61 // Implementation-specific message authentication code for the Ticl state.
62 optional bytes authentication_code = 2;
65 // State of a Ticl RunState.
72 optional State state = 1;
75 // Fields in this message correspond directly to fields in
76 // ExponentialBackoffDelayGenerator.
77 message ExponentialBackoffState {
78 optional int32 current_max_delay = 1;
79 optional bool in_retry_mode = 2;