Class LiveServerSessionResumptionUpdate.Builder

java.lang.Object
com.google.genai.types.LiveServerSessionResumptionUpdate.Builder
Enclosing class:
LiveServerSessionResumptionUpdate

public abstract static class LiveServerSessionResumptionUpdate.Builder extends Object
Builder for LiveServerSessionResumptionUpdate.
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • newHandle

      public abstract LiveServerSessionResumptionUpdate.Builder newHandle(String newHandle)
      Setter for newHandle.

      newHandle: New handle that represents state that can be resumed. Empty if `resumable`=false.

    • resumable

      public abstract LiveServerSessionResumptionUpdate.Builder resumable(boolean resumable)
      Setter for resumable.

      resumable: True if session can be resumed at this point. It might be not possible to resume session at some points. In that case we send update empty new_handle and resumable=false. Example of such case could be model executing function calls or just generating. Resuming session (using previous session token) in such state will result in some data loss.

    • lastConsumedClientMessageIndex

      public abstract LiveServerSessionResumptionUpdate.Builder lastConsumedClientMessageIndex(Long lastConsumedClientMessageIndex)
      Setter for lastConsumedClientMessageIndex.

      lastConsumedClientMessageIndex: Index of last message sent by client that is included in state represented by this SessionResumptionToken. Only sent when `SessionResumptionConfig.transparent` is set.

      Presence of this index allows users to transparently reconnect and avoid issue of losing some part of realtime audio input/video. If client wishes to temporarily disconnect (for example as result of receiving GoAway) they can do it without losing state by buffering messages sent since last `SessionResmumptionTokenUpdate`. This field will enable them to limit buffering (avoid keeping all requests in RAM).

      Note: This should not be used for when resuming a session at some time later -- in those cases partial audio and video frames arelikely not needed.

    • build

      public abstract LiveServerSessionResumptionUpdate build()