Skip to content

Package: ThreadLocalPoolProvider

ThreadLocalPoolProvider

Coverage

1: /*
2: * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
3: *
4: * This program and the accompanying materials are made available under the
5: * terms of the Eclipse Public License v. 2.0, which is available at
6: * http://www.eclipse.org/legal/epl-2.0.
7: *
8: * This Source Code may also be made available under the following Secondary
9: * Licenses when the conditions for such availability set forth in the
10: * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
11: * version 2 with the GNU Classpath Exception, which is available at
12: * https://www.gnu.org/software/classpath/license.html.
13: *
14: * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15: */
16:
17: package org.glassfish.grizzly.memory;
18:
19: /**
20: * This interface may be implemented by custom {@link MemoryManager} implementations in order to provide per-thread
21: * memory management.
22: *
23: * When Grizzly managed threads are created, if the {@link MemoryManager} implements this interface,
24: * {@link #createThreadLocalPool()} will be invoked and the resulting {@link ThreadLocalPool} will be passed to the
25: * {@link Thread}.
26: *
27: * @since 2.0
28: */
29: public interface ThreadLocalPoolProvider {
30:
31: /**
32: * @return a new {@link ThreadLocalPool} implementation. This method must return a new {@link ThreadLocalPool} instance
33: * per invocation.
34: */
35: ThreadLocalPool createThreadLocalPool();
36:
37: }