summaryrefslogtreecommitdiffhomepage
path: root/pkg/segment/set.go
diff options
context:
space:
mode:
authorZhaozhong Ni <nzz@google.com>2018-08-02 10:41:44 -0700
committerShentubot <shentubot@google.com>2018-08-02 10:42:48 -0700
commit57d0fcbdbf7e9d2d573ce8d4ca2f72b82f778d63 (patch)
tree7d09abd7209c47ea68471588531bc06ff4f8655c /pkg/segment/set.go
parentcf44aff6e08b0e19935d5cd98455b4af98fd8794 (diff)
Automated rollback of changelist 207037226
PiperOrigin-RevId: 207125440 Change-Id: I6c572afb4d693ee72a0c458a988b0e96d191cd49
Diffstat (limited to 'pkg/segment/set.go')
-rw-r--r--pkg/segment/set.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/pkg/segment/set.go b/pkg/segment/set.go
index 6eed1d930..cffec2a2c 100644
--- a/pkg/segment/set.go
+++ b/pkg/segment/set.go
@@ -88,6 +88,8 @@ const (
// A Set is a mapping of segments with non-overlapping Range keys. The zero
// value for a Set is an empty set. Set values are not safely movable nor
// copyable. Set is thread-compatible.
+//
+// +stateify savable
type Set struct {
root node `state:".(*SegmentDataSlices)"`
}
@@ -596,6 +598,7 @@ func (s *Set) ApplyContiguous(r Range, fn func(seg Iterator)) GapIterator {
}
}
+// +stateify savable
type node struct {
// An internal binary tree node looks like:
//
@@ -1317,6 +1320,8 @@ func (n *node) writeDebugString(buf *bytes.Buffer, prefix string) {
// SegmentDataSlices represents segments from a set as slices of start, end, and
// values. SegmentDataSlices is primarily used as an intermediate representation
// for save/restore and the layout here is optimized for that.
+//
+// +stateify savable
type SegmentDataSlices struct {
Start []Key
End []Key