func (p *DeltaCoordsCache) putCoordsPacked(bunchId int64, nodes []element.Node) error { keyBuf := idToKeyBuf(bunchId) if len(nodes) == 0 { return p.db.Delete(p.wo, keyBuf) } var data []byte select { case data = <-freeBuffer: default: } data = binary.MarshalDeltaNodes(nodes, data) err := p.db.Put(p.wo, keyBuf, data) if err != nil { return err } select { case freeBuffer <- data: default: } return nil }
func (p *DeltaCoordsCache) putCoordsPacked(bunchId int64, nodes []element.Node) error { keyBuf := idToKeyBuf(bunchId) if len(nodes) == 0 { return p.db.Delete(p.wo, keyBuf) } data := make([]byte, 512) data = binary.MarshalDeltaNodes(nodes, data) err := p.db.Put(p.wo, keyBuf, data) if err != nil { return err } return nil }