Interface Service

All Superinterfaces:
Stateful<ServiceState>
All Known Implementing Classes:
AnalyticsService, BackupService, EventingService, KeyValueService, ManagerService, QueryService, SearchService, ViewService

public interface Service extends Stateful<ServiceState>
The parent interface for all service implementations.

Note that while this interface has been around since the 1.x days, it has been changed up quite a bit to make it simpler and provide more functionality based on real world experience with the first iteration.

Since:
1.0.0
  • Method Details

    • connect

      void connect()
      Instruct this Service to connect.

      This method is async and will return immediately. Use the other methods available to inspect the current state of the service, signaling potential successful connection attempts.

    • disconnect

      void disconnect()
      Instruct this Service to disconnect.

      This method is async and will return immediately. Use the other methods available to inspect the current state of the service, signaling potential successful disconnection attempts.

    • send

      <R extends Request<? extends Response>> void send(R request)
      Sends the request into this Service.

      Note that there is no guarantee that the request will actually dispatched, based on the state this service is in.

      Parameters:
      request - the request to send.
    • context

      ServiceContext context()
      Returns the underlying contextual metadata for this service.
    • type

      ServiceType type()
      Represents the service type for this service.
    • diagnostics

      Stream<EndpointDiagnostics> diagnostics()
      Returns diagnostics information for this service.
    • address

      default HostAndPort address()
      Returns the remote address for this service.
    • internalDiagnostics