-
- 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
Protobuf typeOne upload window (~10 s). Deflate(serialize(TelemetryBatch)) is the HTTP body.{@code doorstepai.telemetry.v3.TelemetryBatch}
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public final classTelemetryBatch.Builder
Protobuf typeOne upload window (~10 s). Deflate(serialize(TelemetryBatch)) is the HTTP body.{@code doorstepai.telemetry.v3.TelemetryBatch}
-
Field Summary
Fields Modifier and Type Field Description public final static intFORMAT_VERSION_FIELD_NUMBERpublic final static intBATCH_ID_FIELD_NUMBERpublic final static intPRIMARY_SESSION_UUID_FIELD_NUMBERpublic final static intEXTRA_SESSION_UUIDS_FIELD_NUMBERpublic final static intWALL_EPOCH_MS_FIELD_NUMBERpublic final static intSTREAMS_FIELD_NUMBERpublic final static intJSON_REMAINDER_FIELD_NUMBERpublic final static intTABLES_FIELD_NUMBER
-
Method Summary
Modifier and Type Method Description intgetFormatVersion()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;longgetBatchId()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;ByteStringgetPrimarySessionUuid()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;intgetExtraSessionUuidsCount()Additional concurrently-active session UUIDs (16 bytes each), for windows that fan out to more than one delivery.repeated bytes extra_session_uuids = 4;ByteStringgetExtraSessionUuids(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;longgetWallEpochMs()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;intgetStreamsCount()Typed, columnar streams (see the stream/channel registry below).repeated .doorstepai.telemetry.v3.StreamColumn streams = 6;StreamColumngetStreams(int index)Typed, columnar streams (see the stream/channel registry below).repeated .doorstepai.telemetry.v3.StreamColumn streams = 6;StreamColumnOrBuildergetStreamsOrBuilder(int index)Typed, columnar streams (see the stream/channel registry below).repeated .doorstepai.telemetry.v3.StreamColumn streams = 6;ByteStringgetJsonRemainder()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;intgetTablesCount()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;TablegetTables(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;TableOrBuildergetTablesOrBuilder(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 TelemetryBatchparseFrom(ByteBuffer data)static TelemetryBatchparseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)static TelemetryBatchparseFrom(ByteString data)static TelemetryBatchparseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)static TelemetryBatchparseFrom(Array<byte> data)static TelemetryBatchparseFrom(Array<byte> data, ExtensionRegistryLite extensionRegistry)static TelemetryBatchparseFrom(InputStream input)static TelemetryBatchparseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)static TelemetryBatchparseDelimitedFrom(InputStream input)static TelemetryBatchparseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)static TelemetryBatchparseFrom(CodedInputStream input)static TelemetryBatchparseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)static TelemetryBatch.BuildernewBuilder()static TelemetryBatch.BuildernewBuilder(TelemetryBatch prototype)static TelemetryBatchgetDefaultInstance()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;
-
getStreamsOrBuilderList
List<out StreamColumnOrBuilder> getStreamsOrBuilderList()
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;
-
parseFrom
static TelemetryBatch parseFrom(ByteBuffer data)
-
parseFrom
static TelemetryBatch parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
-
parseFrom
static TelemetryBatch parseFrom(ByteString data)
-
parseFrom
static TelemetryBatch parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
-
parseFrom
static TelemetryBatch parseFrom(Array<byte> data)
-
parseFrom
static TelemetryBatch parseFrom(Array<byte> data, ExtensionRegistryLite extensionRegistry)
-
parseFrom
static TelemetryBatch parseFrom(InputStream input)
-
parseFrom
static TelemetryBatch parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
-
parseDelimitedFrom
static TelemetryBatch parseDelimitedFrom(InputStream input)
-
parseDelimitedFrom
static TelemetryBatch parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
-
parseFrom
static TelemetryBatch parseFrom(CodedInputStream input)
-
parseFrom
static TelemetryBatch parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
-
newBuilder
static TelemetryBatch.Builder newBuilder()
-
newBuilder
static TelemetryBatch.Builder newBuilder(TelemetryBatch prototype)
-
getDefaultInstance
static TelemetryBatch getDefaultInstance()
-
parser
static Parser<TelemetryBatch> parser()
-
-
-
-