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;
29
30 import java.io.IOException;
31 import java.nio.ByteBuffer;
32 import java.nio.channels.ByteChannel;
33
34 public class ByteChannelMock implements ByteChannel {
35
36 private final ReadableByteChannelMock readableChannel;
37 private final WritableByteChannelMock writableChannel;
38 private boolean closed;
39
40 public ByteChannelMock(
41 final ReadableByteChannelMock readableChannel,
42 final WritableByteChannelMock writableChannel) {
43 super();
44 this.readableChannel = readableChannel;
45 this.writableChannel = writableChannel;
46 }
47
48 @Override
49 public int read(final ByteBuffer dst) throws IOException {
50 return this.readableChannel.read(dst);
51 }
52
53 @Override
54 public int write(final ByteBuffer src) throws IOException {
55 return this.writableChannel.write(src);
56 }
57
58 @Override
59 public boolean isOpen() {
60 return !this.closed;
61 }
62
63 @Override
64 public void close() throws IOException {
65 if (this.closed) {
66 return;
67 }
68 this.closed = true;
69 this.readableChannel.close();
70 this.writableChannel.close();
71 }
72
73 }