All Downloads are FREE. Search and download functionalities are using the official Maven repository.

as.leap.vertx.rpc.impl.RPCClientOptions Maven / Gradle / Ivy

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