Class CustomObject
- All Implemented Interfaces:
HasExportId,HasPathId,HasTicketId,HasTypedTicket,ObjectService.Bidirectional,ObjectService.Fetchable,ServerObject,Closeable,AutoCloseable
ObjectService.Fetchable or ObjectService.Bidirectional. The client is responsible for
implementing the necessarily retrieval logic according to the specific type().-
Method Summary
Modifier and TypeMethodDescriptionfinal voidclose()Releasesthiswithout waiting for the result.connect(ObjectService.MessageStream<ServerData> receiveStream) Initiates a connection for a bidirectional message stream forthis.final ExportIdexportId()Get the export ID.fetch()Fetchesthis.final PathIdpathId()Get the path ID.final CompletableFuture<Void>release()Releasesthis.final TicketIdticketId()Get the ticket ID.final StringtoString()type()The type.final TypedTicketGet the typed ticket.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.deephaven.client.impl.HasExportId
exportIdMethods inherited from interface io.deephaven.client.impl.HasTicketId
ticketIdMethods inherited from interface io.deephaven.client.impl.HasTypedTicket
typedTicketMethods inherited from interface io.deephaven.client.impl.ServerObject
close, release
-
Method Details
-
type
Description copied from interface:ObjectService.FetchableThe type.- Specified by:
typein interfaceObjectService.Bidirectional- Specified by:
typein interfaceObjectService.Fetchable- Returns:
- the type
-
fetch
Description copied from interface:ObjectService.FetchableFetchesthis. The resulting object is managed separately fromthis.- Specified by:
fetchin interfaceObjectService.Fetchable- Returns:
- the future
- See Also:
-
connect
public ObjectService.MessageStream<ClientData> connect(ObjectService.MessageStream<ServerData> receiveStream) Description copied from interface:ObjectService.BidirectionalInitiates a connection for a bidirectional message stream forthis. The returnedServerDatamessages are managed separately fromthis.This provides a generic stream feature for Deephaven instances to use to add arbitrary functionality. This API lets a client open a stream to a particular object on the server, to be mediated by a server side plugin. In theory this could effectively be used to "tunnel" a custom gRPC call, but in practice there are a few deliberate shortcomings that still make this possible, but not trivial.
Presently it is required that the server respond immediately, at least to acknowledge that the object was correctly contacted (as opposed to waiting for a pending ticket, or dealing with network lag, etc). This is a small (and possibly not required, but convenient) departure from a offering a gRPC stream (a server-streaming or bidi-streaming call need not send a message right away).
- Specified by:
connectin interfaceObjectService.Bidirectional- Parameters:
receiveStream- the stream where the client will receive messages- Returns:
- the stream where the client will send messages
- See Also:
-
exportId
Description copied from interface:HasExportIdGet the export ID.- Specified by:
exportIdin interfaceHasExportId- Returns:
- the export ID
-
pathId
Description copied from interface:HasPathIdGet the path ID. -
ticketId
Description copied from interface:HasTicketIdGet the ticket ID.- Specified by:
ticketIdin interfaceHasTicketId- Returns:
- the ticket ID
-
typedTicket
Description copied from interface:HasTypedTicketGet the typed ticket.- Specified by:
typedTicketin interfaceHasTypedTicket- Returns:
- the typed ticket
-
release
Description copied from interface:ServerObjectReleasesthis. After releasing, callers should not usethisobject norHasExportId.exportId()for additional RPC calls.- Specified by:
releasein interfaceServerObject- Returns:
- the future
- See Also:
-
close
public final void close()Description copied from interface:ServerObjectReleasesthiswithout waiting for the result. After closing, callers should not usethisobject norHasExportId.exportId()for additional RPC calls. For more control, seeServerObject.release().- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceServerObject
-
toString
-