This is an automated email from the ASF dual-hosted git repository.

justinchen pushed a commit to branch windowing
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit b764a88fb1fb8417088ad428bd0ca33be102f315
Author: Caideyipi <[email protected]>
AuthorDate: Tue Feb 3 09:57:45 2026 +0800

    initial
---
 .../window/processor/CountWindowingProcessor.java  | 64 ++++++++++++++++++++++
 .../config/constant/PipeProcessorConstant.java     |  3 +
 2 files changed, 67 insertions(+)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/window/processor/CountWindowingProcessor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/window/processor/CountWindowingProcessor.java
new file mode 100644
index 00000000000..62e04fd4646
--- /dev/null
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/window/processor/CountWindowingProcessor.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.iotdb.db.pipe.processor.aggregate.window.processor;
+
+import 
org.apache.iotdb.db.pipe.processor.aggregate.window.datastructure.TimeSeriesWindow;
+import 
org.apache.iotdb.db.pipe.processor.aggregate.window.datastructure.WindowOutput;
+import 
org.apache.iotdb.db.pipe.processor.aggregate.window.datastructure.WindowState;
+import org.apache.iotdb.pipe.api.annotation.TreeModel;
+import 
org.apache.iotdb.pipe.api.customizer.configuration.PipeProcessorRuntimeConfiguration;
+import org.apache.iotdb.pipe.api.customizer.parameter.PipeParameterValidator;
+import org.apache.iotdb.pipe.api.customizer.parameter.PipeParameters;
+
+import org.apache.tsfile.utils.Pair;
+
+import java.util.List;
+import java.util.Set;
+
+@TreeModel
+public class CountWindowingProcessor extends 
AbstractSimpleTimeWindowingProcessor {
+
+  private long count;
+
+  @Override
+  public void validate(final PipeParameterValidator validator) throws 
Exception {}
+
+  @Override
+  public void customize(
+      final PipeParameters parameters, final PipeProcessorRuntimeConfiguration 
configuration)
+      throws Exception {}
+
+  @Override
+  public Set<TimeSeriesWindow> mayAddWindow(
+      final List<TimeSeriesWindow> windowList, final long timeStamp) {
+    return null;
+  }
+
+  @Override
+  public Pair<WindowState, WindowOutput> updateAndMaySetWindowState(
+      final TimeSeriesWindow window, final long timeStamp) {
+    return null;
+  }
+
+  @Override
+  public WindowOutput forceOutput(final TimeSeriesWindow window) {
+    return null;
+  }
+}
diff --git 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/config/constant/PipeProcessorConstant.java
 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/config/constant/PipeProcessorConstant.java
index 3874be8e817..68f04696a21 100644
--- 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/config/constant/PipeProcessorConstant.java
+++ 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/config/constant/PipeProcessorConstant.java
@@ -52,6 +52,9 @@ public class PipeProcessorConstant {
   public static final String PROCESSOR_SLIDING_SECONDS_KEY = 
"processor.sliding.seconds";
   public static final long PROCESSOR_SLIDING_SECONDS_DEFAULT_VALUE = 120;
 
+  public static final String PROCESSOR_COUNT_KEY = "processor.count";
+  public static final long PROCESSOR_COUNT_DEFAULT_VALUE = 60;
+
   public static final String PROCESSOR_TUMBLING_TIME_INTERVAL_SECONDS_KEY =
       "processor.tumbling-time.interval-seconds";
   public static final long 
PROCESSOR_TUMBLING_TIME_INTERVAL_SECONDS_DEFAULT_VALUE = 60;

Reply via email to