Пример #1
0
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
}
Пример #2
0
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)
}