Home / Class/ ThreadLocalUnmarshallerProvider Class — netty Architecture

ThreadLocalUnmarshallerProvider Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  89d992a7_eb53_37b7_6e5f_6f9584509d7a["ThreadLocalUnmarshallerProvider"]
  de32ab98_4fbe_3ea7_8d13_372a7cc0d585["ThreadLocalUnmarshallerProvider.java"]
  89d992a7_eb53_37b7_6e5f_6f9584509d7a -->|defined in| de32ab98_4fbe_3ea7_8d13_372a7cc0d585
  191e2fed_5b13_c5a5_144b_f09de1ecf2b5["ThreadLocalUnmarshallerProvider()"]
  89d992a7_eb53_37b7_6e5f_6f9584509d7a -->|method| 191e2fed_5b13_c5a5_144b_f09de1ecf2b5
  b94dc07f_333a_1e5c_e34e_f62cc2817a35["Unmarshaller()"]
  89d992a7_eb53_37b7_6e5f_6f9584509d7a -->|method| b94dc07f_333a_1e5c_e34e_f62cc2817a35

Relationship Graph

Source Code

codec-marshalling/src/main/java/io/netty/handler/codec/marshalling/ThreadLocalUnmarshallerProvider.java lines 30–57

public class ThreadLocalUnmarshallerProvider implements UnmarshallerProvider {
    private final FastThreadLocal<Unmarshaller> unmarshallers = new FastThreadLocal<Unmarshaller>();

    private final MarshallerFactory factory;
    private final MarshallingConfiguration config;

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

    @Override
    public Unmarshaller getUnmarshaller(ChannelHandlerContext ctx) throws Exception {
        Unmarshaller unmarshaller = unmarshallers.get();
        if (unmarshaller == null) {
            unmarshaller = factory.createUnmarshaller(config);
            unmarshallers.set(unmarshaller);
        }
        return unmarshaller;
    }

}

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free