diff options
| author | Paul Buetow <paul@buetow.org> | 2024-02-22 20:38:12 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2024-02-22 20:38:12 +0200 |
| commit | eff5b134c0a4532712ffcbed7701a668ba7c31ff (patch) | |
| tree | 946f2134a3842479c143c453fa08e8690fb5ac5e /internal/generated | |
| parent | f649f89201cf1b8a8a8aab98dba91bbbd96ecd09 (diff) | |
move readRaw to event constructors
Diffstat (limited to 'internal/generated')
| -rw-r--r-- | internal/generated/Makefile | 11 | ||||
| -rw-r--r-- | internal/generated/nqc.raku | 9 | ||||
| -rw-r--r-- | internal/generated/types/types.go | 29 |
3 files changed, 36 insertions, 13 deletions
diff --git a/internal/generated/Makefile b/internal/generated/Makefile index 34ddf01..7734ff5 100644 --- a/internal/generated/Makefile +++ b/internal/generated/Makefile @@ -1,11 +1,12 @@ all: generate -generate: types tracepoints +generate: tracepoints types + +.PHONY: tracepoints +tracepoints: + cat ../c/tracepoints/*.c | raku tracepoints.raku | goimports | gofmt | tee tracepoints/tracepoints.go .PHONY: types types: - cat ../c/types.h | raku nqc.raku | goimports | gofmt > types/types.go + cat ../c/types.h | raku nqc.raku | goimports | gofmt | tee types/types.go -.PHONY: tracepoints -tracepoints: - cat ../c/tracepoints/*.c | raku tracepoints.raku | goimports | gofmt > tracepoints/tracepoints.go diff --git a/internal/generated/nqc.raku b/internal/generated/nqc.raku index ced6b3c..1c48cba 100644 --- a/internal/generated/nqc.raku +++ b/internal/generated/nqc.raku @@ -103,8 +103,13 @@ class NQCToGoActions { New: func() interface\{\} \{ return &$identifier\{\} \}, \} - func New{$identifier}() *$identifier \{ - return poolOf{$identifier}s.Get().(*$identifier); + func New{$identifier}(raw []byte) *$identifier \{ + ev := poolOf{$identifier}s.Get().(*$identifier); + if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, ev); err != nil \{ + fmt.Println(ev, raw, len(raw), err) + panic(raw) + \} + return ev \} func Recycle{$identifier}(elem *$identifier) \{ diff --git a/internal/generated/types/types.go b/internal/generated/types/types.go index 8211277..9d7fcb8 100644 --- a/internal/generated/types/types.go +++ b/internal/generated/types/types.go @@ -2,6 +2,8 @@ package types import ( + "bytes" + "encoding/binary" "fmt" "sync" ) @@ -62,8 +64,13 @@ var poolOfNullEvents = sync.Pool{ New: func() interface{} { return &NullEvent{} }, } -func NewNullEvent() *NullEvent { - return poolOfNullEvents.Get().(*NullEvent) +func NewNullEvent(raw []byte) *NullEvent { + ev := poolOfNullEvents.Get().(*NullEvent) + if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, ev); err != nil { + fmt.Println(ev, raw, len(raw), err) + panic(raw) + } + return ev } func RecycleNullEvent(elem *NullEvent) { @@ -85,8 +92,13 @@ var poolOfFdEvents = sync.Pool{ New: func() interface{} { return &FdEvent{} }, } -func NewFdEvent() *FdEvent { - return poolOfFdEvents.Get().(*FdEvent) +func NewFdEvent(raw []byte) *FdEvent { + ev := poolOfFdEvents.Get().(*FdEvent) + if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, ev); err != nil { + fmt.Println(ev, raw, len(raw), err) + panic(raw) + } + return ev } func RecycleFdEvent(elem *FdEvent) { @@ -109,8 +121,13 @@ var poolOfOpenEnterEvents = sync.Pool{ New: func() interface{} { return &OpenEnterEvent{} }, } -func NewOpenEnterEvent() *OpenEnterEvent { - return poolOfOpenEnterEvents.Get().(*OpenEnterEvent) +func NewOpenEnterEvent(raw []byte) *OpenEnterEvent { + ev := poolOfOpenEnterEvents.Get().(*OpenEnterEvent) + if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, ev); err != nil { + fmt.Println(ev, raw, len(raw), err) + panic(raw) + } + return ev } func RecycleOpenEnterEvent(elem *OpenEnterEvent) { |
