Package 

Interface TelemetryBatchOrBuilder

  • All Implemented Interfaces:
    com.google.protobuf.MessageLiteOrBuilder

    
    public interface TelemetryBatchOrBuilder
     implements MessageLiteOrBuilder
                        
    • Method Summary

      Modifier and Type Method Description
      abstract int getFormatVersion()
      Format version carried in the payload (= 3 for this "v3" format). Distinct
      from the HTTP `X-DoorstepAI-Payload-Version` header (= 4); both are sent.
      
      uint32 format_version = 1;
      abstract long getBatchId()
      Monotonic per-process batch id (never resets across restarts; seeded from
      wall-clock seconds), mirrors the DSDP v2 envelope `batch_id`.
      
      uint64 batch_id = 2;
      abstract ByteString getPrimarySessionUuid()
      Primary session UUID as 16 raw bytes in RFC 4122 (big-endian) order — the
      same byte order the server already accepts for DSDP.
      
      bytes primary_session_uuid = 3;
      abstract List<ByteString> getExtraSessionUuidsList()
      Additional concurrently-active session UUIDs (16 bytes each), for windows
      that fan out to more than one delivery.
      
      repeated bytes extra_session_uuids = 4;
      abstract int getExtraSessionUuidsCount()
      Additional concurrently-active session UUIDs (16 bytes each), for windows
      that fan out to more than one delivery.
      
      repeated bytes extra_session_uuids = 4;
      abstract ByteString getExtraSessionUuids(int index)
      Additional concurrently-active session UUIDs (16 bytes each), for windows
      that fan out to more than one delivery.
      
      repeated bytes extra_session_uuids = 4;
      abstract long getWallEpochMs()
      Batch anchor: min wall-clock across all streams, in epoch milliseconds.
      
      int64 wall_epoch_ms = 5;
      abstract List<StreamColumn> getStreamsList()
      Typed, columnar streams (see the stream/channel registry below).
      
      repeated .doorstepai.telemetry.v3.StreamColumn streams = 6;
      abstract StreamColumn getStreams(int index)
      Typed, columnar streams (see the stream/channel registry below).
      
      repeated .doorstepai.telemetry.v3.StreamColumn streams = 6;
      abstract int getStreamsCount()
      Typed, columnar streams (see the stream/channel registry below).
      
      repeated .doorstepai.telemetry.v3.StreamColumn streams = 6;
      abstract ByteString getJsonRemainder()
      Streams not yet migrated to typed columns are carried here as the existing
      DataPushBody JSON with ONLY those streams populated (IMU/env/pressure/
      altitude stripped out). The server parses this with its existing JSON path
      and merges the typed streams above — so v3 is zero-data-loss from day one,
      and streams migrate into typed columns over time (shrinking this toward
      empty). UTF-8 JSON bytes; the outer deflate compresses it.
      
      bytes json_remainder = 7;
      abstract List<Table> getTablesList()
      Ragged / string-heavy streams (WiFi scans, GNSS measurement/status, BLE)
      encoded as generic columnar Tables — the same quantize/delta/varint recipe
      plus string-dictionary dedup and a per-column null bitmap. As a stream
      moves from json_remainder into a Table here it drops ~3x (verified on real
      device data: gnss 3.5x, ble 3.4x, all fields equivalence-checked).
      
      repeated .doorstepai.telemetry.v3.Table tables = 8;
      abstract Table getTables(int index)
      Ragged / string-heavy streams (WiFi scans, GNSS measurement/status, BLE)
      encoded as generic columnar Tables — the same quantize/delta/varint recipe
      plus string-dictionary dedup and a per-column null bitmap. As a stream
      moves from json_remainder into a Table here it drops ~3x (verified on real
      device data: gnss 3.5x, ble 3.4x, all fields equivalence-checked).
      
      repeated .doorstepai.telemetry.v3.Table tables = 8;
      abstract int getTablesCount()
      Ragged / string-heavy streams (WiFi scans, GNSS measurement/status, BLE)
      encoded as generic columnar Tables — the same quantize/delta/varint recipe
      plus string-dictionary dedup and a per-column null bitmap. As a stream
      moves from json_remainder into a Table here it drops ~3x (verified on real
      device data: gnss 3.5x, ble 3.4x, all fields equivalence-checked).
      
      repeated .doorstepai.telemetry.v3.Table tables = 8;
      • Methods inherited from class com.google.protobuf.MessageLiteOrBuilder

        getDefaultInstanceForType, isInitialized
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getFormatVersion

         abstract int getFormatVersion()
        Format version carried in the payload (= 3 for this "v3" format). Distinct
        from the HTTP `X-DoorstepAI-Payload-Version` header (= 4); both are sent.
        
        uint32 format_version = 1;
      • getBatchId

         abstract long getBatchId()
        Monotonic per-process batch id (never resets across restarts; seeded from
        wall-clock seconds), mirrors the DSDP v2 envelope `batch_id`.
        
        uint64 batch_id = 2;
      • getPrimarySessionUuid

         abstract ByteString getPrimarySessionUuid()
        Primary session UUID as 16 raw bytes in RFC 4122 (big-endian) order — the
        same byte order the server already accepts for DSDP.
        
        bytes primary_session_uuid = 3;
      • getExtraSessionUuidsList

         abstract List<ByteString> getExtraSessionUuidsList()
        Additional concurrently-active session UUIDs (16 bytes each), for windows
        that fan out to more than one delivery.
        
        repeated bytes extra_session_uuids = 4;
      • getExtraSessionUuidsCount

         abstract int getExtraSessionUuidsCount()
        Additional concurrently-active session UUIDs (16 bytes each), for windows
        that fan out to more than one delivery.
        
        repeated bytes extra_session_uuids = 4;
      • getExtraSessionUuids

         abstract ByteString getExtraSessionUuids(int index)
        Additional concurrently-active session UUIDs (16 bytes each), for windows
        that fan out to more than one delivery.
        
        repeated bytes extra_session_uuids = 4;
        Parameters:
        index - The index of the element to return.
      • getWallEpochMs

         abstract long getWallEpochMs()
        Batch anchor: min wall-clock across all streams, in epoch milliseconds.
        
        int64 wall_epoch_ms = 5;
      • getStreamsList

         abstract List<StreamColumn> getStreamsList()
        Typed, columnar streams (see the stream/channel registry below).
        
        repeated .doorstepai.telemetry.v3.StreamColumn streams = 6;
      • getStreams

         abstract StreamColumn getStreams(int index)
        Typed, columnar streams (see the stream/channel registry below).
        
        repeated .doorstepai.telemetry.v3.StreamColumn streams = 6;
      • getStreamsCount

         abstract int getStreamsCount()
        Typed, columnar streams (see the stream/channel registry below).
        
        repeated .doorstepai.telemetry.v3.StreamColumn streams = 6;
      • getJsonRemainder

         abstract ByteString getJsonRemainder()
        Streams not yet migrated to typed columns are carried here as the existing
        DataPushBody JSON with ONLY those streams populated (IMU/env/pressure/
        altitude stripped out). The server parses this with its existing JSON path
        and merges the typed streams above — so v3 is zero-data-loss from day one,
        and streams migrate into typed columns over time (shrinking this toward
        empty). UTF-8 JSON bytes; the outer deflate compresses it.
        
        bytes json_remainder = 7;
      • getTablesList

         abstract List<Table> getTablesList()
        Ragged / string-heavy streams (WiFi scans, GNSS measurement/status, BLE)
        encoded as generic columnar Tables — the same quantize/delta/varint recipe
        plus string-dictionary dedup and a per-column null bitmap. As a stream
        moves from json_remainder into a Table here it drops ~3x (verified on real
        device data: gnss 3.5x, ble 3.4x, all fields equivalence-checked).
        
        repeated .doorstepai.telemetry.v3.Table tables = 8;
      • getTables

         abstract Table getTables(int index)
        Ragged / string-heavy streams (WiFi scans, GNSS measurement/status, BLE)
        encoded as generic columnar Tables — the same quantize/delta/varint recipe
        plus string-dictionary dedup and a per-column null bitmap. As a stream
        moves from json_remainder into a Table here it drops ~3x (verified on real
        device data: gnss 3.5x, ble 3.4x, all fields equivalence-checked).
        
        repeated .doorstepai.telemetry.v3.Table tables = 8;
      • getTablesCount

         abstract int getTablesCount()
        Ragged / string-heavy streams (WiFi scans, GNSS measurement/status, BLE)
        encoded as generic columnar Tables — the same quantize/delta/varint recipe
        plus string-dictionary dedup and a per-column null bitmap. As a stream
        moves from json_remainder into a Table here it drops ~3x (verified on real
        device data: gnss 3.5x, ble 3.4x, all fields equivalence-checked).
        
        repeated .doorstepai.telemetry.v3.Table tables = 8;