Home / Class/ ThreadLocalMarshallerProvider Class — netty Architecture

ThreadLocalMarshallerProvider Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  df971496_b513_8b94_291a_8064e78b9499["ThreadLocalMarshallerProvider"]
  b3adce43_ea51_a1b2_0b5b_1c2177bf29df["ThreadLocalMarshallerProvider.java"]
  df971496_b513_8b94_291a_8064e78b9499 -->|defined in| b3adce43_ea51_a1b2_0b5b_1c2177bf29df
  257e525a_ca1b_7673_67dc_38f4a7deb17b["ThreadLocalMarshallerProvider()"]
  df971496_b513_8b94_291a_8064e78b9499 -->|method| 257e525a_ca1b_7673_67dc_38f4a7deb17b
  5545c30e_bb85_6912_82cf_5e351456f07f["Marshaller()"]
  df971496_b513_8b94_291a_8064e78b9499 -->|method| 5545c30e_bb85_6912_82cf_5e351456f07f

Relationship Graph

Source Code

codec-marshalling/src/main/java/io/netty/handler/codec/marshalling/ThreadLocalMarshallerProvider.java lines 30–56

public class ThreadLocalMarshallerProvider implements MarshallerProvider {
    private final FastThreadLocal<Marshaller> marshallers = new FastThreadLocal<Marshaller>();

    private final MarshallerFactory factory;
    private final MarshallingConfiguration config;

    /**
     * Create a new instance of the {@link ThreadLocalMarshallerProvider}
     *
     * @param factory   the {@link MarshallerFactory} to use to create {@link Marshaller}'s if needed
     * @param config    the {@link MarshallingConfiguration} to use
     */
    public ThreadLocalMarshallerProvider(MarshallerFactory factory, MarshallingConfiguration config) {
        this.factory = factory;
        this.config = config;
    }

    @Override
    public Marshaller getMarshaller(ChannelHandlerContext ctx) throws Exception {
        Marshaller marshaller = marshallers.get();
        if (marshaller == null) {
            marshaller = factory.createMarshaller(config);
            marshallers.set(marshaller);
        }
        return marshaller;
    }
}

Frequently Asked Questions

What is the ThreadLocalMarshallerProvider class?
ThreadLocalMarshallerProvider is a class in the netty codebase, defined in codec-marshalling/src/main/java/io/netty/handler/codec/marshalling/ThreadLocalMarshallerProvider.java.
Where is ThreadLocalMarshallerProvider defined?
ThreadLocalMarshallerProvider is defined in codec-marshalling/src/main/java/io/netty/handler/codec/marshalling/ThreadLocalMarshallerProvider.java at line 30.

Analyze Your Own Codebase

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

Try Supermodel Free