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
Node
s on which Session
s 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
Modifier and TypeFieldDescriptionprotected final org.openqa.selenium.remote.tracing.Tracer
-
Constructor Summary
ModifierConstructorDescriptionprotected
Distributor
(org.openqa.selenium.remote.tracing.Tracer tracer, org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, Secret registrationSecret) -
Method Summary
Modifier and TypeMethodDescriptionabstract Distributor
abstract boolean
org.openqa.selenium.remote.http.HttpResponse
execute
(org.openqa.selenium.remote.http.HttpRequest req) abstract DistributorStatus
boolean
matches
(org.openqa.selenium.remote.http.HttpRequest req) abstract org.openqa.selenium.internal.Either<org.openqa.selenium.SessionNotCreatedException,
CreateSessionResponse> newSession
(SessionRequest request) abstract void
boolean
test
(org.openqa.selenium.remote.http.HttpRequest httpRequest) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.openqa.selenium.status.HasReadyState
isReady
Methods 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:
matches
in 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:
execute
in interfaceorg.openqa.selenium.remote.http.HttpHandler
- Throws:
UncheckedIOException
-