All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.microsoft.azure.eventhubs.PartitionReceiveHandler Maven / Gradle / Ivy

There is a newer version: 3.3.0
Show newest version
/*
 * Copyright (c) Microsoft. All rights reserved.
 * Licensed under the MIT license. See LICENSE file in the project root for full license information.
 */
package com.microsoft.azure.eventhubs;

/**
 * A handler class for the receive operation. Use any implementation of this abstract class to specify 
 * user action when using PartitionReceiver's setReceiveHandler().
 * @see  PartitionReceiver#setReceiveHandler
 */
public abstract class PartitionReceiveHandler
{
	private int maxEventCount;

	protected PartitionReceiveHandler(final int maxEventCount)
	{
		this.maxEventCount = maxEventCount;
	}

	int getMaxEventCount()
	{
		return maxEventCount;
	}

	/**
	 * implementor of {@link PartitionReceiveHandler#onReceive} can use this to set the limit on maximum {@link EventData}'s that
	 * can be received by the next {@link PartitionReceiveHandler#onReceive} call
	 * @param value maximum {@link EventData}'s to be received in the next {@link PartitionReceiveHandler#onReceive} call
	 */
	protected final void setMaxEventCount(final int value)
	{
		this.maxEventCount = value;
	}

	/**
	 * user should implement this method to specify the action to be performed on the received events.
	 * @param   events  the list of fetched events from the corresponding PartitionReceiver.
	 * @see  PartitionReceiver#receive
	 */
	public abstract void onReceive(Iterable events);

	/**
	 * Implement this method to Listen to errors which lead to Closure of the {@link PartitionReceiveHandler} pump.
	 * @param error fatal error encountered while running the {@link PartitionReceiveHandler} pump
	 */
	public abstract void onError(Throwable error);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy