diff options
Diffstat (limited to 'object/store/dual/quarantine.go')
| -rw-r--r-- | object/store/dual/quarantine.go | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/object/store/dual/quarantine.go b/object/store/dual/quarantine.go deleted file mode 100644 index fb1048af..00000000 --- a/object/store/dual/quarantine.go +++ /dev/null @@ -1,114 +0,0 @@ -package dual - -import ( - "io" - - objectid "codeberg.org/lindenii/furgit/object/id" - objectstore "codeberg.org/lindenii/furgit/object/store" - objectmix "codeberg.org/lindenii/furgit/object/store/mix" - objecttype "codeberg.org/lindenii/furgit/object/type" -) - -// quarantine is one coordinated dual quarantine over both stores. -type quarantine struct { - objectQ objectstore.ObjectQuarantine - packQ objectstore.PackQuarantine - reader objectstore.Reader -} - -var ( - _ objectstore.ObjectQuarantine = (*quarantine)(nil) - _ objectstore.PackQuarantine = (*quarantine)(nil) - _ objectstore.Quarantine = (*quarantine)(nil) -) - -func newQuarantine( - objectQ objectstore.ObjectQuarantine, - packQ objectstore.PackQuarantine, -) *quarantine { - return &quarantine{ - objectQ: objectQ, - packQ: packQ, - reader: objectmix.New(objectQ, packQ), - } -} - -// ReadBytesFull reads a full serialized object as "type size\0content" from -// either quarantined store. -func (quarantine *quarantine) ReadBytesFull(id objectid.ObjectID) ([]byte, error) { - return quarantine.reader.ReadBytesFull(id) -} - -// ReadBytesContent reads an object's type and content bytes from either -// quarantined store. -func (quarantine *quarantine) ReadBytesContent(id objectid.ObjectID) (objecttype.Type, []byte, error) { - return quarantine.reader.ReadBytesContent(id) -} - -// ReadReaderFull reads a full serialized object stream as -// "type size\0content" from either quarantined store. -func (quarantine *quarantine) ReadReaderFull(id objectid.ObjectID) (io.ReadCloser, error) { - return quarantine.reader.ReadReaderFull(id) -} - -// ReadReaderContent reads an object's type, declared content length, and -// content stream from either quarantined store. -func (quarantine *quarantine) ReadReaderContent(id objectid.ObjectID) (objecttype.Type, int64, io.ReadCloser, error) { - return quarantine.reader.ReadReaderContent(id) -} - -// ReadSize reads an object's declared content length from either quarantined -// store. -func (quarantine *quarantine) ReadSize(id objectid.ObjectID) (int64, error) { - return quarantine.reader.ReadSize(id) -} - -// ReadHeader reads an object's type and declared content length from either -// quarantined store. -func (quarantine *quarantine) ReadHeader(id objectid.ObjectID) (objecttype.Type, int64, error) { - return quarantine.reader.ReadHeader(id) -} - -// Refresh refreshes both quarantined stores and the combined quarantined reader. -func (quarantine *quarantine) Refresh() error { - err := quarantine.objectQ.Refresh() - if err != nil { - return err - } - - err = quarantine.packQ.Refresh() - if err != nil { - return err - } - - return quarantine.reader.Refresh() -} - -// WriteReaderContent writes one typed object content stream to the quarantined -// object-wise store. -func (quarantine *quarantine) WriteReaderContent(ty objecttype.Type, size int64, src io.Reader) (objectid.ObjectID, error) { - return quarantine.objectQ.WriteReaderContent(ty, size, src) -} - -// WriteReaderFull writes one full serialized object stream as -// "type size\0content" to the quarantined object-wise store. -func (quarantine *quarantine) WriteReaderFull(src io.Reader) (objectid.ObjectID, error) { - return quarantine.objectQ.WriteReaderFull(src) -} - -// WriteBytesContent writes one typed object content byte slice to the -// quarantined object-wise store. -func (quarantine *quarantine) WriteBytesContent(ty objecttype.Type, content []byte) (objectid.ObjectID, error) { - return quarantine.objectQ.WriteBytesContent(ty, content) -} - -// WriteBytesFull writes one full serialized object byte slice as -// "type size\0content" to the quarantined object-wise store. -func (quarantine *quarantine) WriteBytesFull(raw []byte) (objectid.ObjectID, error) { - return quarantine.objectQ.WriteBytesFull(raw) -} - -// WritePack ingests one pack stream into the quarantined pack-wise store. -func (quarantine *quarantine) WritePack(src io.Reader, opts objectstore.PackWriteOptions) error { - return quarantine.packQ.WritePack(src, opts) -} |
