Class StreamServiceAbstract<I,O,H extends StreamHandlerAbstract<I,O>>
java.lang.Object
io.clonecloudstore.common.quarkus.server.service.StreamServiceAbstract<I,O,H>
- Type Parameters:
I
- > the extra input information from business point of viewO
- the output information that will be output from business point of view (if any)
- Direct Known Subclasses:
AbstractPrivateObjectHelper
,AbstractPublicObjectHelper
,LocalReplicatorResource
,RemoteReplicatorResource
public abstract class StreamServiceAbstract<I,O,H extends StreamHandlerAbstract<I,O>>
extends Object
Abstraction to enable InputStream Get (Pull) and Post (Push) implementations.
Note that real Service must specify @Blocking on the corresponding methods with almost same
interface except the way business information are transmitted.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected jakarta.ws.rs.core.Response
protected io.smallrye.mutiny.Uni
<jakarta.ws.rs.core.Response> createObject
(io.vertx.core.http.HttpServerRequest request, io.quarkus.resteasy.reactive.server.Closer closer, I businessIn, long len, String optionalHash, boolean keepInputStreamCompressed, InputStream inputStream) Method to use within the POST query definition with a @Blocking annotation.protected io.smallrye.mutiny.Uni
<jakarta.ws.rs.core.Response> createObject
(io.vertx.core.http.HttpServerRequest request, io.quarkus.resteasy.reactive.server.Closer closer, I businessIn, long len, String optionalHash, InputStream inputStream) Method to use within the POST query definition with a @Blocking annotation.protected H
protected io.smallrye.mutiny.Uni
<jakarta.ws.rs.core.Response> readObject
(io.vertx.core.http.HttpServerRequest request, io.quarkus.resteasy.reactive.server.Closer closer, I businessIn, boolean external) Method to use within the GET query definition with a @Blocking annotation.
-
Constructor Details
-
StreamServiceAbstract
public StreamServiceAbstract()
-
-
Method Details
-
getNativeStream
-
createObject
protected io.smallrye.mutiny.Uni<jakarta.ws.rs.core.Response> createObject(io.vertx.core.http.HttpServerRequest request, io.quarkus.resteasy.reactive.server.Closer closer, I businessIn, long len, String optionalHash, InputStream inputStream) Method to use within the POST query definition with a @Blocking annotation. This method should be called by the REST API to handle the received InputStream. -
createObject
protected io.smallrye.mutiny.Uni<jakarta.ws.rs.core.Response> createObject(io.vertx.core.http.HttpServerRequest request, io.quarkus.resteasy.reactive.server.Closer closer, I businessIn, long len, String optionalHash, boolean keepInputStreamCompressed, InputStream inputStream) Method to use within the POST query definition with a @Blocking annotation. This method should be called by the REST API to handle the received InputStream.- Parameters:
keepInputStreamCompressed
- If True, and if the InputStream is compressed, will be kept as is; else will decompress the InputStream if it is compressed
-
readObject
protected io.smallrye.mutiny.Uni<jakarta.ws.rs.core.Response> readObject(io.vertx.core.http.HttpServerRequest request, io.quarkus.resteasy.reactive.server.Closer closer, I businessIn, boolean external) Method to use within the GET query definition with a @Blocking annotation. Usually len is 0 but might be a hint on expected InputStream size. -
createErrorResponse
-