AbstractChannelPoolMapTest Class — netty Architecture
Architecture documentation for the AbstractChannelPoolMapTest class in AbstractChannelPoolMapTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD a8999ca8_1527_5b77_88b4_2e7aa504b5f4["AbstractChannelPoolMapTest"] 8190cf66_d425_6ac0_18bf_a2f517283edb["AbstractChannelPoolMapTest.java"] a8999ca8_1527_5b77_88b4_2e7aa504b5f4 -->|defined in| 8190cf66_d425_6ac0_18bf_a2f517283edb e54e4551_d02a_92b8_dbdb_49ad06e0d485["testMap()"] a8999ca8_1527_5b77_88b4_2e7aa504b5f4 -->|method| e54e4551_d02a_92b8_dbdb_49ad06e0d485 fdbfdf6a_55bd_5be9_ee52_bcaafe5ff92a["testRemoveClosesChannelPool()"] a8999ca8_1527_5b77_88b4_2e7aa504b5f4 -->|method| fdbfdf6a_55bd_5be9_ee52_bcaafe5ff92a 9470e904_c9cb_4373_e292_db4177c439a2["testCloseClosesPoolsImmediately()"] a8999ca8_1527_5b77_88b4_2e7aa504b5f4 -->|method| 9470e904_c9cb_4373_e292_db4177c439a2
Relationship Graph
Source Code
transport/src/test/java/io/netty/channel/pool/AbstractChannelPoolMapTest.java lines 43–170
public class AbstractChannelPoolMapTest {
@Test
public void testMap() throws Exception {
EventLoopGroup group = new MultiThreadIoEventLoopGroup(LocalIoHandler.newFactory());
LocalAddress addr = new LocalAddress(getLocalAddrId());
final Bootstrap cb = new Bootstrap();
cb.remoteAddress(addr);
cb.group(group)
.channel(LocalChannel.class);
AbstractChannelPoolMap<EventLoop, SimpleChannelPool> poolMap =
new AbstractChannelPoolMap<EventLoop, SimpleChannelPool>() {
@Override
protected SimpleChannelPool newPool(EventLoop key) {
return new SimpleChannelPool(cb.clone(key), new TestChannelPoolHandler());
}
};
EventLoop loop = group.next();
assertFalse(poolMap.iterator().hasNext());
assertEquals(0, poolMap.size());
final SimpleChannelPool pool = poolMap.get(loop);
assertEquals(1, poolMap.size());
assertTrue(poolMap.iterator().hasNext());
assertSame(pool, poolMap.get(loop));
assertTrue(poolMap.remove(loop));
assertFalse(poolMap.remove(loop));
assertFalse(poolMap.iterator().hasNext());
assertEquals(0, poolMap.size());
assertThrows(ConnectException.class, new Executable() {
@Override
public void execute() throws Throwable {
pool.acquire().syncUninterruptibly();
}
});
poolMap.close();
}
@Test
public void testRemoveClosesChannelPool() {
EventLoopGroup group = new MultiThreadIoEventLoopGroup(LocalIoHandler.newFactory());
LocalAddress addr = new LocalAddress(getLocalAddrId());
final Bootstrap cb = new Bootstrap();
cb.remoteAddress(addr);
cb.group(group)
.channel(LocalChannel.class);
AbstractChannelPoolMap<EventLoop, TestPool> poolMap =
new AbstractChannelPoolMap<EventLoop, TestPool>() {
@Override
protected TestPool newPool(EventLoop key) {
return new TestPool(cb.clone(key), new TestChannelPoolHandler());
}
};
EventLoop loop = group.next();
TestPool pool = poolMap.get(loop);
assertTrue(poolMap.remove(loop));
// the pool should be closed eventually after remove
pool.closeFuture.awaitUninterruptibly(1, TimeUnit.SECONDS);
assertTrue(pool.closeFuture.isDone());
poolMap.close();
}
@Test
public void testCloseClosesPoolsImmediately() {
EventLoopGroup group = new MultiThreadIoEventLoopGroup(LocalIoHandler.newFactory());
LocalAddress addr = new LocalAddress(getLocalAddrId());
final Bootstrap cb = new Bootstrap();
cb.remoteAddress(addr);
cb.group(group)
.channel(LocalChannel.class);
AbstractChannelPoolMap<EventLoop, TestPool> poolMap =
Source
Frequently Asked Questions
What is the AbstractChannelPoolMapTest class?
AbstractChannelPoolMapTest is a class in the netty codebase, defined in transport/src/test/java/io/netty/channel/pool/AbstractChannelPoolMapTest.java.
Where is AbstractChannelPoolMapTest defined?
AbstractChannelPoolMapTest is defined in transport/src/test/java/io/netty/channel/pool/AbstractChannelPoolMapTest.java at line 43.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free