calculateDuplicates() — netty Function Reference
Architecture documentation for the calculateDuplicates() function in HashCollisionTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD cd4b5b2a_2c94_0086_358c_df261e897a65["calculateDuplicates()"] 7f4340a8_96bd_ab16_3f24_b4cd9d2cac42["HashCollisionTest"] cd4b5b2a_2c94_0086_358c_df261e897a65 -->|defined in| 7f4340a8_96bd_ab16_3f24_b4cd9d2cac42 d3f29c04_06bf_6ce4_7812_c30e675e84d2["main()"] d3f29c04_06bf_6ce4_7812_c30e675e84d2 -->|calls| cd4b5b2a_2c94_0086_358c_df261e897a65 style cd4b5b2a_2c94_0086_358c_df261e897a65 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-http2/src/test/java/io/netty/handler/codec/http2/HashCollisionTest.java lines 119–161
private static Map<Integer, List<CharSequence>> calculateDuplicates(List<CharSequence> strings,
Function<CharSequence, Integer> hasher) {
Map<Integer, List<CharSequence>> hashResults = new HashMap<Integer, List<CharSequence>>();
Set<Integer> duplicateHashCodes = new HashSet<Integer>();
for (CharSequence str : strings) {
Integer hash = hasher.apply(str);
List<CharSequence> results = hashResults.get(hash);
if (results == null) {
results = new ArrayList<CharSequence>(1);
hashResults.put(hash, results);
} else {
duplicateHashCodes.add(hash);
}
results.add(str);
}
if (duplicateHashCodes.isEmpty()) {
return Collections.emptyMap();
}
Map<Integer, List<CharSequence>> duplicates =
new HashMap<Integer, List<CharSequence>>(duplicateHashCodes.size());
for (Integer duplicateHashCode : duplicateHashCodes) {
List<CharSequence> realDups = new ArrayList<CharSequence>(2);
Iterator<CharSequence> itr = hashResults.get(duplicateHashCode).iterator();
// there should be at least 2 elements in the list ... bcz there may be duplicates
realDups.add(itr.next());
checknext: do {
CharSequence next = itr.next();
for (CharSequence potentialDup : realDups) {
if (!AsciiString.contentEqualsIgnoreCase(next, potentialDup)) {
realDups.add(next);
break checknext;
}
}
} while (itr.hasNext());
if (realDups.size() > 1) {
duplicates.put(duplicateHashCode, realDups);
}
}
return duplicates;
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does calculateDuplicates() do?
calculateDuplicates() is a function in the netty codebase, defined in codec-http2/src/test/java/io/netty/handler/codec/http2/HashCollisionTest.java.
Where is calculateDuplicates() defined?
calculateDuplicates() is defined in codec-http2/src/test/java/io/netty/handler/codec/http2/HashCollisionTest.java at line 119.
What calls calculateDuplicates()?
calculateDuplicates() is called by 1 function(s): main.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free