netty/netty — Issue #58: Find the optimal data structure for List<ChannelFutureListener>
Author: trustin
Created: 2011-11-16 13:41:49+00:00
State: open

`ChannelFuture` holds a list of `ChannelFutureListener`s. A user can add or remove one or more `ChannelFutureListener`s from any thread until the future is complete. Once complete, only a single thread will retrieve the list of the listeners exclusively (i.e. no other threads will ever read or write it.)

Currently, we just use a synchronized block, but it's not optimal and we need to experiment with various data structures.

To make this happen:

1. Write a performance test application dedicated to simulate the real world `ChannelFuture` usage.
1. Design and implement the optimal data structure.