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

io.scalecube.services.transport.api.ServerTransport Maven / Gradle / Ivy

package io.scalecube.services.transport.api;

import io.scalecube.net.Address;
import io.scalecube.services.methods.ServiceMethodRegistry;
import reactor.core.publisher.Mono;

/** Server service transport interface. */
public interface ServerTransport {

  /**
   * Returns factual listen server address.
   *
   * @return listen server address
   */
  Address address();

  /**
   * Starts a server transport.
   *
   * @param port listen port (can be {@code 0})
   * @param methodRegistry service method registry
   * @return bound server address
   */
  Mono bind(int port, ServiceMethodRegistry methodRegistry);

  /**
   * Stops server transport.
   *
   * @return srop signal
   */
  Mono stop();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy