com.microsoft.azure.eventhubs.impl.ReplayableWorkItem Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-eventhubs Show documentation
Show all versions of azure-eventhubs Show documentation
Please note, a newer package azure-messaging-eventhubs for Azure Event Hubs is available at https://search.maven.org/artifact/com.azure/azure-messaging-eventhubs as of February 2020. While this package will continue to receive critical bug fixes, we strongly encourage you to upgrade. Read the migration guide at https://aka.ms/azsdk/java/migrate/eh for more details.
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.microsoft.azure.eventhubs.impl;
import java.time.Duration;
import java.util.concurrent.CompletableFuture;
public class ReplayableWorkItem extends WorkItem {
private byte[] amqpMessage;
private int messageFormat;
private int encodedMessageSize;
private boolean waitingForAck;
private Exception lastKnownException;
private CompletableFuture> timeoutTask;
public ReplayableWorkItem(final byte[] amqpMessage, final int encodedMessageSize, final int messageFormat, final CompletableFuture completableFuture, final Duration timeout) {
super(completableFuture, timeout);
this.initialize(amqpMessage, encodedMessageSize, messageFormat);
}
public ReplayableWorkItem(final byte[] amqpMessage, final int encodedMessageSize, final int messageFormat, final CompletableFuture completableFuture, final TimeoutTracker timeout) {
super(completableFuture, timeout);
this.initialize(amqpMessage, encodedMessageSize, messageFormat);
}
private void initialize(final byte[] amqpMessage, final int encodedMessageSize, final int messageFormat) {
this.amqpMessage = amqpMessage;
this.messageFormat = messageFormat;
this.encodedMessageSize = encodedMessageSize;
}
public byte[] getMessage() {
return this.amqpMessage;
}
public void clearMessage() {
this.amqpMessage = null;
}
public int getEncodedMessageSize() {
return this.encodedMessageSize;
}
public int getMessageFormat() {
return this.messageFormat;
}
public Exception getLastKnownException() {
return this.lastKnownException;
}
public void setLastKnownException(Exception exception) {
this.lastKnownException = exception;
}
public CompletableFuture> getTimeoutTask() {
return this.timeoutTask;
}
public void setTimeoutTask(final CompletableFuture> timeoutTask) {
this.timeoutTask = timeoutTask;
}
public void setWaitingForAck() {
this.waitingForAck = true;
}
public boolean isWaitingForAck() {
return this.waitingForAck;
}
}