Class SessionServiceGrpc.SessionServiceBlockingStub

java.lang.Object
io.grpc.stub.AbstractStub<S>
io.grpc.stub.AbstractBlockingStub<SessionServiceGrpc.SessionServiceBlockingStub>
io.deephaven.proto.backplane.grpc.SessionServiceGrpc.SessionServiceBlockingStub
Enclosing class:
SessionServiceGrpc

public static final class SessionServiceGrpc.SessionServiceBlockingStub extends io.grpc.stub.AbstractBlockingStub<SessionServiceGrpc.SessionServiceBlockingStub>
A stub to allow clients to do synchronous rpc calls to service SessionService.
 User supplied Flight.Ticket(s) should begin with 'e' byte followed by an signed little-endian int. The client is only
 allowed to use the positive exportId key-space (client generated exportIds should be greater than 0). The client is
 encouraged to use a packed ranges of ids as this yields the smallest footprint server side for long running sessions.
 The client is responsible for releasing all Flight.Tickets that they create or that were created for them via a gRPC
 call. The documentation for the gRPC call will indicate that the exports must be released. Exports that need to be
 released will always be communicated over the session's ExportNotification stream.
 When a session ends, either explicitly or due to timeout, all exported objects in that session are released
 automatically.
 Some parts of the API return a Flight.Ticket that does not need to be released. It is not an error to attempt to
 release them.
 
  • Method Details

    • build

      protected SessionServiceGrpc.SessionServiceBlockingStub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions)
      Specified by:
      build in class io.grpc.stub.AbstractStub<SessionServiceGrpc.SessionServiceBlockingStub>
    • newSession

      @Deprecated public HandshakeResponse newSession(HandshakeRequest request)
      Deprecated.
       Handshake between client and server to create a new session. The response includes a metadata header name and the
       token to send on every subsequent request. The auth mechanisms here are unary to best support grpc-web.
       Deprecated: Please use Flight's Handshake or http authorization headers instead.
       
    • refreshSessionToken

      @Deprecated public HandshakeResponse refreshSessionToken(HandshakeRequest request)
      Deprecated.
       Keep-alive a given token to ensure that a session is not cleaned prematurely. The response may include an updated
       token that should replace the existing token for subsequent requests.
       Deprecated: Please use Flight's Handshake with an empty payload.
       
    • closeSession

      public CloseSessionResponse closeSession(HandshakeRequest request)
       Proactively close an open session. Sessions will automatically close on timeout. When a session is closed, all
       unreleased exports will be automatically released.
       
    • release

      public ReleaseResponse release(ReleaseRequest request)
       Attempts to release an export by its ticket. Returns true if an existing export was found. It is the client's
       responsibility to release all resources they no longer want the server to hold on to. Proactively cancels work; do
       not release a ticket that is needed by dependent work that has not yet finished
       (i.e. the dependencies that are staying around should first be in EXPORTED state).
       
    • exportFromTicket

      public ExportResponse exportFromTicket(ExportRequest request)
       Makes a copy from a source ticket to a client managed result ticket. The source ticket does not need to be
       a client managed ticket.
       
    • publishFromTicket

      public PublishResponse publishFromTicket(PublishRequest request)
       Makes a copy from a source ticket and publishes to a result ticket. Neither the source ticket, nor the destination
       ticket, need to be a client managed ticket.
       
    • exportNotifications

      public Iterator<ExportNotification> exportNotifications(ExportNotificationRequest request)
       Establish a stream to manage all session exports, including those lost due to partially complete rpc calls.
       New streams will flush notifications for all un-released exports, prior to seeing any new or updated exports
       for all live exports. After the refresh of existing state, subscribers will receive notifications of new and
       updated exports. An export id of zero will be sent to indicate all pre-existing exports have been sent.
       
    • terminationNotification

      public TerminationNotificationResponse terminationNotification(TerminationNotificationRequest request)
       Receive a best-effort message on-exit indicating why this server is exiting. Reception of this message cannot be
       guaranteed.