Files
qb/tmp

114 lines
3.0 KiB
Plaintext
Raw Normal View History

2026-06-12 06:11:57 +00:00
// IN APPEND MEASURES
// if len(s.buffer) < storage.DataPageSize {
// // allocate bigger buffer
// buf, databuf := growBuffers(growBuffersIn{
// databuf: s.buffer,
// tSize: timestamps.Size(),
// vSize: values.Size(),
// requiredSpace: totalRequiredSpace,
// })
// s.buffer = buf
// // replace buffer in timestamps and values
// timestamps.Rotate(databuf) // fix pos
// values.Rotate(databuf) // fix pos
// } else {
// IN DATABASE
// FIX
// УВАГА!
// Якщо буфер metric.buffer < розміру сторінки - для timestamps доступний весь буфер.
// Якщо буфер досяг розміру сторінки - в timestamps я передаю buffer[:DataPagePayloadSize]
// var dataBufferSizes = []int{
// 1024,
// 2048,
// 4096,
// 8192,
// }
// func calculateDataBufferSize(payloadSize int) int {
// for _, bufferSize := range dataBufferSizes {
// if payloadSize <= bufferSize {
// return bufferSize
// }
// }
// return storage.DataPageSize
// }
// func allocateBuffers(requiredSpace int) (buf, databuf []byte) {
// bufferSize := calculateDataBufferSize(requiredSpace)
// buf = make([]byte, bufferSize)
// if bufferSize == storage.DataPageSize {
// databuf = buf[:storage.DataPagePayloadSize]
// } else {
// databuf = buf
// }
// return
// }
// // src - databuf
// type growBuffersIn struct {
// databuf []byte
// tSize int
// vSize int
// requiredSpace int
// }
// func growBuffers(in growBuffersIn) (buf, databuf []byte) {
// buf, databuf = allocateBuffers(in.requiredSpace)
// copy(databuf[len(databuf)-in.tSize:], in.databuf[len(in.databuf)-in.tSize:])
// copy(databuf, in.databuf[:in.vSize])
// return
// }
// type shrinkBufferIn struct {
// Buffer []byte
// TimestampsSize int
// ValuesSize int
// NewBufferSize int
// }
// func shrinkBuffer(in shrinkBufferIn) []byte {
// buf := make([]byte, in.NewBufferSize)
// copy(buf, in.Buffer[:in.ValuesSize])
// copy(buf[:len(buf)-in.TimestampsSize], in.Buffer[len(in.Buffer)-in.TimestampsSize:])
// return buf
// }
// IN REPLAY_METRIC.TO_METRIC
// var (
// requiredSpace = s.tSize + s.vSize
// )
// bufferSize := calculateDataBufferSize(requiredSpace)
// if len(s.buf) > bufferSize {
// s.buf = shrinkBuffer(shrinkBufferIn{
// Buffer: s.buf,
// TimestampsSize: s.tSize,
// ValuesSize: s.vSize,
// NewBufferSize: bufferSize,
// })
2026-06-15 10:47:24 +00:00
// }
// func isFileExist(fileName string) (bool, error) {
// _, err := os.Stat(fileName)
// if err != nil {
// if errors.Is(err, fs.ErrNotExist) {
// return false, nil
// } else {
// return false, err
// }
// } else {
// return true, nil
// }
// }
// func correctToFHD(since, until uint32, firstHourOfDay int) (uint32, uint32) {
// duration := time.Duration(firstHourOfDay) * time.Hour
// since = uint32(time.Unix(int64(since), 0).Add(duration).Unix())
// until = uint32(time.Unix(int64(until), 0).Add(duration).Unix())
// return since, until
// }