Files
webarchive/entity/result.go

42 lines
639 B
Go

package entity
import (
"sync"
"github.com/vmihailenco/msgpack/v5"
)
type Result struct {
Format Format
Err error
Files []File
}
type Results struct {
mu sync.RWMutex
results []Result
}
func (r *Results) MarshalMsgpack() ([]byte, error) {
return msgpack.Marshal(r.results)
}
func (r *Results) UnmarshalMsgpack(b []byte) error {
return msgpack.Unmarshal(b, &r.results)
}
func (r *Results) Add(result Result) {
r.mu.Lock()
results := r.results
results = append(results, result)
r.results = results
r.mu.Unlock()
}
func (r *Results) Results() []Result {
r.mu.RLock()
defer r.mu.RUnlock()
return r.results
}