Package discord4j.common
Class ReactorResources
java.lang.Object
discord4j.common.ReactorResources
Provides Reactor Netty resources like an
HttpClient
and Scheduler
instances that can be customized
and reused across the application.
Allow a user to externally manage the connection pool through a custom ConnectionProvider
, and custom
event loop threads using a LoopResources
.
-
Nested Class Summary
-
Field Summary
-
Constructor Summary
ModifierConstructorDescriptionCreate with a defaultHttpClient
andScheduler
s for timed and blocking tasks.protected
ReactorResources
(ReactorResources.Builder builder) ReactorResources
(HttpClient httpClient, Scheduler timerTaskScheduler, Scheduler blockingTaskScheduler) Create with a pre-configuredHttpClient
andScheduler
s for timed and blocking tasks. -
Method Summary
Modifier and TypeMethodDescriptionstatic ReactorResources.Builder
builder()
static ReactorResources
create()
Get theScheduler
configured by this provider to be used in blocking tasks.Get theHttpClient
configured by this provider.Get theScheduler
configured by this provider to be used in timed tasks.static HttpClient
newHttpClient
(ConnectionProvider provider) Create a Reactor NettyHttpClient
using the given connection pool.static HttpClient
newHttpClient
(ConnectionProvider provider, LoopResources resources) Create a Reactor NettyHttpClient
using the given connection pool and event loop threads.
-
Field Details
-
DEFAULT_HTTP_CLIENT
-
DEFAULT_TIMER_TASK_SCHEDULER
-
DEFAULT_BLOCKING_TASK_SCHEDULER
-
-
Constructor Details
-
ReactorResources
public ReactorResources()Create with a defaultHttpClient
andScheduler
s for timed and blocking tasks. -
ReactorResources
public ReactorResources(HttpClient httpClient, Scheduler timerTaskScheduler, Scheduler blockingTaskScheduler) Create with a pre-configuredHttpClient
andScheduler
s for timed and blocking tasks.- Parameters:
httpClient
- the underlyingHttpClient
to usetimerTaskScheduler
- the time-capableScheduler
to useblockingTaskScheduler
- theScheduler
to use for potentially blocking tasks
-
ReactorResources
-
-
Method Details
-
create
-
builder
-
getHttpClient
Get theHttpClient
configured by this provider.- Returns:
- a Reactor Netty HTTP client ready to perform requests
-
getTimerTaskScheduler
Get theScheduler
configured by this provider to be used in timed tasks.- Returns:
- a time-capable
Scheduler
-
getBlockingTaskScheduler
Get theScheduler
configured by this provider to be used in blocking tasks.- Returns:
- a blocking-capable
Scheduler
-
newHttpClient
Create a Reactor NettyHttpClient
using the given connection pool.Use this in case you want dedicated resources for a particular client or clients instead of the global default.
- Parameters:
provider
- the connection pool provider to use- Returns:
- an
HttpClient
configured with custom resources
-
newHttpClient
Create a Reactor NettyHttpClient
using the given connection pool and event loop threads.Use this in case you want dedicated resources for a particular client or clients instead of the global default.
- Parameters:
provider
- the connection pool provider to useresources
- the set of event loop threads to use- Returns:
- an
HttpClient
configured with custom resources
-