Package com.couchbase.client.core.node
Class Node
- java.lang.Object
-
- com.couchbase.client.core.node.Node
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedNode(CoreContext ctx, NodeIdentifier identifier, Optional<String> alternateAddress)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Mono<Void>addService(ServiceType type, int port, Optional<String> bucket)static Nodecreate(CoreContext ctx, NodeIdentifier identifier, Optional<String> alternateAddress)protected ServicecreateService(ServiceType serviceType, int port, Optional<String> bucket)Helper method to create theServicebased on the service type provided.Stream<EndpointDiagnostics>diagnostics()Mono<Void>disconnect()Instruct thisNodeto disconnect.booleanequals(Object o)inthashCode()booleanhasServicesEnabled()NodeIdentifieridentifier()Returns the node identifier.Stream<InternalEndpointDiagnostics>internalDiagnostics()Mono<Void>removeService(ServiceType type, Optional<String> bucket)<R extends Request<? extends Response>>
voidsend(R request)Sends the request into thisNode.protected <R extends Request<? extends Response>>
voidsendIntoRetry(R request)Retries the request.booleanserviceEnabled(ServiceType type)If a givenServiceTypeis enabled on this node.Optional<Flux<ServiceState>>serviceState(ServiceType type, Optional<String> bucket)If present, returns a flux that allows to monitor the state changes of a specific service.NodeStatestate()Returns the current state of the stateful component.Flux<NodeState>states()Returns a stream of states for this component as they change.StringtoString()
-
-
-
Constructor Detail
-
Node
protected Node(CoreContext ctx, NodeIdentifier identifier, Optional<String> alternateAddress)
-
-
Method Detail
-
create
public static Node create(CoreContext ctx, NodeIdentifier identifier, Optional<String> alternateAddress)
-
disconnect
public Mono<Void> disconnect()
Instruct thisNodeto disconnect.This method is async and will return immediately. Use the other methods available to inspect the current state of the node, signaling potential successful disconnection attempts.
-
addService
public Mono<Void> addService(ServiceType type, int port, Optional<String> bucket)
- Parameters:
type- the type of the service.port- the port of the service.bucket- the bucket name (if present).- Returns:
- a
Monothat completes once the service is added.
-
removeService
public Mono<Void> removeService(ServiceType type, Optional<String> bucket)
- Parameters:
type- the type of service.bucket- the bucket name if present.- Returns:
- a mono once completed.
-
states
public Flux<NodeState> states()
Description copied from interface:StatefulReturns a stream of states for this component as they change.
-
state
public NodeState state()
Description copied from interface:StatefulReturns the current state of the stateful component.
-
serviceState
public Optional<Flux<ServiceState>> serviceState(ServiceType type, Optional<String> bucket)
If present, returns a flux that allows to monitor the state changes of a specific service.- Parameters:
type- the type of service.bucket- the bucket, if present.- Returns:
- if found, a flux with the service states.
-
send
public <R extends Request<? extends Response>> void send(R request)
Sends the request into thisNode.Note that there is no guarantee that the request will actually dispatched, based on the state this node is in.
- Parameters:
request- the request to send.
-
sendIntoRetry
protected <R extends Request<? extends Response>> void sendIntoRetry(R request)
Retries the request.This is a separate method because in test it is overridden to do easy assertions.
- Parameters:
request- the request to retry.
-
identifier
public NodeIdentifier identifier()
Returns the node identifier.
-
serviceEnabled
public boolean serviceEnabled(ServiceType type)
If a givenServiceTypeis enabled on this node.- Parameters:
type- the service type to check.- Returns:
- true if enabled, false otherwise.
-
hasServicesEnabled
public boolean hasServicesEnabled()
-
createService
protected Service createService(ServiceType serviceType, int port, Optional<String> bucket)
Helper method to create theServicebased on the service type provided.- Parameters:
serviceType- the type of service to create.port- the port for that service.bucket- optionally the bucket name.- Returns:
- a created service, but not yet connected or anything.
-
diagnostics
public Stream<EndpointDiagnostics> diagnostics()
-
internalDiagnostics
@Internal public Stream<InternalEndpointDiagnostics> internalDiagnostics()
-
-