Package io.vertx.grpc.server
Class GrpcServerOptions
- java.lang.Object
-
- io.vertx.grpc.server.GrpcServerOptions
-
@Unstable public class GrpcServerOptions extends Object
Configuration for aGrpcServer.
-
-
Field Summary
Fields Modifier and Type Field Description static booleanDEFAULT_GRPC_WEB_ENABLEDWhether the gRPC-Web protocol should be enabled, by default =true.static longDEFAULT_MAX_MESSAGE_SIZEThe default maximum message size in bytes accepted from a client =256KBstatic booleanDEFAULT_PROPAGATE_DEADLINEWhether the server propagates a deadline, by default =falsestatic booleanDEFAULT_SCHEDULE_DEADLINE_AUTOMATICALLYWhether the server schedule deadline automatically when a request carrying a timeout is received, by default =false
-
Constructor Summary
Constructors Constructor Description GrpcServerOptions()Default options.GrpcServerOptions(JsonObject json)Creates options from JSON.GrpcServerOptions(GrpcServerOptions other)Copy constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleangetDeadlinePropagation()longgetMaxMessageSize()booleangetScheduleDeadlineAutomatically()booleanisGrpcWebEnabled()GrpcServerOptionssetDeadlinePropagation(boolean deadlinePropagation)Set whether the server propagate deadlines toio.vertx.grpc.client.GrpcClientRequest.GrpcServerOptionssetGrpcWebEnabled(boolean grpcWebEnabled)Whether the gRPC-Web protocol should be enabled.GrpcServerOptionssetMaxMessageSize(long maxMessageSize)Set the maximum message size in bytes accepted from a client, the maximum value is0xFFFFFFFFGrpcServerOptionssetScheduleDeadlineAutomatically(boolean scheduleDeadlineAutomatically)Set whether a deadline is automatically scheduled when a request carrying a timeout is received.JsonObjecttoJson()StringtoString()
-
-
-
Field Detail
-
DEFAULT_GRPC_WEB_ENABLED
public static final boolean DEFAULT_GRPC_WEB_ENABLED
Whether the gRPC-Web protocol should be enabled, by default =true.- See Also:
- Constant Field Values
-
DEFAULT_SCHEDULE_DEADLINE_AUTOMATICALLY
public static final boolean DEFAULT_SCHEDULE_DEADLINE_AUTOMATICALLY
Whether the server schedule deadline automatically when a request carrying a timeout is received, by default =false- See Also:
- Constant Field Values
-
DEFAULT_PROPAGATE_DEADLINE
public static final boolean DEFAULT_PROPAGATE_DEADLINE
Whether the server propagates a deadline, by default =false- See Also:
- Constant Field Values
-
DEFAULT_MAX_MESSAGE_SIZE
public static final long DEFAULT_MAX_MESSAGE_SIZE
The default maximum message size in bytes accepted from a client =256KB- See Also:
- Constant Field Values
-
-
Constructor Detail
-
GrpcServerOptions
public GrpcServerOptions()
Default options.
-
GrpcServerOptions
public GrpcServerOptions(GrpcServerOptions other)
Copy constructor.
-
GrpcServerOptions
public GrpcServerOptions(JsonObject json)
Creates options from JSON.
-
-
Method Detail
-
isGrpcWebEnabled
public boolean isGrpcWebEnabled()
- Returns:
trueif the gRPC-Web protocol should be enabled,falseotherwise
-
setGrpcWebEnabled
public GrpcServerOptions setGrpcWebEnabled(boolean grpcWebEnabled)
Whether the gRPC-Web protocol should be enabled. Defaults totrue.- Parameters:
grpcWebEnabled-trueif the gRPC-Web protocol should be enabled,falseotherwise- Returns:
- a reference to this, so the API can be used fluently
-
getScheduleDeadlineAutomatically
public boolean getScheduleDeadlineAutomatically()
- Returns:
- whether the server will automatically schedule a deadline when a request carrying a timeout is received.
-
setScheduleDeadlineAutomatically
public GrpcServerOptions setScheduleDeadlineAutomatically(boolean scheduleDeadlineAutomatically)
Set whether a deadline is automatically scheduled when a request carrying a timeout is received.
- When a deadline is automatically scheduled and a request carrying a timeout is received, a deadline (timer)
will be created to cancel the request when the response has not been timely sent. The deadline can be obtained
with
GrpcServerRequest.deadline(). - When the deadline is not set and a request carrying a timeout is received, the timeout is available with
GrpcServerRequest.timeout()and it is the responsibility of the service to eventually cancel the request. Note: the client might cancel the request as well when its local deadline is met.
- Parameters:
scheduleDeadlineAutomatically- whether to schedule a deadline automatically- Returns:
- a reference to this, so the API can be used fluently
- When a deadline is automatically scheduled and a request carrying a timeout is received, a deadline (timer)
will be created to cancel the request when the response has not been timely sent. The deadline can be obtained
with
-
getDeadlinePropagation
public boolean getDeadlinePropagation()
- Returns:
- whether the server propagate deadlines to
io.vertx.grpc.client.GrpcClientRequest.
-
setDeadlinePropagation
public GrpcServerOptions setDeadlinePropagation(boolean deadlinePropagation)
Set whether the server propagate deadlines toio.vertx.grpc.client.GrpcClientRequest.- Parameters:
deadlinePropagation- the propagation setting- Returns:
- a reference to this, so the API can be used fluently
-
getMaxMessageSize
public long getMaxMessageSize()
- Returns:
- the maximum message size in bytes accepted by the server
-
setMaxMessageSize
public GrpcServerOptions setMaxMessageSize(long maxMessageSize)
Set the maximum message size in bytes accepted from a client, the maximum value is0xFFFFFFFF- Parameters:
maxMessageSize- the size- Returns:
- a reference to this, so the API can be used fluently
-
toJson
public JsonObject toJson()
- Returns:
- a JSON representation of options
-
-