public void send(long timestamp, Object[] data) throws InterruptedException {
        // Set timestamp to system if Siddhi is in playback mode
        if (siddhiAppContext.isPlayback()) {
            this.siddhiAppContext.getTimestampGenerator().setCurrentTimestamp(timestamp);
        }
        if (inputProcessor != null) {
            inputProcessor.send(timestamp, data, streamIndex);
        } else {
            throw new InterruptedException("Siddhi app '" + this.siddhiAppContext.getName() + "' is not " +
                    "running, cannot send events.");
        }
    }
InputHandler is the {@link Event} entry point to Siddhi. Users can create an Input Handler and then use that to
directly inject events inside Siddhi.
modules/siddhi-core/src/main/java/io/siddhi/core/stream/input/InputHandler.java