Hi all, Following diagram illustrates Siddhi Execution Architecture corresponding to Siddhi 3.0.0 release.
1. ExecutionPlanRuntime Corresponding run-time object for an ExecutionPlan. It will contain all information to execute the corresponding ExecutionPlan. ExecutionPlanParser will parse ExecutionPlan into an ExecutionPlanRuntime. 2. QueryRuntime Corresponding run-time object for a Siddhi Query. QueryRuntime will contain a StreamRuntime, QuerySelector and OutputRateLimiter. QueryParser is responsible for parsing a given Query and creating QueryRuntime. 3. StreamRuntime This interface corresponds to an Input stream of the Query. Inside each StreamRuntime there is a StreamReciever, EventConstructor and Processor chain. There are three sub-classes of StreamRuntime. SingleStreamRuntime - Corresponds to SingleInputStream or BasicSingleInputStream in Siddhi query API. Input streams other than joins and patterns will contain into this. JoinStreamRuntime - Corresponds to JoinInputStream. Internally this will contain two SingleStreamRuntimes and special JoinProcessor to uphold join semantics. PatternStreamProcessor - Corresponds to PatternInputStream. Internally will contain multiple SingleStreamRuntimes. InputStreamParser is responsible for creating corresponding StreamRuntime. In the process InputStreamParser utilizes SingleInputStreamParser which can parse SingleInputStream or BasicSingleInputStream and create a SingleStreamRuntime. 4. QuerySelector Corresponds to selector portion of the query. Contains a list of AttributeProcessors which will generate desired output attributes. SelectorParser will create QuerySelector by parsing selector portion of the query. 5. StreamReceiver Initially events will be received to StreamReceiver which will forward the events to EventConstructor. EventConstructor is responsible for constructing suitable event for next execution stage referring MetaStateEvent. Constructed event will then pass through a processor chain where each processor corresponds to a StreamHandler. A processor can be any of Filter, Window, etc. Thanks, Tishan -- Tishan Dahanayakage Software Engineer WSO2, Inc. Mobile:+94 716481328 Disclaimer: This communication may contain privileged or other confidential information and is intended exclusively for the addressee/s. If you are not the intended recipient/s, or believe that you may have received this communication in error, please reply to the sender indicating that fact and delete the copy you received and in addition, you should not print, copy, re-transmit, disseminate, or otherwise use the information contained in this communication. Internet communications cannot be guaranteed to be timely, secure, error or virus-free. The sender does not accept liability for any errors or omissions.
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
