Package io.vertx.core.spi.endpoint
Interface EndpointResolver<A extends Address,S,D,E>
-
- Type Parameters:
A- the type ofAddressresolvedS- the type of the endpoint serverD- the type of the data managed by the resolverE- the type of the endpoint
public interface EndpointResolver<A extends Address,S,D,E>Endpoint resolver Service Provider Interface (SPI).{@link #resolve)} resolves an address to resolver managed state
<S>. State modifying methods can be called concurrently, the implementation is responsible to manage concurrent state modifications.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description SocketAddressaddressOf(S server)Returns the socket address of a given endpointserver.voidclose()Close this resolver.voiddispose(D data)Dispose the state.Eendpoint(D state)Return the current endpoint visible by the resolver.booleanisValid(D state)Check the state validity.default JsonObjectpropertiesOf(S server)Returns the known properties of a givenserver.Future<D>resolve(A address, EndpointBuilder<E,S> builder)Resolve an address to the resolver state for this name.AtryCast(Address address)Try to cast theaddressto an address instance that can be resolved by this resolver instance.
-
-
-
Method Detail
-
tryCast
A tryCast(Address address)
Try to cast theaddressto an address instance that can be resolved by this resolver instance.- Parameters:
address- the address to cast- Returns:
- the address or
nullwhen theaddresscannot be resolved by this resolver
-
addressOf
SocketAddress addressOf(S server)
Returns the socket address of a given endpointserver.- Parameters:
server- the endpoint server- Returns:
- the server socket address
-
propertiesOf
default JsonObject propertiesOf(S server)
Returns the known properties of a givenserver.- Parameters:
server- the endpoint- Returns:
- the properties as a JSON object
-
resolve
Future<D> resolve(A address, EndpointBuilder<E,S> builder)
Resolve an address to the resolver state for this name.- Parameters:
address- the address to resolvebuilder- the endpoint builder- Returns:
- a future notified with the result
-
endpoint
E endpoint(D state)
Return the current endpoint visible by the resolver.- Parameters:
state- the resolver state- Returns:
- the list of endpoints
-
isValid
boolean isValid(D state)
Check the state validity.- Parameters:
state- resolver state- Returns:
- the state validity
-
dispose
void dispose(D data)
Dispose the state.- Parameters:
data- the state
-
close
void close()
Close this resolver.
-
-