Class SessionServiceGrpc.SessionServiceBlockingV2Stub (0.1.0)

public static final class SessionServiceGrpc.SessionServiceBlockingV2Stub extends AbstractBlockingStub<SessionServiceGrpc.SessionServiceBlockingV2Stub>

A stub to allow clients to do synchronous rpc calls to service SessionService.

Session service provides APIs for interacting with CES agents.

Inheritance

java.lang.Object > io.grpc.stub.AbstractStub > io.grpc.stub.AbstractBlockingStub > SessionServiceGrpc.SessionServiceBlockingV2Stub

Methods

bidiRunSession()

public BlockingClientCall<BidiSessionClientMessage,BidiSessionServerMessage> bidiRunSession()

Establishes a bidirectional streaming connection with the CES agent. The agent processes continuous multimodal inputs (e.g., text, audio) and generates real-time multimodal output streams. --- Client Request Stream --- The client streams requests in the following order:

  1. Initialization: The first message must contain SessionConfig. For audio sessions, this should also include InputAudioConfig and OutputAudioConfig to define audio processing and synthesis parameters.
  2. Interaction: Subsequent messages stream SessionInput containing real-time user input data.
  3. Termination: The client should half-close the stream when there is no more user input. It should also half-close upon receiving EndSession or GoAway from the agent. --- Server Response Stream --- For each interaction turn, the agent streams messages in the following sequence:
  4. Speech Recognition (First N messages): Contains RecognitionResult representing the concatenated user speech segments captured so far. This is only populated for audio sessions.
  5. Response (Next M messages): Contains SessionOutput delivering the agent's response in various modalities (e.g., text, audio).
  6. Turn Completion (Final message of the turn): Contains SessionOutput with turn_completed set to true. This signals the end of the current turn and includes DiagnosticInfo with execution details. --- Audio Best Practices ---
  7. Streaming: Stream audio data CONTINUOUSLY, even during silence. Recommended chunk size: 40-120ms (balances latency vs. efficiency).
  8. Playback & Interruption: Play audio responses upon receipt. Stop playback immediately if an InterruptionSignal is received (e.g., user barge-in or new agent response).
Returns
Type Description
io.grpc.stub.BlockingClientCall<BidiSessionClientMessage,BidiSessionServerMessage>

build(Channel channel, CallOptions callOptions)

protected SessionServiceGrpc.SessionServiceBlockingV2Stub build(Channel channel, CallOptions callOptions)
Parameters
Name Description
channel io.grpc.Channel
callOptions io.grpc.CallOptions
Returns
Type Description
SessionServiceGrpc.SessionServiceBlockingV2Stub
Overrides
io.grpc.stub.AbstractStub.build(io.grpc.Channel,io.grpc.CallOptions)

runSession(RunSessionRequest request)

public RunSessionResponse runSession(RunSessionRequest request)

Initiates a single turn interaction with the CES agent within a session.

Parameter
Name Description
request RunSessionRequest
Returns
Type Description
RunSessionResponse
Exceptions
Type Description
io.grpc.StatusException