Package 

Class TelemetryBatch

  • All Implemented Interfaces:
    com.doorstepai.sdks.tracking.proto.TelemetryBatchOrBuilder , com.google.protobuf.MessageLite , com.google.protobuf.MessageLiteOrBuilder

    
    public final class TelemetryBatch
    extends GeneratedMessageLite<TelemetryBatch, TelemetryBatch.Builder> implements TelemetryBatchOrBuilder
                        
    One upload window (~10 s). Deflate(serialize(TelemetryBatch)) is the HTTP body.
    
    Protobuf type {@code doorstepai.telemetry.v3.TelemetryBatch}
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      public final class TelemetryBatch.Builder
      One upload window (~10 s). Deflate(serialize(TelemetryBatch)) is the HTTP body.
      
      Protobuf type {@code doorstepai.telemetry.v3.TelemetryBatch}
    • Method Summary

      Modifier and Type Method Description
      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;
      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;
      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;
      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;
      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;
      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;
      long getWallEpochMs()
      Batch anchor: min wall-clock across all streams, in epoch milliseconds.
      
      int64 wall_epoch_ms = 5;
      List<StreamColumn> getStreamsList()
      Typed, columnar streams (see the stream/channel registry below).
      
      repeated .doorstepai.telemetry.v3.StreamColumn streams = 6;
      List<out StreamColumnOrBuilder> getStreamsOrBuilderList()
      Typed, columnar streams (see the stream/channel registry below).
      
      repeated .doorstepai.telemetry.v3.StreamColumn streams = 6;
      int getStreamsCount()
      Typed, columnar streams (see the stream/channel registry below).
      
      repeated .doorstepai.telemetry.v3.StreamColumn streams = 6;
      StreamColumn getStreams(int index)
      Typed, columnar streams (see the stream/channel registry below).
      
      repeated .doorstepai.telemetry.v3.StreamColumn streams = 6;
      StreamColumnOrBuilder getStreamsOrBuilder(int index)
      Typed, columnar streams (see the stream/channel registry below).
      
      repeated .doorstepai.telemetry.v3.StreamColumn streams = 6;
      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;
      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;
      List<out TableOrBuilder> getTablesOrBuilderList()
      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;
      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;
      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;
      TableOrBuilder getTablesOrBuilder(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;
      static TelemetryBatch parseFrom(ByteBuffer data)
      static TelemetryBatch parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
      static TelemetryBatch parseFrom(ByteString data)
      static TelemetryBatch parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
      static TelemetryBatch parseFrom(Array<byte> data)
      static TelemetryBatch parseFrom(Array<byte> data, ExtensionRegistryLite extensionRegistry)
      static TelemetryBatch parseFrom(InputStream input)
      static TelemetryBatch parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
      static TelemetryBatch parseDelimitedFrom(InputStream input)
      static TelemetryBatch parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
      static TelemetryBatch parseFrom(CodedInputStream input)
      static TelemetryBatch parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
      static TelemetryBatch.Builder newBuilder()
      static TelemetryBatch.Builder newBuilder(TelemetryBatch prototype)
      static TelemetryBatch getDefaultInstance()
      static Parser<TelemetryBatch> parser()
      • Methods inherited from class com.google.protobuf.GeneratedMessageLite

        equals, getDefaultInstanceForType, getParserForType, hashCode, isInitialized, newBuilderForType, newRepeatedGeneratedExtension, newSingularGeneratedExtension, toBuilder, toString, writeTo
      • Methods inherited from class com.google.protobuf.AbstractMessageLite

        toByteArray, toByteString, writeDelimitedTo
      • Methods inherited from class com.google.protobuf.MessageLite

        getParserForType, newBuilderForType, toBuilder
      • Methods inherited from class com.google.protobuf.MessageLiteOrBuilder

        getDefaultInstanceForType
      • Methods inherited from class java.lang.Object

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

      • getFormatVersion

         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

         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

         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

         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

         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

         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

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

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

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

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

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

         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

         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;
      • getTablesOrBuilderList

         List<out TableOrBuilder> getTablesOrBuilderList()
        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

         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;
      • getTables

         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;
      • getTablesOrBuilder

         TableOrBuilder getTablesOrBuilder(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;