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

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

package io.scalecube.services.transport.api;

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

public interface ServiceTransport {

  /**
   * Provider for {@link ClientTransport}.
   *
   * @return {@code ClientTransport} instance
   */
  ClientTransport clientTransport();

  /**
   * Provider for {@link ServerTransport}.
   *
   * @param methodRegistry methodRegistry
   * @return {@code ServerTransport} instance
   */
  ServerTransport serverTransport(ServiceMethodRegistry methodRegistry);

  /**
   * Starts transport.
   *
   * @return mono result
   */
  Mono start();

  /**
   * Shutdowns transport.
   *
   * @return shutdown completion signal
   */
  Mono stop();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy