Home / Class/ RtspEncoder Class — netty Architecture

RtspEncoder Class — netty Architecture

Architecture documentation for the RtspEncoder class in RtspEncoder.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  0452c4f3_625c_98c4_04dd_c29af41600e9["RtspEncoder"]
  4fe4d4e1_11f0_9356_b16d_01e57409d955["RtspEncoder.java"]
  0452c4f3_625c_98c4_04dd_c29af41600e9 -->|defined in| 4fe4d4e1_11f0_9356_b16d_01e57409d955
  6961ee6f_657a_acee_af1f_9ea66672ecb1["acceptOutboundMessage()"]
  0452c4f3_625c_98c4_04dd_c29af41600e9 -->|method| 6961ee6f_657a_acee_af1f_9ea66672ecb1
  e2c0a102_cc6b_14b4_9ad5_d988799a8591["encodeInitialLine()"]
  0452c4f3_625c_98c4_04dd_c29af41600e9 -->|method| e2c0a102_cc6b_14b4_9ad5_d988799a8591

Relationship Graph

Source Code

codec-http/src/main/java/io/netty/handler/codec/rtsp/RtspEncoder.java lines 34–66

public class RtspEncoder extends HttpObjectEncoder<HttpMessage> {
    private static final int CRLF_SHORT = (CR << 8) | LF;

    @Override
    public boolean acceptOutboundMessage(final Object msg)
           throws Exception {
        return super.acceptOutboundMessage(msg) && ((msg instanceof HttpRequest) || (msg instanceof HttpResponse));
    }

    @Override
    protected void encodeInitialLine(final ByteBuf buf, final HttpMessage message)
           throws Exception {
        if (message instanceof HttpRequest) {
            HttpRequest request = (HttpRequest) message;
            ByteBufUtil.copy(request.method().asciiName(), buf);
            buf.writeByte(SP);
            buf.writeCharSequence(request.uri(), CharsetUtil.UTF_8);
            buf.writeByte(SP);
            buf.writeCharSequence(request.protocolVersion().toString(), CharsetUtil.US_ASCII);
            ByteBufUtil.writeShortBE(buf, CRLF_SHORT);
        } else if (message instanceof HttpResponse) {
            HttpResponse response = (HttpResponse) message;
            buf.writeCharSequence(response.protocolVersion().toString(), CharsetUtil.US_ASCII);
            buf.writeByte(SP);
            ByteBufUtil.copy(response.status().codeAsText(), buf);
            buf.writeByte(SP);
            buf.writeCharSequence(response.status().reasonPhrase(), CharsetUtil.US_ASCII);
            ByteBufUtil.writeShortBE(buf, CRLF_SHORT);
        } else {
            throw new UnsupportedMessageTypeException(message, HttpRequest.class, HttpResponse.class);
        }
    }
}

Frequently Asked Questions

What is the RtspEncoder class?
RtspEncoder is a class in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/rtsp/RtspEncoder.java.
Where is RtspEncoder defined?
RtspEncoder is defined in codec-http/src/main/java/io/netty/handler/codec/rtsp/RtspEncoder.java at line 34.

Analyze Your Own Codebase

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

Try Supermodel Free