Package io.vertx.grpc.server
Interface GrpcServerResponse<Req,Resp>
-
- All Superinterfaces:
GrpcWriteStream<Resp>,StreamBase,WriteStream<Resp>
public interface GrpcServerResponse<Req,Resp> extends GrpcWriteStream<Resp>
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description GrpcServerResponse<Req,Resp>drainHandler(Handler<Void> handler)Set a drain handler on the stream.GrpcServerResponse<Req,Resp>encoding(String encoding)Set the stream encoding, e.g.GrpcServerResponse<Req,Resp>exceptionHandler(Handler<Throwable> handler)Set an exception handler on the write stream.voidfail(Throwable failure)End the stream with an appropriate status message, whenfailureisStatusException, set status toStatusException.status()and status message toStatusException.message()UnsupportedOperationExceptionreturnsGrpcStatus.UNIMPLEMENTEDotherwise returnsGrpcStatus.UNKNOWNGrpcServerResponse<Req,Resp>format(WireFormat format)Set the stream format, e.g.default Future<Void>send(ReadStream<Resp> body)default Future<Void>send(Resp item)GrpcServerResponse<Req,Resp>setWriteQueueMaxSize(int maxSize)Set the maximum size of the write queue tomaxSize.GrpcServerResponse<Req,Resp>status(GrpcStatus status)Set the grpc status responseGrpcServerResponse<Req,Resp>statusMessage(String msg)Set the grpc status response messageMultiMaptrailers()-
Methods inherited from interface io.vertx.grpc.common.GrpcWriteStream
cancel, endMessage, headers, writeMessage
-
Methods inherited from interface io.vertx.core.streams.WriteStream
end, end, write, writeQueueFull
-
-
-
-
Method Detail
-
status
GrpcServerResponse<Req,Resp> status(GrpcStatus status)
Set the grpc status response- Parameters:
status- the status- Returns:
- a reference to this, so the API can be used fluently
-
statusMessage
GrpcServerResponse<Req,Resp> statusMessage(String msg)
Set the grpc status response message- Parameters:
msg- the message- Returns:
- a reference to this, so the API can be used fluently
-
encoding
GrpcServerResponse<Req,Resp> encoding(String encoding)
Description copied from interface:GrpcWriteStreamSet the stream encoding, e.g.identityorgzip. It must be called before sending any message, otherwiseidentitywill be used.- Specified by:
encodingin interfaceGrpcWriteStream<Req>- Parameters:
encoding- the target message encoding- Returns:
- a reference to this, so the API can be used fluently
-
format
GrpcServerResponse<Req,Resp> format(WireFormat format)
Description copied from interface:GrpcWriteStreamSet the stream format, e.g.protoorjson. It must be called before sending any message, otherwiseprotowill be used.- Specified by:
formatin interfaceGrpcWriteStream<Req>- Parameters:
format- the message format- Returns:
- a reference to this, so the API can be used fluently
-
exceptionHandler
GrpcServerResponse<Req,Resp> exceptionHandler(Handler<Throwable> handler)
Description copied from interface:WriteStreamSet an exception handler on the write stream.- Specified by:
exceptionHandlerin interfaceGrpcWriteStream<Req>- Specified by:
exceptionHandlerin interfaceStreamBase- Specified by:
exceptionHandlerin interfaceWriteStream<Req>- Parameters:
handler- the exception handler- Returns:
- a reference to this, so the API can be used fluently
-
setWriteQueueMaxSize
GrpcServerResponse<Req,Resp> setWriteQueueMaxSize(int maxSize)
Description copied from interface:WriteStreamSet the maximum size of the write queue tomaxSize. You will still be able to write to the stream even if there is more thanmaxSizeitems in the write queue. This is used as an indicator by classes such asPipeto provide flow control. The value is defined by the implementation of the stream, e.g in bytes for aNetSocket, etc...- Specified by:
setWriteQueueMaxSizein interfaceGrpcWriteStream<Req>- Specified by:
setWriteQueueMaxSizein interfaceWriteStream<Req>- Parameters:
maxSize- the max size of the write stream- Returns:
- a reference to this, so the API can be used fluently
-
drainHandler
GrpcServerResponse<Req,Resp> drainHandler(Handler<Void> handler)
Description copied from interface:WriteStreamSet a drain handler on the stream. If the write queue is full, then the handler will be called when the write queue is ready to accept buffers again. SeePipefor an example of this being used.The stream implementation defines when the drain handler, for example it could be when the queue size has been reduced to
maxSize / 2.- Specified by:
drainHandlerin interfaceGrpcWriteStream<Req>- Specified by:
drainHandlerin interfaceWriteStream<Req>- Parameters:
handler- the handler- Returns:
- a reference to this, so the API can be used fluently
-
send
default Future<Void> send(ReadStream<Resp> body)
-
fail
void fail(Throwable failure)
End the stream with an appropriate status message, whenfailureisStatusException, set status toStatusException.status()and status message toStatusException.message()UnsupportedOperationExceptionreturnsGrpcStatus.UNIMPLEMENTED- otherwise returns
GrpcStatus.UNKNOWN
- Parameters:
failure- the failure
-
-