Package io.sentry.transport
Class AsyncHttpTransport
java.lang.Object
io.sentry.transport.AsyncHttpTransport
- All Implemented Interfaces:
ITransport
,Closeable
,AutoCloseable
ITransport
implementation that executes request asynchronously in a blocking manner using
HttpURLConnection
.-
Constructor Summary
ConstructorDescriptionAsyncHttpTransport
(@NotNull SentryOptions options, @NotNull RateLimiter rateLimiter, @NotNull ITransportGate transportGate, @NotNull RequestDetails requestDetails) AsyncHttpTransport
(@NotNull io.sentry.transport.QueuedThreadPoolExecutor executor, @NotNull SentryOptions options, @NotNull RateLimiter rateLimiter, @NotNull ITransportGate transportGate, @NotNull io.sentry.transport.HttpConnection httpConnection) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
void
close
(boolean isRestarting) Closes the transport.void
flush
(long timeoutMillis) Flushes events queued up, but keeps the client enabled.@NotNull RateLimiter
boolean
void
send
(@NotNull SentryEnvelope envelope, @NotNull Hint hint) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.sentry.transport.ITransport
send
-
Constructor Details
-
AsyncHttpTransport
public AsyncHttpTransport(@NotNull @NotNull SentryOptions options, @NotNull @NotNull RateLimiter rateLimiter, @NotNull @NotNull ITransportGate transportGate, @NotNull @NotNull RequestDetails requestDetails) -
AsyncHttpTransport
public AsyncHttpTransport(@NotNull @NotNull io.sentry.transport.QueuedThreadPoolExecutor executor, @NotNull @NotNull SentryOptions options, @NotNull @NotNull RateLimiter rateLimiter, @NotNull @NotNull ITransportGate transportGate, @NotNull @NotNull io.sentry.transport.HttpConnection httpConnection)
-
-
Method Details
-
send
public void send(@NotNull @NotNull SentryEnvelope envelope, @NotNull @NotNull Hint hint) throws IOException - Specified by:
send
in interfaceITransport
- Throws:
IOException
-
flush
public void flush(long timeoutMillis) Description copied from interface:ITransport
Flushes events queued up, but keeps the client enabled. Not implemented yet.- Specified by:
flush
in interfaceITransport
- Parameters:
timeoutMillis
- time in milliseconds
-
getRateLimiter
- Specified by:
getRateLimiter
in interfaceITransport
-
isHealthy
public boolean isHealthy()- Specified by:
isHealthy
in interfaceITransport
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
close
Description copied from interface:ITransport
Closes the transport.- Specified by:
close
in interfaceITransport
- Parameters:
isRestarting
- if true, avoids locking the main thread by dropping the current connection.- Throws:
IOException
-