- All Known Subinterfaces:
- CompilerContext, CPUContext, DeviceContext<T>, MemoryContext<CellType>
- All Known Implementing Classes:
- AbstractMemoryContext
@ThreadSafe
public interface Context
Context is a functional structure of a plug-in that can be used by the other plug-ins.
Plug-ins obtain needed contexts of another plug-ins by querying ContextPool directly. Plug-ins must be interconnected
and compatible to get the contexts.
Each plug-in can implement none, one or more contexts, implementing the same interface is allowed. Plug-in can
declare new context interface, which would be derived (directly or indirectly) from this interface.
Another requirement is to annotate context interfaces with @ContextType annotation.
Contexts are required to be thread-safe, since there's no guarantee in which threads plug-ins communicate.