MCPcopy Create free account
hub / github.com/DeNA/PacketProxy / _recv

Method _recv

src/main/java/core/org/xbill/DNS/TCPClient.java:74–100  ·  view source on GitHub ↗
(int length)

Source from the content-addressed store, hash-verified

72}
73
74private byte []
75_recv(int length) throws IOException {
76 SocketChannel channel = (SocketChannel) key.channel();
77 int nrecvd = 0;
78 byte [] data = new byte[length];
79 ByteBuffer buffer = ByteBuffer.wrap(data);
80 key.interestOps(SelectionKey.OP_READ);
81 try {
82 while (nrecvd < length) {
83 if (key.isReadable()) {
84 long n = channel.read(buffer);
85 if (n < 0)
86 throw new EOFException();
87 nrecvd += (int) n;
88 if (nrecvd < length &&
89 System.currentTimeMillis() > endTime)
90 throw new SocketTimeoutException();
91 } else
92 blockUntil(key, endTime);
93 }
94 }
95 finally {
96 if (key.isValid())
97 key.interestOps(0);
98 }
99 return data;
100}
101
102byte []
103recv() throws IOException {

Callers 1

recvMethod · 0.95

Calls 2

blockUntilMethod · 0.80
readMethod · 0.45

Tested by

no test coverage detected