| // Copyright 2023 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Events related to adding and removing users from Chrome. |
| |
| syntax = "proto2"; |
| |
| option optimize_for = LITE_RUNTIME; |
| |
| import "session_affiliated_user.proto"; |
| |
| package ash.reporting; |
| |
| enum ConnectionType { |
| CRD_CONNECTION_UNKNOWN = 0; |
| CRD_CONNECTION_DIRECT = 1; |
| CRD_CONNECTION_RELAY = 2; |
| CRD_CONNECTION_STUN = 3; |
| } |
| |
| // To be reported when host is started. |
| message CRDHostStarted {} |
| |
| // To be reported when client is connected or reconnected. |
| message CRDClientConnected { |
| optional string host_ip = 1; |
| optional string client_ip = 2; |
| optional string session_id = 3; |
| optional ConnectionType connection_type = 4; |
| } |
| |
| // To be reported when client is disconnected. |
| message CRDClientDisconnected { |
| optional string host_ip = 1; |
| optional string client_ip = 2; |
| optional string session_id = 3; |
| } |
| |
| // To be reported when host is ended. |
| message CRDHostEnded {} |
| |
| message CRDRecord { |
| optional int64 event_timestamp_sec = 1; // Seconds since epoch. |
| |
| optional .reporting.SessionAffiliatedUser host_user = |
| 2; // Omitted if not affiliated. |
| |
| oneof event { |
| CRDHostStarted started = 3; |
| CRDClientConnected connected = 4; |
| CRDClientDisconnected disconnected = 5; |
| CRDHostEnded ended = 6; |
| } |
| |
| optional bool is_kiosk_session = 7; // true if CRD session runs on Kiosk |
| } |