Interface PublishOutboundOutput
-
- All Superinterfaces:
AsyncOutput<PublishOutboundOutput>
,SimpleAsyncOutput<PublishOutboundOutput>
@DoNotImplement public interface PublishOutboundOutput extends AsyncOutput<PublishOutboundOutput>
This is the output parameter of anyPublishOutboundInterceptor
providing methods to define the outcome of PUBLISH interception.It can be used to
- Modify an outbound PUBLISH packet
- Prevent delivery of an outbound PUBLISH packet
- Since:
- 4.2.0, CE 2020.1
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NotNull Async<PublishOutboundOutput>
async(@NotNull Duration timeout, @NotNull TimeoutFallback timeoutFallback)
If the timeout is expired beforeAsync.resume()
is called then the outcome is handled either as failed or successful, depending on the specified fallback.@NotNull ModifiableOutboundPublish
getPublishPacket()
Use this object to make any changes to the outbound PUBLISH.void
preventPublishDelivery()
Prevent the onward delivery of the PUBLISH packet.-
Methods inherited from interface com.hivemq.extension.sdk.api.async.SimpleAsyncOutput
async
-
-
-
-
Method Detail
-
getPublishPacket
@NotNull ModifiableOutboundPublish getPublishPacket()
Use this object to make any changes to the outbound PUBLISH.- Returns:
- A modifiable publish packet.
- Since:
- 4.2.0, CE 2020.1
-
preventPublishDelivery
void preventPublishDelivery()
Prevent the onward delivery of the PUBLISH packet.- Throws:
UnsupportedOperationException
- When preventPublishDelivery is called more than once.- Since:
- 4.2.0, CE 2020.1
-
async
@NotNull Async<PublishOutboundOutput> async(@NotNull Duration timeout, @NotNull TimeoutFallback timeoutFallback)
If the timeout is expired beforeAsync.resume()
is called then the outcome is handled either as failed or successful, depending on the specified fallback.Do not call this method more than once. If an async method is called multiple times an exception is thrown.
- Specified by:
async
in interfaceAsyncOutput<PublishOutboundOutput>
- Parameters:
timeout
- Timeout that HiveMQ waits for the result of the async operation.timeoutFallback
- Fallback behaviour if a timeout occurs. If the fallback is SUCCESS then the publish will be delivered. If the fallback is FAILURE then the publish will be dropped.- Returns:
- An
Async
object, usually containing the output object. - Throws:
UnsupportedOperationException
- If async is called more than once.NullPointerException
- If timeout or timeoutFallback is null.- Since:
- 4.2.0, CE 2020.1
-
-