Class Distributor
java.lang.Object
org.openqa.selenium.grid.distributor.Distributor
- All Implemented Interfaces:
Predicate<org.openqa.selenium.remote.http.HttpRequest>,org.openqa.selenium.remote.http.HttpHandler,org.openqa.selenium.remote.http.Routable,HasReadyState
- Direct Known Subclasses:
LocalDistributor,RemoteDistributor
public abstract class Distributor
extends Object
implements HasReadyState, Predicate<org.openqa.selenium.remote.http.HttpRequest>, org.openqa.selenium.remote.http.Routable
Responsible for being the central place where the
Nodes on which Sessions run are
determined.
This class responds to the following URLs:
| Verb | URL Template | Meaning |
|---|---|---|
| POST | /session | This is exactly the same as the New Session command from the WebDriver spec. |
| POST | /se/grid/distributor/node | Adds a new Node to this distributor.
Please read the javadocs for Node for
how the Node should be serialized. |
| DELETE | /se/grid/distributor/node/{nodeId} | Remove the Node identified by nodeId
from this distributor. It is expected
that any sessions running on the Node are allowed to complete:
this simply means that no new
sessions will be scheduled on this Node. |
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.openqa.selenium.remote.tracing.Tracer -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedDistributor(org.openqa.selenium.remote.tracing.Tracer tracer, org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, Secret registrationSecret) -
Method Summary
Modifier and TypeMethodDescriptionabstract Distributorabstract booleanorg.openqa.selenium.remote.http.HttpResponseexecute(org.openqa.selenium.remote.http.HttpRequest req) abstract DistributorStatusbooleanmatches(org.openqa.selenium.remote.http.HttpRequest req) abstract org.openqa.selenium.internal.Either<org.openqa.selenium.SessionNotCreatedException, CreateSessionResponse> newSession(SessionRequest request) abstract voidbooleantest(org.openqa.selenium.remote.http.HttpRequest httpRequest) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.openqa.selenium.status.HasReadyState
isReadyMethods inherited from interface org.openqa.selenium.remote.http.Routable
with
-
Field Details
-
tracer
protected final org.openqa.selenium.remote.tracing.Tracer tracer
-
-
Constructor Details
-
Distributor
protected Distributor(org.openqa.selenium.remote.tracing.Tracer tracer, org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, Secret registrationSecret)
-
-
Method Details
-
newSession
public abstract org.openqa.selenium.internal.Either<org.openqa.selenium.SessionNotCreatedException,CreateSessionResponse> newSession(SessionRequest request) throws org.openqa.selenium.SessionNotCreatedException - Throws:
org.openqa.selenium.SessionNotCreatedException
-
add
-
drain
-
remove
-
getStatus
-
test
public boolean test(org.openqa.selenium.remote.http.HttpRequest httpRequest) -
matches
public boolean matches(org.openqa.selenium.remote.http.HttpRequest req) - Specified by:
matchesin interfaceorg.openqa.selenium.remote.http.Routable
-
execute
public org.openqa.selenium.remote.http.HttpResponse execute(org.openqa.selenium.remote.http.HttpRequest req) throws UncheckedIOException - Specified by:
executein interfaceorg.openqa.selenium.remote.http.HttpHandler- Throws:
UncheckedIOException
-