public sealed class ReadChangeStreamResponse.Types.Heartbeat : IMessage<ReadChangeStreamResponse.Types.Heartbeat>, IEquatable<ReadChangeStreamResponse.Types.Heartbeat>, IDeepCloneable<ReadChangeStreamResponse.Types.Heartbeat>, IBufferMessage, IMessage
Reference documentation and code samples for the Google Bigtable v2 API class ReadChangeStreamResponse.Types.Heartbeat.
A periodic message with information that can be used to checkpoint
the state of a stream.
public Timestamp EstimatedLowWatermark { get; set; }
An estimate of the commit timestamp that is usually lower than or equal
to any timestamp for a record that will be delivered in the future on the
stream. It is possible that, under particular circumstances that a future
record has a timestamp that is lower than a previously seen timestamp.
For an example usage see
https://beam.apache.org/documentation/basics/#watermarks
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-12 UTC."],[[["\u003cp\u003eThis document provides reference information for the \u003ccode\u003eReadChangeStreamResponse.Types.Heartbeat\u003c/code\u003e class within the Google Bigtable v2 API, with the latest version being 3.17.0.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eHeartbeat\u003c/code\u003e class is a periodic message used for checkpointing the state of a stream in Google Bigtable, as part of the \u003ccode\u003eReadChangeStreamResponse\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt implements multiple interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, and inherits members from the \u003ccode\u003eobject\u003c/code\u003e class.\u003c/p\u003e\n"],["\u003cp\u003eThe class includes two constructors, \u003ccode\u003eHeartbeat()\u003c/code\u003e for default initialization and \u003ccode\u003eHeartbeat(Heartbeat)\u003c/code\u003e for copying from an existing instance, as well as \u003ccode\u003eContinuationToken\u003c/code\u003e and \u003ccode\u003eEstimatedLowWatermark\u003c/code\u003e properties.\u003c/p\u003e\n"],["\u003cp\u003eThere are 23 versions of the \u003ccode\u003eHeartbeat\u003c/code\u003e class documented here, ranging from version 2.2.0 up to 3.17.0, providing developers with historical data and insights into how this class has evolved.\u003c/p\u003e\n"]]],[],null,["# Google Bigtable v2 API - Class ReadChangeStreamResponse.Types.Heartbeat (3.23.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.23.0 (latest)](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.22.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.22.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.21.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.21.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.20.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.20.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.19.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.19.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.18.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.18.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.17.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.17.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.16.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.16.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.15.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.15.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.14.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.14.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.13.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.13.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.12.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.12.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.11.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.11.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.10.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.10.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.9.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.9.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.8.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.7.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.6.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.5.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.4.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.3.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.2.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.1.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.0.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/2.6.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/2.5.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/2.4.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/2.3.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/2.2.0/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat) \n\n public sealed class ReadChangeStreamResponse.Types.Heartbeat : IMessage\u003cReadChangeStreamResponse.Types.Heartbeat\u003e, IEquatable\u003cReadChangeStreamResponse.Types.Heartbeat\u003e, IDeepCloneable\u003cReadChangeStreamResponse.Types.Heartbeat\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Bigtable v2 API class ReadChangeStreamResponse.Types.Heartbeat.\n\nA periodic message with information that can be used to checkpoint\nthe state of a stream. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e ReadChangeStreamResponse.Types.Heartbeat \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[ReadChangeStreamResponse](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse)[Types](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types)[Heartbeat](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[ReadChangeStreamResponse](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse)[Types](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types)[Heartbeat](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[ReadChangeStreamResponse](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse)[Types](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types)[Heartbeat](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2.ReadChangeStreamResponse.Types.Heartbeat), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Bigtable.V2](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2)\n\nAssembly\n--------\n\nGoogle.Cloud.Bigtable.V2.dll\n\nConstructors\n------------\n\n### Heartbeat()\n\n public Heartbeat()\n\n### Heartbeat(Heartbeat)\n\n public Heartbeat(ReadChangeStreamResponse.Types.Heartbeat other)\n\nProperties\n----------\n\n### ContinuationToken\n\n public StreamContinuationToken ContinuationToken { get; set; }\n\nA token that can be provided to a subsequent `ReadChangeStream` call\nto pick up reading at the current stream position.\n\n### EstimatedLowWatermark\n\n public Timestamp EstimatedLowWatermark { get; set; }\n\nAn estimate of the commit timestamp that is usually lower than or equal\nto any timestamp for a record that will be delivered in the future on the\nstream. It is possible that, under particular circumstances that a future\nrecord has a timestamp that is lower than a previously seen timestamp.\nFor an example usage see\n\u003chttps://beam.apache.org/documentation/basics/#watermarks\u003e"]]