···99// very different write models: writing one loose object is natural, while
1010// writing one object into a packfile backend is wasteful. Instead, we define
1111// distinct optional capabilities for object-wise writes, pack-wise writes,
1212-// and compose them against quarantined writes.
1212+// and compose them against quarantined writes. Where one logical quarantine
1313+// supports multiple write shapes together, this package also defines a
1414+// coordinated writer quarantine capability.
1315//
1416// Concrete implementations generally inherit the contract documented by the
1517// interfaces they satisfy. Implementation docs focus on additional guarantees
+21
object/store/quarantine_writer.go
···11+package objectstore
22+33+// WriterQuarantine represents one quarantined write that accepts both object-
44+// wise and pack-wise writes.
55+type WriterQuarantine interface {
66+ Quarantine
77+ ObjectWriter
88+ PackWriter
99+}
1010+1111+// QuarantineOptions controls the options for one coordinated quarantine creation.
1212+type QuarantineOptions struct {
1313+ Object ObjectQuarantineOptions
1414+ Pack PackQuarantineOptions
1515+}
1616+1717+// WriterQuarantiner creates coordinated quarantines that support both object-
1818+// wise and pack-wise writes.
1919+type WriterQuarantiner interface {
2020+ BeginQuarantine(opts QuarantineOptions) (WriterQuarantine, error)
2121+}