1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 package org.apache.hc.core5.http2.impl.nio;
28
29 import java.io.IOException;
30 import java.nio.ByteBuffer;
31 import java.util.List;
32
33 import org.apache.hc.core5.http.Header;
34 import org.apache.hc.core5.http.HttpException;
35 import org.apache.hc.core5.http.nio.AsyncPushConsumer;
36 import org.apache.hc.core5.http.nio.HandlerFactory;
37 import org.apache.hc.core5.http.nio.ResourceHolder;
38
39 interface H2StreamHandler extends ResourceHolder {
40
41 boolean isOutputReady();
42
43 void produceOutput() throws HttpException, IOException;
44
45 void consumePromise(List<Header> headers) throws HttpException, IOException;
46
47 void consumeHeader(List<Header> headers, boolean endStream) throws HttpException, IOException;
48
49 void updateInputCapacity() throws IOException;
50
51 void consumeData(ByteBuffer src, boolean endStream) throws HttpException, IOException;
52
53 HandlerFactory<AsyncPushConsumer> getPushHandlerFactory();
54
55 void failed(Exception cause);
56
57 void handle(final HttpException ex, final boolean endStream) throws HttpException, IOException;
58
59 }