summaryrefslogtreecommitdiff
path: root/internal/streamrow
diff options
context:
space:
mode:
Diffstat (limited to 'internal/streamrow')
-rw-r--r--internal/streamrow/row.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/internal/streamrow/row.go b/internal/streamrow/row.go
index 457fcc0..026aa93 100644
--- a/internal/streamrow/row.go
+++ b/internal/streamrow/row.go
@@ -5,6 +5,7 @@ import (
"time"
"ior/internal/event"
+ "ior/internal/globalfilter"
"ior/internal/types"
)
@@ -121,6 +122,15 @@ func New(seq uint64, pair *event.Pair) Row {
return row
}
+// --- compile-time interface satisfaction assertion ---
+//
+// Row must satisfy globalfilter.Candidate so the TUI eventstream model can
+// pass stream rows directly into Filter.Matches for live filtering. All
+// Candidate methods are defined on the value receiver so both Row and *Row
+// satisfy the interface; we assert the value form as it is the common usage.
+
+var _ globalfilter.Candidate = Row{}
+
// NewWarning creates a synthetic row for non-fatal runtime warnings.
func NewWarning(seq uint64, message string) Row {
now := uint64(time.Now().UnixNano())