Skip to content
Snippets Groups Projects
Commit 9b4515a8 authored by KERDREUX Jerome's avatar KERDREUX Jerome
Browse files

Add target filtering

parent d78a54d7
No related branches found
No related tags found
No related merge requests found
......@@ -4,7 +4,9 @@ import (
"flag"
"fmt"
"log/slog"
"slices"
"gitlab.imt-atlantique.fr/xaal/code/go/core/uuid"
"gitlab.imt-atlantique.fr/xaal/code/go/core/xaal"
)
......@@ -12,10 +14,7 @@ var (
msgCnt int = 0
)
func showMessage(msg *xaal.Message, filter bool) {
if filter && msg.IsAlive() {
return
}
func dumpMessage(msg *xaal.Message) {
msgCnt++
fmt.Println("Message:", msgCnt)
msg.Dump()
......@@ -23,16 +22,37 @@ func showMessage(msg *xaal.Message, filter bool) {
}
func main() {
xaal.SetupLogger(slog.LevelInfo)
// parse cmd line
flagAliveFilter := flag.Bool("alive-filter", true, "Enable/Disable Alive filtering")
// flagUUID := flag.String("f", "", "UUID to filter messages")
flagAliveFilter := flag.Bool("alive", true, "Enable/Disable Alive filtering")
flagUUID := flag.String("target", "", "UUID to filter messages")
flag.Parse()
// check cmd line args
var target *uuid.UUID
if len(*flagUUID) > 0 {
tmp, err := uuid.FromString(*flagUUID)
if err != nil {
slog.Error("Invalid UUID", "err", err)
return
}
target = &tmp
slog.Info("Filtering on UUID:", "uuid", target)
}
showMSG := func(msg *xaal.Message) {
showMessage(msg, *flagAliveFilter)
if (*flagAliveFilter == true) && msg.IsAlive() {
return
}
// we have a target, we the source or the target, if no return
if target != nil && (msg.Source != *target && slices.Contains(msg.Targets, *target) == false) {
return
}
dumpMessage(msg)
}
xaal.SetupLogger(slog.LevelInfo)
eng := xaal.NewEngine()
eng.DisableMessageFilter()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment