Interface ServiceProviderRegistrar<T,M extends GroupMember>

Type Parameters:
T - the service type
M - the member type
All Superinterfaces:
Registrar<T>

public interface ServiceProviderRegistrar<T,M extends GroupMember> extends Registrar<T>
A distributed registry of service providers. Allows a client to query the group members that can provide a given service.
Author:
Paul Ferraro
  • Method Details

    • getGroup

      Group<M> getGroup()
      Returns the group with which to register service providers.
      Returns:
      a group
    • register

      ServiceProviderRegistration<T,M> register(T service)
      Registers the local group member as a provider of the specified service.
      Specified by:
      register in interface Registrar<T>
      Parameters:
      service - a service to register
      Returns:
      a new service provider registration
    • register

      ServiceProviderRegistration<T,M> register(T service, ServiceProviderListener<M> listener)
      Registers the local group member as a provider of the specified service, using the specified listener.
      Parameters:
      service - a service to register
      listener - a registry listener
      Returns:
      a new service provider registration
    • getProviders

      Set<M> getProviders(T service)
      Returns the set of group members that can provide the specified service.
      Parameters:
      service - a service for which to obtain providers
      Returns:
      a set of group members providing the specified service
    • getServices

      Set<T> getServices()
      Returns the complete list of services known to this registry.
      Returns:
      a set of services