doReadMessages() — netty Function Reference
Architecture documentation for the doReadMessages() function in OioDatagramChannel.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 8ae45d83_11d5_f88d_3134_664d569278ec["doReadMessages()"] a7905bd8_19b4_15f5_a2e6_da0e5df1cc1b["OioDatagramChannel"] 8ae45d83_11d5_f88d_3134_664d569278ec -->|defined in| a7905bd8_19b4_15f5_a2e6_da0e5df1cc1b style 8ae45d83_11d5_f88d_3134_664d569278ec fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
transport/src/main/java/io/netty/channel/socket/oio/OioDatagramChannel.java lines 210–245
@Override
protected int doReadMessages(List<Object> buf) throws Exception {
DatagramChannelConfig config = config();
final RecvByteBufAllocator.Handle allocHandle = unsafe().recvBufAllocHandle();
ByteBuf data = config.getAllocator().heapBuffer(allocHandle.guess());
boolean free = true;
try {
// Ensure we null out the address which may have been set before.
tmpPacket.setAddress(null);
tmpPacket.setData(data.array(), data.arrayOffset(), data.capacity());
socket.receive(tmpPacket);
InetSocketAddress remoteAddr = (InetSocketAddress) tmpPacket.getSocketAddress();
allocHandle.lastBytesRead(tmpPacket.getLength());
buf.add(new DatagramPacket(data.writerIndex(allocHandle.lastBytesRead()), localAddress(), remoteAddr));
free = false;
return 1;
} catch (SocketTimeoutException e) {
// Expected
return 0;
} catch (SocketException e) {
if (!e.getMessage().toLowerCase(Locale.US).contains("socket closed")) {
throw e;
}
return -1;
} catch (Throwable cause) {
PlatformDependent.throwException(cause);
return -1;
} finally {
if (free) {
data.release();
}
}
}
Domain
Subdomains
Source
Frequently Asked Questions
What does doReadMessages() do?
doReadMessages() is a function in the netty codebase, defined in transport/src/main/java/io/netty/channel/socket/oio/OioDatagramChannel.java.
Where is doReadMessages() defined?
doReadMessages() is defined in transport/src/main/java/io/netty/channel/socket/oio/OioDatagramChannel.java at line 210.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free