| Interface | Description | 
|---|---|
| AsyncStreamTask | 
 An AsyncStreamTask is the basic class to support multithreading execution in Samza container. 
 | 
| AsyncStreamTaskFactory | 
 Build  
AsyncStreamTask instances. | 
| ClosableTask | 
 A ClosableTask augments  
StreamTask, allowing the method implementer to specify
 code that will be called when the StreamTask is being shut down by the framework, providing to emit final metrics,
 clean or close resources, etc. | 
| EndOfStreamListenerTask | 
 The EndOfStreamListenerTask augments  
StreamTask allowing the method implementor to specify code to be
 executed when the 'end-of-stream' is reached for all input SSPs. | 
| InitableTask | 
 Used as an interface for user processing StreamTasks that need to have specific functionality performed as their StreamTasks
 are instantiated by TaskRunner. 
 | 
| MessageCollector | 
 Used as an interface for the means of sending message envelopes to an output stream. 
 | 
| StreamTask | 
 A StreamTask is the basic class on which Samza jobs are implemented. 
 | 
| StreamTaskFactory | 
 Build  
StreamTask instances. | 
| TaskCallback | 
 A TaskCallback is fired by a  
AsyncStreamTask to notify when an asynchronous
 process has completed. | 
| TaskContext | 
 A TaskContext provides resources about the  
StreamTask, particularly during
 initialization in an InitableTask. | 
| TaskCoordinator | 
 TaskCoordinators are provided to the process methods of  
StreamTask implementations
 to allow the user code to request actions from the Samza framework, including committing the current checkpoints
 to configured org.apache.samza.checkpoint.CheckpointManager or shutting down the task or all tasks within
 a container. | 
| WindowableTask | 
 Add-on interface to  
StreamTask implementations to add code which will be run on
 a specified time interval (via configuration). | 
| Enum | Description | 
|---|---|
| TaskCoordinator.RequestScope | 
 A task can make requests to the Samza framework while processing messages, such as
  
TaskCoordinator.commit(RequestScope) and
 TaskCoordinator.shutdown(RequestScope). |