Added goals, cache and func to get any remote obj

Cache is for storage, also includes pooled encoders and decoders
goals are things to eventually add to Linstrom
This commit is contained in:
Melody Becker 2024-09-06 23:01:57 +02:00
parent 2977f09245
commit 8709238859
8 changed files with 907 additions and 16 deletions

35
storage/cache/lockedCoders.go vendored Normal file
View file

@ -0,0 +1,35 @@
package cache
import (
"bytes"
"encoding/gob"
"sync"
)
type gobEncoder struct {
sync.Mutex
Encoder *gob.Encoder
Buffer *bytes.Buffer
}
func newEncoder() gobEncoder {
buf := bytes.Buffer{}
return gobEncoder{
Encoder: gob.NewEncoder(&buf),
Buffer: &buf,
}
}
type gobDecoder struct {
sync.Mutex
Decoder *gob.Decoder
Buffer *bytes.Buffer
}
func newDecoder() gobDecoder {
buf := bytes.Buffer{}
return gobDecoder{
Decoder: gob.NewDecoder(&buf),
Buffer: &buf,
}
}