mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-11-14 08:23:59 +08:00
ab81464bd1
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>
29 lines
753 B
Go
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
|
|
}
|