Files
StarPilot/mapd_repo/third_party/gomsgq/header.go
T
firestar5683 ab81464bd1 Maps
Add navigation and map matching providers with the vendored map service sources.

Co-authored-by: Daniel Koepping <elkoled@gmail.com>
Co-authored-by: Danny <dannyirwin31@yahoo.com>
Co-authored-by: Prabhaav Pillai <prabhaav@msu.edu>
Co-authored-by: dirwin31 <83434411+dirwin31@users.noreply.github.com>
2026-10-14 19:56:17 -05:00

29 lines
753 B
Go

package gomsgq
import (
"unsafe"
"github.com/edsrzf/mmap-go"
)
type Header struct {
NumReaders *uint64
WritePointer *uint64
WriteUid *uint64
ReadPointers []uint64
ReadValids []uint64
ReadUids []uint64
}
func (h *Header) Init(m mmap.MMap) {
h.NumReaders = (*uint64)(unsafe.Pointer(&m[0]))
h.WritePointer = (*uint64)(unsafe.Pointer(&m[8]))
h.WriteUid = (*uint64)(unsafe.Pointer(&m[16]))
readPointers := unsafe.Slice((*uint64)(unsafe.Pointer(&m[24])), NUM_READERS)
h.ReadPointers = readPointers
readValids := unsafe.Slice((*uint64)(unsafe.Pointer(&m[24+NUM_READERS*8])), NUM_READERS)
h.ReadValids = readValids
readUids := unsafe.Slice((*uint64)(unsafe.Pointer(&m[24+2*NUM_READERS*8])), NUM_READERS)
h.ReadUids = readUids
}