diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-19 10:12:32 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-19 10:12:32 +0300 |
| commit | 127516b4bf63dc922df222825a9a6a1d7eacc214 (patch) | |
| tree | 3839a2f6a7f4f1bc713690678fc003d4e2be8a8c /internal/eventloop_runtime.go | |
| parent | 32a19cf9fb1344c9b1a61054d7cf2c90edc3708a (diff) | |
u6: add socket/socketpair kind scaffolding and wiring
Diffstat (limited to 'internal/eventloop_runtime.go')
| -rw-r--r-- | internal/eventloop_runtime.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/internal/eventloop_runtime.go b/internal/eventloop_runtime.go index c285507..d9acb23 100644 --- a/internal/eventloop_runtime.go +++ b/internal/eventloop_runtime.go @@ -146,6 +146,7 @@ func (e *eventLoop) initRawHandlers() { e.registerRetHandlers() e.registerNamePathHandlers() e.registerMiscHandlers() + e.registerSocketHandlers() } // registerOpenHandlers wires enter/exit handlers for open-family events. @@ -262,6 +263,23 @@ func (e *eventLoop) registerMiscHandlers() { } } +func (e *eventLoop) registerSocketHandlers() { + e.rawHandlers[types.ENTER_SOCKET_EVENT] = func(raw []byte, _ chan<- *event.Pair) { + socketEv, ok := decodeRawEvent(e, types.ENTER_SOCKET_EVENT, raw, types.NewSocketEventFast) + if !ok { + return + } + e.tracepointEntered(socketEv) + } + e.rawHandlers[types.ENTER_SOCKETPAIR_EVENT] = func(raw []byte, _ chan<- *event.Pair) { + socketpairEv, ok := decodeRawEvent(e, types.ENTER_SOCKETPAIR_EVENT, raw, types.NewSocketpairEventFast) + if !ok { + return + } + e.tracepointEntered(socketpairEv) + } +} + func decodeRawEvent[T any](e *eventLoop, eventType types.EventType, raw []byte, decode func([]byte) *T) (*T, bool) { decoded := decode(raw) if decoded == nil { |
