Home / Function/ WebSocketFrame() — netty Function Reference

WebSocketFrame() — netty Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  59424093_80a3_69f2_2461_8456fff65c41["WebSocketFrame()"]
  a39accd9_2797_e36f_366c_ec1750db37ba["WebSocket00FrameDecoder"]
  59424093_80a3_69f2_2461_8456fff65c41 -->|defined in| a39accd9_2797_e36f_366c_ec1750db37ba
  style 59424093_80a3_69f2_2461_8456fff65c41 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-http/src/main/java/io/netty/handler/codec/http/websocketx/WebSocket00FrameDecoder.java lines 91–115

    private WebSocketFrame decodeBinaryFrame(ChannelHandlerContext ctx, byte type, ByteBuf buffer) {
        long frameSize = 0;
        int lengthFieldSize = 0;
        byte b;
        do {
            b = buffer.readByte();
            frameSize <<= 7;
            frameSize |= b & 0x7f;
            if (frameSize > maxFrameSize) {
                throw new TooLongFrameException("frame length exceeds " + maxFrameSize + ": " + frameSize);
            }
            lengthFieldSize++;
            if (lengthFieldSize > 8) {
                // Perhaps a malicious peer?
                throw new TooLongFrameException("frame length field size exceeds 8: " + lengthFieldSize);
            }
        } while ((b & 0x80) == 0x80);

        if (type == (byte) 0xFF && frameSize == 0) {
            receivedClosingHandshake = true;
            return new CloseWebSocketFrame(true, 0, ctx.alloc().buffer(0));
        }
        ByteBuf payload = readBytes(ctx.alloc(), buffer, (int) frameSize);
        return new BinaryWebSocketFrame(payload);
    }

Subdomains

Frequently Asked Questions

What does WebSocketFrame() do?
WebSocketFrame() is a function in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/http/websocketx/WebSocket00FrameDecoder.java.
Where is WebSocketFrame() defined?
WebSocketFrame() is defined in codec-http/src/main/java/io/netty/handler/codec/http/websocketx/WebSocket00FrameDecoder.java at line 91.

Analyze Your Own Codebase

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

Try Supermodel Free