Skip to content

Package: ReadHandler

ReadHandler

Coverage

1: /*
2: * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
3: *
4: * This program and the accompanying materials are made available under the
5: * terms of the Eclipse Public License v. 2.0, which is available at
6: * http://www.eclipse.org/legal/epl-2.0.
7: *
8: * This Source Code may also be made available under the following Secondary
9: * Licenses when the conditions for such availability set forth in the
10: * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
11: * version 2 with the GNU Classpath Exception, which is available at
12: * https://www.gnu.org/software/classpath/license.html.
13: *
14: * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15: */
16:
17: package org.glassfish.grizzly;
18:
19: /**
20: * <p>
21: * This class represents a call-back mechanism that will notify implementations as more input data becomes available to
22: * read without blocking.
23: * </p>
24: *
25: * @since 2.2
26: */
27: public interface ReadHandler {
28:
29: /**
30: * <p>
31: * Invoked when data is available to be read without blocking. Data must be consumed by the handler implementation
32: * before re-registering.
33: * </p>
34: *
35: * @throws Exception {@link Exception} might be thrown by the custom handler code. This exception will be delegated for
36: * processing to {@link #onError(java.lang.Throwable)}.
37: */
38: void onDataAvailable() throws Exception;
39:
40: /**
41: * <p>
42: * Invoked when an error occurs processing the request asynchronously.
43: * </p>
44: *
45: * @param t the error
46: */
47: void onError(final Throwable t);
48:
49: /**
50: * <p>
51: * Invoked when all data for the current request has been read.
52: * </p>
53: *
54: * @throws Exception {@link Exception} might be thrown by the custom handler code. This exception will be delegated for
55: * processing to {@link #onError(java.lang.Throwable)}.
56: */
57: void onAllDataRead() throws Exception;
58:
59: }