// ToByteArray converts the sequence into a byte array // TODO (aboch): manage network/host order stuff func (s *Sequence) ToByteArray() ([]byte, error) { var bb []byte p := s for p != nil { bb = append(bb, netutils.U32ToA(p.Block)...) bb = append(bb, netutils.U32ToA(p.Count)...) p = p.Next } return bb, nil }
// ToByteArray converts this handle's data into a byte array func (h *Handle) ToByteArray() ([]byte, error) { ba := make([]byte, 8) h.Lock() defer h.Unlock() copy(ba[0:4], netutils.U32ToA(h.bits)) copy(ba[4:8], netutils.U32ToA(h.unselected)) bm, err := h.head.ToByteArray() if err != nil { return nil, fmt.Errorf("failed to serialize head: %s", err.Error()) } ba = append(ba, bm...) return ba, nil }