Home / Function/ SipHash() — netty Function Reference

SipHash() — netty Function Reference

Architecture documentation for the SipHash() function in SipHash.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  6b03d8f3_ff63_1286_7bef_b85daf73498a["SipHash()"]
  32c45fc1_8885_8768_58c7_65f5ff579eb7["SipHash"]
  6b03d8f3_ff63_1286_7bef_b85daf73498a -->|defined in| 32c45fc1_8885_8768_58c7_65f5ff579eb7
  style 6b03d8f3_ff63_1286_7bef_b85daf73498a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-classes-quic/src/main/java/io/netty/handler/codec/quic/SipHash.java lines 50–67

    SipHash(int compressionRounds, int finalizationRounds, byte[] seed) {
        if (seed.length != SEED_LENGTH) {
            throw new IllegalArgumentException("seed must be of length " + SEED_LENGTH);
        }
        this.compressionRounds = ObjectUtil.checkPositive(compressionRounds, "compressionRounds");
        this.finalizationRounds = ObjectUtil.checkPositive(finalizationRounds, "finalizationRounds");

        // Wrap the seed to extract two longs that will be used to generate the initial state.
        // Use little-endian as in the paper.
        ByteBuffer keyBuffer = ByteBuffer.wrap(seed).order(ByteOrder.LITTLE_ENDIAN);
        final long k0 = keyBuffer.getLong();
        final long k1 = keyBuffer.getLong();

        initialStateV0 = INITIAL_STATE_V0 ^ k0;
        initialStateV1 = INITIAL_STATE_V1 ^ k1;
        initialStateV2 = INITIAL_STATE_V2 ^ k0;
        initialStateV3 = INITIAL_STATE_V3 ^ k1;
    }

Domain

Subdomains

Frequently Asked Questions

What does SipHash() do?
SipHash() is a function in the netty codebase, defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/SipHash.java.
Where is SipHash() defined?
SipHash() is defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/SipHash.java at line 50.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free