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
28 package org.apache.http.nio.protocol;
29
30 import java.io.IOException;
31 import java.nio.ByteBuffer;
32
33 import org.apache.http.HttpRequest;
34 import org.apache.http.nio.ContentDecoder;
35 import org.apache.http.nio.IOControl;
36 import org.apache.http.protocol.HttpContext;
37
38 class NullRequestConsumer implements HttpAsyncRequestConsumer<Object> {
39
40 private final ByteBuffer buffer;
41 private volatile boolean completed;
42
43 NullRequestConsumer() {
44 super();
45 this.buffer = ByteBuffer.allocate(2048);
46 }
47
48 @Override
49 public void requestReceived(final HttpRequest request) {
50 }
51
52 @Override
53 public void consumeContent(
54 final ContentDecoder decoder, final IOControl ioControl) throws IOException {
55 int lastRead;
56 do {
57 this.buffer.clear();
58 lastRead = decoder.read(this.buffer);
59 } while (lastRead > 0);
60 }
61
62 @Override
63 public void requestCompleted(final HttpContext context) {
64 this.completed = true;
65 }
66
67 @Override
68 public void failed(final Exception ex) {
69 this.completed = true;
70 }
71
72 @Override
73 public Object getResult() {
74 return Boolean.valueOf(this.completed);
75 }
76
77 @Override
78 public Exception getException() {
79 return null;
80 }
81
82 @Override
83 public void close() throws IOException {
84 this.completed = true;
85 }
86
87 @Override
88 public boolean isDone() {
89 return this.completed;
90 }
91
92 }