func recv(mq *sysv_mq.MessageQueue) (offset, size int, err error) { data, _, e := mq.ReceiveBytes(1, 0) if err != nil { err = e return } if len(data) < 16 { err = fmt.Errorf("expected offset and size") return } offset = int(binary.BigEndian.Uint64(data[:8])) size = int(binary.BigEndian.Uint64(data[8:])) return }
func send(mq *sysv_mq.MessageQueue, offset, size int) error { var data [16]byte binary.BigEndian.PutUint64(data[:], uint64(offset)) binary.BigEndian.PutUint64(data[8:], uint64(size)) return mq.SendBytes(data[:], 1, 0) }