10.1 Working with sources, processors, and sinks to create a topology10.1.1 Adding a source node10.1.2 Adding a processor node10.1.3 Adding a sink node10.2 Digging deeper into the Processor API with a stock analysis processor10.2.1 The stock-performance processor application10.2.2 Punctuation semantics10.2.3 The process() method10.2.4 The punctuator execution10.3 Data-driven aggregation10.4 Integrating the Processor API and the Kafka Streams API