Interface Service
- All Superinterfaces:
Stateful<ServiceState>
- All Known Implementing Classes:
AnalyticsService,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 Summary
Modifier and Type Method Description voidconnect()Instruct thisServiceto connect.ServiceContextcontext()Returns the underlying contextual metadata for this service.Stream<EndpointDiagnostics>diagnostics()Returns diagnostics information for this service.voiddisconnect()Instruct thisServiceto disconnect.<R extends Request<? extends Response>>
voidsend(R request)Sends the request into thisService.ServiceTypetype()Represents the service type for this service.
-
Method Details
-
connect
void connect()Instruct thisServiceto 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 thisServiceto 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
Sends the request into thisService.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.
-