Package io.vertx.core.spi.endpoint
Interface EndpointResolver<A extends Address,S,D,E>
-
- Type Parameters:
A
- the type ofAddress
resolvedS
- 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 SocketAddress
addressOf(S server)
Returns the socket address of a given endpointserver
.void
close()
Close this resolver.void
dispose(D data)
Dispose the state.E
endpoint(D state)
Return the current endpoint visible by the resolver.boolean
isValid(D state)
Check the state validity.default JsonObject
propertiesOf(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.A
tryCast(Address address)
Try to cast theaddress
to an address instance that can be resolved by this resolver instance.
-
-
-
Method Detail
-
tryCast
A tryCast(Address address)
Try to cast theaddress
to an address instance that can be resolved by this resolver instance.- Parameters:
address
- the address to cast- Returns:
- the address or
null
when theaddress
cannot 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.
-
-