blob: a59a8d04a9722f350f94a31202a3967dcf8940ec [file] [log] [blame]
syntax = "proto2";
package copresence;
option optimize_for = LITE_RUNTIME;
message Configuration {
optional string etag = 3 [default = ""];
optional SystemParams system = 5;
optional CarrierSenseParams carrier_sense = 6;
optional AudioDsssParams audio_dsss = 7;
optional LoggerParam logger = 13;
optional ClientDirectiveParams client_directive = 14;
optional AudioDtmfParams audio_dtmf = 15;
}
message DirectiveConfiguration {
optional TokenParams token_params = 1;
}
message TokenParams {
optional int32 length = 1 [default = 6];
optional string prefix = 2 [default = "GCS"];
}
message ClientDirectiveParams {
optional TokenParams audio_ultrasound_passband = 1;
optional TokenParams audio_audible_dtmf = 7;
}
message SystemParams {
optional bool enable_copresence_support = 1 [default = true];
optional bool enable_listen_ultrasound_audio = 2 [default = true];
optional bool enable_advertise_ultrasound_audio = 3 [default = true];
optional int64 kick_scheduler_timeout_millis = 16 [default = 30000];
optional int64 copresence_state_pruning_millis = 17 [default = 604800000];
optional int32 num_oauth_retries = 18 [default = 3];
optional int64 default_state_transition_timeout_millis = 19 [default = 1000];
optional int64 sync_adapter_period_seconds = 20 [default = 86400]; // 1 day
optional int64 heartbeat_interval_millis = 21 [default = 5000];
optional int64 transmit_directive_max_ttl_millis = 22 [default = 600000];
optional string experiment_override = 23 [default = ""];
optional int64 poll_delay_on_token_heard_in_millis = 24 [default = 2000];
optional bool enable_listen_audible_audio = 27 [default = true];
optional bool enable_advertise_audible_audio = 28 [default = true];
optional int64 duty_cycler_notify_timeout_millis = 30 [default = 5000];
optional bool enable_client_message_etag = 31 [default=false];
optional int64 max_duration_to_reserve_tokens_millis = 32 [default = 3600000];
optional int64 max_unauth_ttl_millis = 33 [default = 86400000];
optional bool enable_preseeded_tokens = 34 [default = false];
}
message CarrierSenseParams {
optional int64 max_additional_broadcast_time_millis = 1 [default = 0];
optional int64 max_additional_pause_broadcast_time_millis = 2 [default = 300];
optional int64 min_pause_broadcast_time_millis = 4 [default = 500];
optional int64 min_wait_time_when_broadcasting_millis = 5 [default = 1100];
optional int64 max_additional_wait_time_when_broadcasting_millis = 6
[default = 1500];
optional int64 min_wait_time_when_listening_millis = 7 [default = 4000];
optional int64 step_size_millis = 8 [default = 300];
optional int64 estimated_stop_playback_latency_millis = 9 [default = 150];
optional int64 min_broadcast_time_per_byte_millis = 10 [default = 400];
}
message AudioDsssParams {
optional int32 broadcaster_volume = 1 [default = 5];
optional bool include_parity_symbol = 2 [default = true];
optional bool use_single_sideband = 3 [default = true];
optional double desired_carrier_frequency = 4 [default = 18500.0];
optional bool use_crc_16 = 5 [default = false];
optional int32 number_of_taps_lfsr = 6 [default = 7];
optional int32 code_number = 7 [default = 0];
optional double coder_sample_rate = 8 [default = 48000.0];
optional int32 bits_per_symbol = 9 [default = 4];
optional int32 min_cycles_per_frame = 10 [default = 4];
optional int32 baseband_decimation_factor = 11 [default = 4];
optional int32 upsampling_factor = 12 [default = 16];
}
message AudioDtmfParams {
optional bool include_parity_symbol = 1 [default = true];
optional bool use_crc_16 = 2 [default = false];
optional double coder_sample_rate = 3 [default = 44100.0];
optional int32 baseband_decimation_factor = 4 [default = 16];
optional int32 frequencies_per_symbol = 5 [default = 2];
optional int32 window_duration_millis = 6 [default = 125];
optional AdsrParams adsr_params = 7;
optional double num_repetitions_to_play = 8 [default = 1];
}
message AdsrParams {
optional int64 attack_time_millis = 1 [default = 8];
optional int64 decay_time_millis = 2 [default = 0];
optional int64 sustain_time_millis = 3 [default = 0];
optional int64 release_time_millis = 4 [default = 40];
optional double sustain_amplitude = 5 [default = 1.0];
}
message LoggerParam {
optional int64 clear_cached_request_duration_millis = 1 [default = 172800000];
optional int32 request_buffer_limit = 3 [default = 200];
}