Package io.grpc
Interface Detachable
-
public interface Detachable
An extension ofInputStream
that allows the underlying data source to be detached and transferred to a new instance of the same kind. The detached InputStream takes over the ownership of the underlying data source. That's said, the detached InputStream is responsible for releasing its resources after use. The detached InputStream preserves internal states of the underlying data source. Data can be consumed through the detached InputStream as if being continually consumed through the original instance. The original instance discards internal states of detached data source and is no longer consumable as if the data source is exhausted.A normal usage of this API is to extend the lifetime of the data source owned by the original instance for doing extra processing before releasing it. For example, when combined with
HasByteBuffer
, a customMethodDescriptor.Marshaller
can take over the ownership of buffers containing inbound data and perform delayed deserialization.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description InputStream
detach()
Detaches the underlying data source from this instance and transfers to anInputStream
.
-
-
-
Method Detail
-
detach
InputStream detach()
Detaches the underlying data source from this instance and transfers to anInputStream
. Detaching data from an already-detached instance gives an InputStream with zero bytes of data.
-
-