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 Set<GrpcProtocol>DEFAULT_ENABLED_PROTOCOLSstatic 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 GrpcServerOptionsaddEnabledProtocol(GrpcProtocol protocol)booleangetDeadlinePropagation()Set<GrpcProtocol>getEnabledProtocols()longgetMaxMessageSize()booleangetScheduleDeadlineAutomatically()booleanisProtocolEnabled(GrpcProtocol protocol)GrpcServerOptionsremoveEnabledProtocol(GrpcProtocol protocol)GrpcServerOptionssetDeadlinePropagation(boolean deadlinePropagation)Set whether the server propagate deadlines toio.vertx.grpc.client.GrpcClientRequest.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_ENABLED_PROTOCOLS
public static final Set<GrpcProtocol> DEFAULT_ENABLED_PROTOCOLS
-
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
-
isProtocolEnabled
public boolean isProtocolEnabled(GrpcProtocol protocol)
-
addEnabledProtocol
public GrpcServerOptions addEnabledProtocol(GrpcProtocol protocol)
-
removeEnabledProtocol
public GrpcServerOptions removeEnabledProtocol(GrpcProtocol protocol)
-
getEnabledProtocols
public Set<GrpcProtocol> getEnabledProtocols()
-
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
-
-