Interface PubrelOutboundInterceptor
- All Superinterfaces:
Interceptor
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface PubrelOutboundInterceptor extends Interceptor
Interface for the outbound PUBREL interception.
Interceptors are always called by the same Thread for all messages from the same client.
If the same instance is shared between multiple clients it can be called in different Threads and must therefore be thread-safe.
When the method onOutboundPubrel(PubrelOutboundInput, PubrelOutboundOutput) throws an exception or a call to
PubrelOutboundOutput.async(Duration) times out with TimeoutFallback.FAILURE, HiveMQ will ignore this
interceptor and will:
- Log the exception
- Revert the changes to the
ModifiablePubrelPacketmade by the interceptor - Call the next
PubrelOutboundInterceptoror send the PUBREL to the client if no interceptor is left
- Since:
- 4.3.0, CE 2020.1
-
Method Summary
Modifier and Type Method Description voidonOutboundPubrel(@NotNull PubrelOutboundInput pubrelOutboundInput, @NotNull PubrelOutboundOutput pubrelOutboundOutput)When aPubrelOutboundInterceptoris set through any extension, this method gets called for every outgoing PUBREL packet for any MQTT client.
-
Method Details
-
onOutboundPubrel
void onOutboundPubrel(@NotNull PubrelOutboundInput pubrelOutboundInput, @NotNull PubrelOutboundOutput pubrelOutboundOutput)When aPubrelOutboundInterceptoris set through any extension, this method gets called for every outgoing PUBREL packet for any MQTT client.When the extension is enabled after HiveMQ is already running, this method will also be called for future PUBRELs for clients that are already connected.
- Parameters:
pubrelOutboundInput- ThePubrelOutboundInputparameter.pubrelOutboundOutput- ThePubrelOutboundOutputparameter.- Since:
- 4.3.0, CE 2020.1
-