SelectedSelectionKeySet Class — netty Architecture
Architecture documentation for the SelectedSelectionKeySet class in SelectedSelectionKeySet.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 1b7e8a83_4925_ec6c_0515_4ee26c60a2b9["SelectedSelectionKeySet"] 66c1b9e5_8741_7c71_4442_9da3c020f4a9["SelectedSelectionKeySet.java"] 1b7e8a83_4925_ec6c_0515_4ee26c60a2b9 -->|defined in| 66c1b9e5_8741_7c71_4442_9da3c020f4a9 6ee5ec3c_96b3_94ef_540a_85281f70798f["SelectedSelectionKeySet()"] 1b7e8a83_4925_ec6c_0515_4ee26c60a2b9 -->|method| 6ee5ec3c_96b3_94ef_540a_85281f70798f 6a676632_5100_880a_2b33_fbf62456ca92["add()"] 1b7e8a83_4925_ec6c_0515_4ee26c60a2b9 -->|method| 6a676632_5100_880a_2b33_fbf62456ca92 4a67edcd_caaf_61c3_b439_56d370a4248c["remove()"] 1b7e8a83_4925_ec6c_0515_4ee26c60a2b9 -->|method| 4a67edcd_caaf_61c3_b439_56d370a4248c 7601bdd4_f665_7ccb_a56b_6b28a55eb8e0["contains()"] 1b7e8a83_4925_ec6c_0515_4ee26c60a2b9 -->|method| 7601bdd4_f665_7ccb_a56b_6b28a55eb8e0 51a9fb41_c13e_d12d_8889_7f0e7ed03dbc["size()"] 1b7e8a83_4925_ec6c_0515_4ee26c60a2b9 -->|method| 51a9fb41_c13e_d12d_8889_7f0e7ed03dbc 693054f3_9ba9_1ec3_6e99_51c132af9dbd["iterator()"] 1b7e8a83_4925_ec6c_0515_4ee26c60a2b9 -->|method| 693054f3_9ba9_1ec3_6e99_51c132af9dbd b5559805_0fe1_035f_f7d2_947f0db85b43["reset()"] 1b7e8a83_4925_ec6c_0515_4ee26c60a2b9 -->|method| b5559805_0fe1_035f_f7d2_947f0db85b43 50ae6b48_680a_7a71_ffd6_a6861462b9f2["increaseCapacity()"] 1b7e8a83_4925_ec6c_0515_4ee26c60a2b9 -->|method| 50ae6b48_680a_7a71_ffd6_a6861462b9f2
Relationship Graph
Source Code
transport/src/main/java/io/netty/channel/nio/SelectedSelectionKeySet.java lines 25–109
final class SelectedSelectionKeySet extends AbstractSet<SelectionKey> {
SelectionKey[] keys;
int size;
SelectedSelectionKeySet() {
keys = new SelectionKey[1024];
}
@Override
public boolean add(SelectionKey o) {
if (o == null) {
return false;
}
if (size == keys.length) {
increaseCapacity();
}
keys[size++] = o;
return true;
}
@Override
public boolean remove(Object o) {
return false;
}
@Override
public boolean contains(Object o) {
SelectionKey[] array = keys;
for (int i = 0, s = size; i < s; i++) {
SelectionKey k = array[i];
if (k.equals(o)) {
return true;
}
}
return false;
}
@Override
public int size() {
return size;
}
@Override
public Iterator<SelectionKey> iterator() {
return new Iterator<SelectionKey>() {
private int idx;
@Override
public boolean hasNext() {
return idx < size;
}
@Override
public SelectionKey next() {
if (!hasNext()) {
throw new NoSuchElementException();
}
return keys[idx++];
}
@Override
public void remove() {
throw new UnsupportedOperationException();
}
};
}
void reset() {
reset(0);
}
void reset(int start) {
Arrays.fill(keys, start, size, null);
size = 0;
}
private void increaseCapacity() {
SelectionKey[] newKeys = new SelectionKey[keys.length << 1];
Source
Frequently Asked Questions
What is the SelectedSelectionKeySet class?
SelectedSelectionKeySet is a class in the netty codebase, defined in transport/src/main/java/io/netty/channel/nio/SelectedSelectionKeySet.java.
Where is SelectedSelectionKeySet defined?
SelectedSelectionKeySet is defined in transport/src/main/java/io/netty/channel/nio/SelectedSelectionKeySet.java at line 25.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free