
as.leap.vertx.rpc.impl.RPCClientOptions Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of vertx-rpc Show documentation
Show all versions of vertx-rpc Show documentation
Wrap eventBus of vert.x 3 as transport layer for RPC invoking
package as.leap.vertx.rpc.impl;
import as.leap.vertx.rpc.RPCHook;
import as.leap.vertx.rpc.WireProtocol;
import io.vertx.core.Vertx;
import static as.leap.vertx.rpc.RPCHook.emptyRPCHook;
/**
* Created by stream.
*/
public class RPCClientOptions {
private Vertx vertx;
private String busAddress;
private Class serviceClass;
private long timeout = 10 * 1000L;
private RPCHook rpcHook = emptyRPCHook();
private WireProtocol wireProtocol = WireProtocol.PROTOBUF;
public RPCClientOptions(Vertx vertx) {
this.vertx = vertx;
}
public RPCClientOptions(Vertx vertx, RPCHook rpcHook) {
this.vertx = vertx;
this.rpcHook = rpcHook;
}
public RPCClientOptions(Vertx vertx, RPCClientOptions other) {
this.vertx = vertx;
this.busAddress = other.getBusAddress();
this.timeout = other.getTimeout();
this.wireProtocol = other.getWireProtocol();
this.serviceClass = other.getServiceClass();
this.rpcHook = other.getRpcHook();
}
public RPCClientOptions setBusAddress(String busAddress) {
this.busAddress = busAddress;
return this;
}
public RPCClientOptions setTimeout(long timeout) {
this.timeout = timeout;
return this;
}
public RPCClientOptions setServiceClass(Class serviceClass) {
this.serviceClass = serviceClass;
return this;
}
public RPCHook getRpcHook() {
return rpcHook;
}
public RPCClientOptions setRpcHook(RPCHook rpcHook) {
this.rpcHook = rpcHook;
return this;
}
public Vertx getVertx() {
return vertx;
}
public String getBusAddress() {
return busAddress;
}
public long getTimeout() {
return timeout;
}
public Class getServiceClass() {
return serviceClass;
}
public WireProtocol getWireProtocol() {
return wireProtocol;
}
public RPCClientOptions setWireProtocol(WireProtocol wireProtocol) {
this.wireProtocol = wireProtocol;
return this;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy